diff --git a/.yarn/cache/@popperjs-core-npm-2.11.8-f1692e11a0-4681e682ab.zip b/.yarn/cache/@popperjs-core-npm-2.11.8-f1692e11a0-4681e682ab.zip
new file mode 100644
index 0000000000..c1f19841c5
Binary files /dev/null and b/.yarn/cache/@popperjs-core-npm-2.11.8-f1692e11a0-4681e682ab.zip differ
diff --git a/.yarn/cache/cross-spawn-npm-7.0.5-cf92562a27-aa82ce7ac0.zip b/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-5738c31238.zip
similarity index 70%
rename from .yarn/cache/cross-spawn-npm-7.0.5-cf92562a27-aa82ce7ac0.zip
rename to .yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-5738c31238.zip
index 7d6812bc22..5860117c63 100644
Binary files a/.yarn/cache/cross-spawn-npm-7.0.5-cf92562a27-aa82ce7ac0.zip and b/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-5738c31238.zip differ
diff --git a/.yarn/cache/electron-to-chromium-npm-1.5.45-985999020d-f361ceda3b.zip b/.yarn/cache/electron-to-chromium-npm-1.5.43-ed44a171d1-d13f271f80.zip
similarity index 97%
rename from .yarn/cache/electron-to-chromium-npm-1.5.45-985999020d-f361ceda3b.zip
rename to .yarn/cache/electron-to-chromium-npm-1.5.43-ed44a171d1-d13f271f80.zip
index cf92f75375..71a5c267b0 100644
Binary files a/.yarn/cache/electron-to-chromium-npm-1.5.45-985999020d-f361ceda3b.zip and b/.yarn/cache/electron-to-chromium-npm-1.5.43-ed44a171d1-d13f271f80.zip differ
diff --git a/.yarn/cache/immutable-npm-5.0.2-d7d3c3ff6b-0d97ad9538.zip b/.yarn/cache/immutable-npm-5.0.3-c4195fd7f3-3269827789.zip
similarity index 95%
rename from .yarn/cache/immutable-npm-5.0.2-d7d3c3ff6b-0d97ad9538.zip
rename to .yarn/cache/immutable-npm-5.0.3-c4195fd7f3-3269827789.zip
index cf6ec85711..efdef9e8ff 100644
Binary files a/.yarn/cache/immutable-npm-5.0.2-d7d3c3ff6b-0d97ad9538.zip and b/.yarn/cache/immutable-npm-5.0.3-c4195fd7f3-3269827789.zip differ
diff --git a/.yarn/cache/sass-npm-1.80.4-604cd1b502-58ca0f2d10.zip b/.yarn/cache/sass-npm-1.80.3-4465a3ce7e-fa08043fc3.zip
similarity index 99%
rename from .yarn/cache/sass-npm-1.80.4-604cd1b502-58ca0f2d10.zip
rename to .yarn/cache/sass-npm-1.80.3-4465a3ce7e-fa08043fc3.zip
index daef1d513d..19c3b5d632 100644
Binary files a/.yarn/cache/sass-npm-1.80.4-604cd1b502-58ca0f2d10.zip and b/.yarn/cache/sass-npm-1.80.3-4465a3ce7e-fa08043fc3.zip differ
diff --git a/.yarn/cache/tippy.js-npm-6.3.7-424f946d38-ec3677beb8.zip b/.yarn/cache/tippy.js-npm-6.3.7-424f946d38-ec3677beb8.zip
new file mode 100644
index 0000000000..3fd943c16d
Binary files /dev/null and b/.yarn/cache/tippy.js-npm-6.3.7-424f946d38-ec3677beb8.zip differ
diff --git a/.yarn/cache/tldts-core-npm-6.1.58-647b54f6b2-aadb37cad8.zip b/.yarn/cache/tldts-core-npm-6.1.65-aeca149aeb-8e08eec0e8.zip
similarity index 74%
rename from .yarn/cache/tldts-core-npm-6.1.58-647b54f6b2-aadb37cad8.zip
rename to .yarn/cache/tldts-core-npm-6.1.65-aeca149aeb-8e08eec0e8.zip
index 7dc7619218..f51fc36d40 100644
Binary files a/.yarn/cache/tldts-core-npm-6.1.58-647b54f6b2-aadb37cad8.zip and b/.yarn/cache/tldts-core-npm-6.1.65-aeca149aeb-8e08eec0e8.zip differ
diff --git a/.yarn/cache/tldts-npm-6.1.58-95ddc97497-dc2c95cf84.zip b/.yarn/cache/tldts-npm-6.1.58-95ddc97497-dc2c95cf84.zip
deleted file mode 100644
index ddb37459bd..0000000000
Binary files a/.yarn/cache/tldts-npm-6.1.58-95ddc97497-dc2c95cf84.zip and /dev/null differ
diff --git a/.yarn/cache/tldts-npm-6.1.65-1214f6859c-47ee4d5efc.zip b/.yarn/cache/tldts-npm-6.1.65-1214f6859c-47ee4d5efc.zip
new file mode 100644
index 0000000000..9fcc48bdae
Binary files /dev/null and b/.yarn/cache/tldts-npm-6.1.65-1214f6859c-47ee4d5efc.zip differ
diff --git a/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip b/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip
new file mode 100644
index 0000000000..16bcd7a781
Binary files /dev/null and b/.yarn/cache/tslib-npm-2.8.1-66590b21b8-9c4759110a.zip differ
diff --git a/docs/_data/side-navigation.yml b/docs/_data/side-navigation.yml
index 3137a2544a..2203b75edc 100644
--- a/docs/_data/side-navigation.yml
+++ b/docs/_data/side-navigation.yml
@@ -49,6 +49,7 @@ first-level:
- page: Tags
- page: Taglines
- page: Text inputs
+ - page: Tooltips
third-level: []
nav-items: []
- heading: Patterns
diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js
index 6e2029db0c..8b47e594cf 100644
--- a/docs/assets/js/main.js
+++ b/docs/assets/js/main.js
@@ -11,6 +11,7 @@ import {
MaxHeightTransition,
MoveTransition,
} from '@cfpb/cfpb-design-system';
+import { Tooltip } from '@cfpb/cfpb-design-system/tooltips';
import Tabs from './tabs.js';
import redirectBanner from './redirect-banner.js';
import sidebar from './sidebar.js';
@@ -37,6 +38,7 @@ SummaryMinimal.init();
ExpandableGroup.init();
Expandable.init();
Multiselect.init();
+Tooltip.init();
// Exporting these classes to the window so that the transition-patterns.md
// page can use them in its code snippets.
diff --git a/docs/pages/tooltips.md b/docs/pages/tooltips.md
new file mode 100644
index 0000000000..8fbfa90b42
--- /dev/null
+++ b/docs/pages/tooltips.md
@@ -0,0 +1,91 @@
+---
+title: Tooltips
+collection_name: pages
+layout: variation
+section: components
+status: Beta
+description: A tooltip provides short, descriptive information when a user
+ hovers or focuses on an element. It contains helpful but non-critical
+ information and is useful in a space-constrained user interface.
+variation_groups:
+ - variations:
+ - variation_is_deprecated: false
+ variation_code_snippet: >-
+ The APR for the World Bank Platinum Credit Card is 9.7% {% include icons/help-round.svg
+ %}
+
+
+
+
This data is accurate as of June 2023
+
+ APRs change over time and are specific to the applicant. Check rates before applying.
+
+
+
+
+
+ variation_description: ''
+ variation_code_snippet_rendered: ''
+ variation_group_name: Standard tooltip
+ variation_group_description: ''
+guidelines: Be judicious in using tooltips and explore other design options that
+ keep content visible before choosing to use a tooltip. Only consider using a
+ tooltip for short, non-critical information in a space-constrained user
+ interface. Because a tooltip is hidden until activated, ensure content within
+ a tooltip is not essential for completing a task on the page. The tooltip
+ trigger element (usually a help icon) will be hidden for users with JavaScript
+ disabled. For more guidance, see the [USWDS tooltip
+ page](https://designsystem.digital.gov/components/tooltip/).
+eyebrow: Components
+behavior: >
+ - Activate a tooltip by hovering or focusing on a help (question mark) icon
+ situated next to text.
+
+ - Press the escape key to dismiss open tooltips.
+
+ - When a tooltip is at the edge of the user’s viewport, it should automatically reorient itself away from the edge of the screen to prevent content clipping.
+accessibility: As USWDS states, tooltips are progressive enhancements for the
+ title attribute and will display as the title attribute if the component
+ doesn’t initialize. When testing tooltips for accessibility, ensure they are
+ compliant with [USWDS tooltip accessibility
+ tests](https://designsystem.digital.gov/components/tooltip/accessibility-tests/).
+related_items: ''
+---
diff --git a/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css
new file mode 100644
index 0000000000..25c6614b58
--- /dev/null
+++ b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css
@@ -0,0 +1,3 @@
+@charset "UTF-8";html{font-family:sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201c" "\201d" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}figure{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}body{color:var(--black);font-family:var(--font-stack);font-size:100%;line-height:1.375;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:var(--font-stack)}input[type=date]{display:revert;min-width:100px;min-height:35px;padding-top:0;padding-bottom:0}input[type=date].a-text-input--full{min-width:100%}strong,b{font-weight:600}h1,h2,h3,h4,h5,h6{margin-top:0}h1,.h1{font-size:2.125em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.4411764706em}p+h1,ul+h1,ol+h1,dl+h1,figure+h1,img+h1,table+h1,blockquote+h1,p+.h1,ul+.h1,ol+.h1,dl+.h1,figure+.h1,img+.h1,table+.h1,blockquote+.h1{margin-top:1.7647058824em}@media only all and (max-width: 37.5em){p+h1,ul+h1,ol+h1,dl+h1,figure+h1,img+h1,table+h1,blockquote+h1,p+.h1,ul+.h1,ol+.h1,dl+.h1,figure+.h1,img+.h1,table+.h1,blockquote+.h1{margin-top:1.7307692308em}h2+h1,.h2+h1,h3+h1,.h3+h1,h4+h1,.h4+h1,h5+h1,.h5+h1,h6+h1,.h6+h1,h2+.h1,.h2+.h1,h3+.h1,.h3+.h1,h4+.h1,.h4+.h1,h5+.h1,.h5+.h1,h6+.h1,.h6+.h1{margin-top:1.1538461538em}}@media only all and (max-width: 37.5em){h1,.h1{font-size:1.625em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.5769230769em}p+h1,ul+h1,ol+h1,dl+h1,figure+h1,img+h1,table+h1,blockquote+h1,p+.h1,ul+.h1,ol+.h1,dl+.h1,figure+.h1,img+.h1,table+.h1,blockquote+.h1{margin-top:1.7307692308em}h1+h1,.h1+h1,h3+h1,.h3+h1,h4+h1,.h4+h1,h5+h1,.h5+h1,h6+h1,.h6+h1,h1+.h1,.h1+.h1,h3+.h1,.h3+.h1,h4+.h1,.h4+.h1,h5+.h1,.h5+.h1,h6+.h1,.h6+.h1{margin-top:1.1538461538em}}h2,.h2{font-size:1.625em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.5769230769em}p+h2,ul+h2,ol+h2,dl+h2,figure+h2,img+h2,table+h2,blockquote+h2,p+.h2,ul+.h2,ol+.h2,dl+.h2,figure+.h2,img+.h2,table+.h2,blockquote+.h2{margin-top:1.7307692308em}h1+h2,.h1+h2,h3+h2,.h3+h2,h4+h2,.h4+h2,h5+h2,.h5+h2,h6+h2,.h6+h2,h1+.h2,.h1+.h2,h3+.h2,.h3+.h2,h4+.h2,.h4+.h2,h5+.h2,.h5+.h2,h6+.h2,.h6+.h2{margin-top:1.1538461538em}@media only all and (max-width: 37.5em){p+h2,ul+h2,ol+h2,dl+h2,figure+h2,img+h2,table+h2,blockquote+h2,p+.h2,ul+.h2,ol+.h2,dl+.h2,figure+.h2,img+.h2,table+.h2,blockquote+.h2{margin-top:1.3636363636em}}@media only all and (max-width: 37.5em){h2,.h2{font-size:1.375em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+h2,ul+h2,ol+h2,dl+h2,figure+h2,img+h2,table+h2,blockquote+h2,h1+h2,.h1+h2,h2+h2,.h2+h2,h4+h2,.h4+h2,h5+h2,.h5+h2,h6+h2,.h6+h2,p+.h2,ul+.h2,ol+.h2,dl+.h2,figure+.h2,img+.h2,table+.h2,blockquote+.h2,h1+.h2,.h1+.h2,h2+.h2,.h2+.h2,h4+.h2,.h4+.h2,h5+.h2,.h5+.h2,h6+.h2,.h6+.h2{margin-top:1.3636363636em}}h3,.h3{font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+h3,ul+h3,ol+h3,dl+h3,figure+h3,img+h3,table+h3,blockquote+h3,h1+h3,.h1+h3,h2+h3,.h2+h3,h4+h3,.h4+h3,h5+h3,.h5+h3,h6+h3,.h6+h3,p+.h3,ul+.h3,ol+.h3,dl+.h3,figure+.h3,img+.h3,table+.h3,blockquote+.h3,h1+.h3,.h1+.h3,h2+.h3,.h2+.h3,h4+.h3,.h4+.h3,h5+.h3,.h5+.h3,h6+.h3,.h6+.h3{margin-top:1.3636363636em}@media only all and (max-width: 37.5em){h3,.h3{font-size:1.125em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.8333333333em}p+h3,ul+h3,ol+h3,dl+h3,figure+h3,img+h3,table+h3,blockquote+h3,h1+h3,.h1+h3,h2+h3,.h2+h3,h3+h3,.h3+h3,h5+h3,.h5+h3,h6+h3,.h6+h3,p+.h3,ul+.h3,ol+.h3,dl+.h3,figure+.h3,img+.h3,table+.h3,blockquote+.h3,h1+.h3,.h1+.h3,h2+.h3,.h2+.h3,h3+.h3,.h3+.h3,h5+.h3,.h5+.h3,h6+.h3,.h6+.h3{margin-top:1.6666666667em}}h4,.h4{font-size:1.125em;font-weight:500;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.8333333333em}p+h4,ul+h4,ol+h4,dl+h4,figure+h4,img+h4,table+h4,blockquote+h4,h1+h4,.h1+h4,h2+h4,.h2+h4,h3+h4,.h3+h4,h5+h4,.h5+h4,h6+h4,.h6+h4,p+.h4,ul+.h4,ol+.h4,dl+.h4,figure+.h4,img+.h4,table+.h4,blockquote+.h4,h1+.h4,.h1+.h4,h2+.h4,.h2+.h4,h3+.h4,.h3+.h4,h5+.h4,.h5+.h4,h6+.h4,.h6+.h4{margin-top:1.6666666667em}@media only all and (max-width: 37.5em){h4,.h4{margin-bottom:.625em;font-size:1em;line-height:1.125}}h5,.h5{font-size:.875em;font-weight:600;letter-spacing:1px;line-height:1.25;text-transform:uppercase;margin-bottom:1.0714285714em}p+h5,ul+h5,ol+h5,dl+h5,figure+h5,img+h5,table+h5,blockquote+h5,h1+h5,.h1+h5,h2+h5,.h2+h5,h3+h5,.h3+h5,h4+h5,.h4+h5,h6+h5,.h6+h5,p+.h5,ul+.h5,ol+.h5,dl+.h5,figure+.h5,img+.h5,table+.h5,blockquote+.h5,h1+.h5,.h1+.h5,h2+.h5,.h2+.h5,h3+.h5,.h3+.h5,h4+.h5,.h4+.h5,h6+.h5,.h6+.h5{margin-top:2.1428571429em}h6,.h6{font-size:.75em;font-weight:600;letter-spacing:1px;line-height:1.25;text-transform:uppercase;margin-bottom:1.25em}p+h6,ul+h6,ol+h6,dl+h6,figure+h6,img+h6,table+h6,blockquote+h6,h1+h6,.h1+h6,h2+h6,.h2+h6,h3+h6,.h3+h6,h4+h6,.h4+h6,h5+h6,.h5+h6,p+.h6,ul+.h6,ol+.h6,dl+.h6,figure+.h6,img+.h6,table+.h6,blockquote+.h6,h1+.h6,.h1+.h6,h2+.h6,.h2+.h6,h3+.h6,.h3+.h6,h4+.h6,.h4+.h6,h5+.h6,.h5+.h6{margin-top:2.5em}.lead-paragraph{margin-top:0;margin-bottom:15px;font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}@media only all and (max-width: 37.5em){.lead-paragraph{font-size:1.125em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}}.superheading{margin-bottom:.4166666667em;font-size:3em;font-weight:400;line-height:1.25}p,ul,ol,dl,figure,table,blockquote{margin-top:0;margin-bottom:.9375em}p:last-child,ul:last-child,ol:last-child,dl:last-child,figure:last-child,table:last-child,blockquote:last-child{margin-bottom:0}p+ul,p+ol{margin-top:-.3125em}ul ul,ol ol,ul ol,ol ul{margin-top:.5em}li{margin-bottom:.5em}li:last-child,nav li{margin-bottom:0}a{border-width:0;border-style:dotted;border-color:var(--pacific);color:var(--pacific);text-decoration:none}a:visited,a.visited{border-color:var(--teal);color:var(--teal)}a:hover,a.hover{border-style:solid;border-color:var(--pacific-dark);color:var(--pacific-dark)}a:focus,a.focus{border-style:solid;outline:thin dotted;outline-offset:1px}a:active,a.active{border-style:solid;border-color:var(--navy);color:var(--navy)}p a,li a,dd a{border-bottom-width:1px}nav a{border-bottom-width:0}ul{padding-left:1.125em;list-style:square}ul ul{list-style-type:circle}ol{padding-left:1.3125em}ol li:nth-last-child(n+10),ol li:nth-last-child(n+10)~li{margin-left:.5625rem}ol ol{list-style-type:lower-alpha}ol ol li{margin-left:0!important}ol ol ol{list-style-type:lower-roman}nav ul,nav ol,nav ul ul,nav ol ol{list-style:none;list-style-image:none}caption{margin-bottom:.625em;text-align:left}th,td{padding:.625em}thead th,thead td{padding:.7142857143em;background:var(--gray-5);color:var(--black);font-size:1em;vertical-align:top}thead,tbody tr{border-bottom:1px solid var(--gray)}th{font-weight:600;text-align:left}thead th h2,thead th .h2,thead th h3,thead th .h3,thead th h4,thead th .h4,thead th h5,thead th .h5,thead th h6,thead th .h6{margin:0;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit}blockquote{margin-right:.9375em;margin-left:.9375em}@media only all and (min-width: 37.5625em){blockquote{margin-right:1.875em;margin-left:1.875em}}img{max-width:100%}figure{margin-right:0;margin-left:0}figure img{vertical-align:middle}pre,code{background:var(--gray-5);border-radius:4px;color:var(--black);font-family:Input Mono,Consolas,Monaco,Courier New,monospace}code{padding:.2307692308em .2307692308em 0;font-size:.8125em}pre{display:block;padding:.625em .9375em;white-space:pre-wrap;overflow-wrap:break-word}pre code{padding:0;background-color:transparent}button.a-btn::-moz-focus-inner,input.a-btn::-moz-focus-inner{border:0}.a-btn{appearance:none;display:flex;gap:.625rem;box-sizing:border-box;padding:.5em .875em;border:0;margin:0;border-radius:.25em;cursor:pointer;font-size:1em;font-weight:500;line-height:normal;text-align:center;text-decoration:none;transition:background-color .1s;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;justify-content:center}.a-btn,.a-btn:link,.a-btn:visited{background-color:var(--pacific);color:var(--white)}.a-btn:hover,.a-btn.hover,.a-btn:focus,.a-btn.focus{background-color:var(--pacific-dark);color:var(--white)}.a-btn:focus,.a-btn.focus{outline:1px dotted var(--pacific);outline-offset:1px}.a-btn:active,.a-btn.active{background-color:var(--navy)}.a-btn--secondary,.a-btn--secondary:link,.a-btn--secondary:visited{background-color:var(--gray);color:var(--white)}.a-btn--secondary:hover,.a-btn--secondary.hover,.a-btn--secondary:focus,.a-btn--secondary.focus{background-color:var(--gray-dark)}.a-btn--secondary:focus,.a-btn--secondary.focus{outline-color:var(--gray)}.a-btn--secondary:active,.a-btn--secondary.active{background-color:var(--black)}.a-btn--warning,.a-btn--warning:link,.a-btn--warning:visited{background-color:var(--red-mid-dark);color:var(--white)}.a-btn--warning:hover,.a-btn--warning.hover,.a-btn--warning:focus,.a-btn--warning.focus{background-color:var(--red-dark)}.a-btn--warning:focus,.a-btn--warning.focus{outline-color:var(--red-mid-dark)}.a-btn--warning:active,.a-btn--warning.active{background-color:var(--gray-dark)}.a-btn--disabled,.a-btn--disabled:link,.a-btn--disabled:visited,.a-btn--disabled:hover,.a-btn--disabled.hover,.a-btn--disabled:focus,.a-btn--disabled.focus,.a-btn--disabled:active,.a-btn--disabled.active,.a-btn[disabled],.a-btn[disabled]:link,.a-btn[disabled]:visited,.a-btn[disabled]:hover,.a-btn[disabled].hover,.a-btn[disabled]:focus,.a-btn[disabled].focus,.a-btn[disabled]:active,.a-btn[disabled].active{background-color:var(--gray-20);color:var(--gray-dark);cursor:default;cursor:not-allowed}.a-btn--disabled:focus,.a-btn--disabled.focus,.a-btn[disabled]:focus,.a-btn[disabled].focus{outline-color:var(--gray-20)}@media only all and (max-width: 37.5em){.a-btn--full-on-xs{display:block;width:100%}}.a-btn:has(svg+span) span{order:3}.a-btn:has(span+svg) svg{order:3}.a-btn:not(.a-btn--hide-icon):has(svg+span):before,.a-btn:not(.a-btn--hide-icon):has(span+svg):before{content:"";border-left:1px solid var(--pacific-60);order:2;place-self:normal}.a-btn--secondary:has(svg):before{border-color:var(--gray-40)!important}.a-btn--warning:has(svg):before{border-color:var(--red-60)!important}.a-btn--disabled:has(svg):before,.a-btn[disabled]:has(svg):before{border-color:var(--gray-60)!important}.a-btn--hide-icon svg{display:none}.m-btn-group{display:flex;gap:.625rem;flex-wrap:wrap;align-items:center;width:-moz-fit-content;width:fit-content}.a-btn--link{padding:1.5px 0;border-radius:0;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-style:dotted;text-underline-offset:4.5px}.a-btn--link:has(svg){gap:.3125rem}.a-btn--link:has(svg):before{display:none}.a-btn--link,.a-btn--link:link,.a-btn--link:visited{text-decoration-color:var(--pacific);background-color:transparent;color:var(--pacific)}.a-btn--link:hover,.a-btn--link.hover{text-decoration-color:var(--pacific-dark);text-decoration-style:solid;background-color:transparent;color:var(--pacific-dark)}.a-btn--link:focus,.a-btn--link.focus{text-decoration-style:solid;background-color:transparent;outline:1px dotted var(--pacific);color:var(--pacific)}.a-btn--link:active,.a-btn--link.active{text-decoration-color:var(--navy);text-decoration-style:solid;background-color:transparent;color:var(--navy)}.a-btn--link.a-btn--secondary,.a-btn--link.a-btn--secondary:link,.a-btn--link.a-btn--secondary:visited{text-decoration-color:var(--gray);background-color:transparent;color:var(--gray)}.a-btn--link.a-btn--secondary:hover,.a-btn--link.a-btn--secondary.hover{text-decoration-color:var(--gray-dark);text-decoration-style:solid;background-color:transparent;color:var(--gray-dark)}.a-btn--link.a-btn--secondary:focus,.a-btn--link.a-btn--secondary.focus{text-decoration-style:solid;background-color:transparent;outline:1px dotted var(--gray);color:var(--gray)}.a-btn--link.a-btn--secondary:active,.a-btn--link.a-btn--secondary.active{text-decoration-color:var(--black);text-decoration-style:solid;background-color:transparent;color:var(--black)}.a-btn--link.a-btn--warning,.a-btn--link.a-btn--warning:link,.a-btn--link.a-btn--warning:visited{text-decoration-color:var(--red-mid-dark);background-color:transparent;color:var(--red-mid-dark)}.a-btn--link.a-btn--warning:hover,.a-btn--link.a-btn--warning.hover{text-decoration-color:var(--red-dark);text-decoration-style:solid;background-color:transparent;color:var(--red-dark)}.a-btn--link.a-btn--warning:focus,.a-btn--link.a-btn--warning.focus{text-decoration-style:solid;background-color:transparent;outline:1px dotted var(--red-mid-dark);color:var(--red-mid-dark)}.a-btn--link.a-btn--warning:active,.a-btn--link.a-btn--warning.active{text-decoration-color:var(--gray-dark);text-decoration-style:solid;background-color:transparent;color:var(--gray-dark)}.o-expandable{position:relative}.o-expandable__header{display:flex;justify-content:space-between;gap:10px;padding:.625em .9375em;border:0;background-color:transparent;cursor:pointer}.o-expandable__header:focus{outline:1px dotted var(--black);outline-offset:2px}.o-expandable__header .o-expandable__cue-close,.o-expandable__header .o-expandable__cue-open{display:none}.o-expandable__header[aria-expanded=false] .o-expandable__cue-open,.o-expandable__header[aria-expanded=true] .o-expandable__cue-close{display:block}.o-expandable button.o-expandable__header{width:100%;text-align:left}.o-expandable__label{flex-grow:1;margin-bottom:0;color:var(--black);font-weight:500}.o-expandable__icon,.o-expandable__label{font-size:1.125em}@media only all and (max-width: 37.5em){.o-expandable__icon,.o-expandable__label{font-size:1em}}.o-expandable__cues{align-self:center;color:var(--pacific);font-size:1em;line-height:1.375}.o-expandable__content{padding:0 .9375em .9375em}.o-expandable__content:before{content:"";display:block;border-top:1px solid var(--gray-40);padding-top:.9375em}.o-expandable__content:after{padding-bottom:.9375em;width:100%}.o-expandable--padded .o-expandable__header{padding:1.5625em .9375em}.o-expandable--padded .o-expandable__icon,.o-expandable--padded .o-expandable__label{font-size:1.625em}@media only all and (max-width: 37.5em){.o-expandable--padded .o-expandable__icon,.o-expandable--padded .o-expandable__label{font-size:1.375em}}.o-expandable--background{background:var(--gray-5)}.o-expandable--border{border:1px solid var(--gray-40)}html[lang=ar] .o-expandable__header{text-align:right}html[lang=ar] .o-expandable__cues{text-align:left}.o-expandable-group .o-expandable{border-bottom:1px solid var(--gray-40)}.o-expandable-group .o-expandable:first-child{border-top:1px solid var(--gray-40)}@media print{.o-expandable__header[aria-expanded=true] .o-expandable__cue-close,.o-expandable__header[aria-expanded=false] .o-expandable__cue-open{display:none}.o-expandable__content[aria-expanded=false]{display:block;max-height:99999px!important}}.o-expandable .print__header[aria-expanded=true] .o-expandable .print__cue-close,.o-expandable .print__header[aria-expanded=false] .o-expandable .print__cue-open{display:none}.o-expandable .print__content[aria-expanded=false]{display:block;max-height:99999px!important}.o-summary__content{overflow-y:hidden;padding:2px;left:-2px;top:-2px;position:relative}.o-summary__btn{position:relative;z-index:2;display:block;width:100%;padding-top:15px;padding-bottom:15px;border:dotted var(--pacific);border-width:1px 0;text-align:center;color:var(--pacific);background:#fff}.o-summary__btn:focus{outline:1px dotted var(--pacific);outline-offset:1px}.o-summary__btn[aria-expanded=false]:before{display:block;pointer-events:none;height:2.75em;margin:0;position:absolute;left:0;right:0;top:calc(-100% + 2px);background:linear-gradient(to bottom,#fff0,#fff);content:""}@media print{.o-summary__btn[aria-expanded=false]:before{background:none}}.o-summary__btn[aria-expanded=false]:before .print{background:none}.no-js .o-summary__btn{display:none}@media only screen and (min-width: 601px){.o-summary--mobile .o-summary__btn{display:none}}.o-summary-minimal__content{overflow-y:hidden;padding:2px;left:-2px;top:-2px;position:relative}.o-summary-minimal__btn{margin-top:5px;padding-left:0;padding-right:0;display:block;border:none;background:none;text-align:left;color:var(--pacific)}.o-summary-minimal__btn:focus{outline:1px dotted var(--pacific);outline-offset:1px}.o-summary-minimal__btn .o-summary-minimal__cue-close,.o-summary-minimal__btn .o-summary-minimal__cue-open{display:none}.o-summary-minimal__btn[aria-expanded=false] .o-summary-minimal__cue-open,.o-summary-minimal__btn[aria-expanded=true] .o-summary-minimal__cue-close{display:block}.no-js .o-summary-minimal__btn{display:none}.o-form__group{margin-bottom:1.875em}.o-form__fieldset{border:none;margin:0;padding:0}.o-form__fieldset .m-form-field+.m-form-field{margin-top:.625em}.a-form-alert .cf-icon-svg{color:var(--gray);float:left}.a-form-alert__text{display:block;margin-left:1.25em}.a-form-alert--success .cf-icon-svg{color:var(--green)}.a-form-alert--error .cf-icon-svg{color:var(--red)}.a-form-alert--warning .cf-icon-svg{color:var(--gold)}.m-form-field .a-text-input--full{width:100%}.m-form-field .a-label+.a-text-input{margin-top:.3125em}.m-form-field--checkbox .a-label,.m-form-field--radio .a-label{display:inline-grid;grid-template-columns:1.875em auto;vertical-align:top;cursor:pointer;overflow-wrap:anywhere}.m-form-field--checkbox .a-label:before,.m-form-field--radio .a-label:before{display:inline-block;grid-row-start:1;grid-row-end:3;border:1px solid var(--gray-60);height:1.125em;width:1.125em;margin-right:10px;background-color:var(--white);content:"";vertical-align:top;position:relative;top:1px;left:1px}.m-form-field--checkbox .a-label:hover:before,.m-form-field--checkbox .a-label.hover:before,.m-form-field--radio .a-label:hover:before,.m-form-field--radio .a-label.hover:before{border-color:var(--pacific)}.m-form-field--checkbox .a-label__helper,.m-form-field--radio .a-label__helper{display:block}.m-form-field--checkbox .a-checkbox,.m-form-field--checkbox .a-radio,.m-form-field--radio .a-checkbox,.m-form-field--radio .a-radio{position:absolute;width:1px;height:1px;border:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0)}.m-form-field--checkbox .a-checkbox:focus+.a-label,.m-form-field--checkbox .a-checkbox.focus+.a-label,.m-form-field--checkbox .a-radio:focus+.a-label,.m-form-field--checkbox .a-radio.focus+.a-label,.m-form-field--radio .a-checkbox:focus+.a-label,.m-form-field--radio .a-checkbox.focus+.a-label,.m-form-field--radio .a-radio:focus+.a-label,.m-form-field--radio .a-radio.focus+.a-label{outline:1px dotted var(--pacific);outline-offset:1px}.m-form-field--checkbox .a-checkbox:disabled:checked+.a-label:before,.m-form-field--checkbox .a-checkbox:disabled:focus+.a-label:before,.m-form-field--checkbox .a-checkbox:disabled.focus+.a-label:before,.m-form-field--checkbox .a-checkbox:disabled:hover+.a-label:before,.m-form-field--checkbox .a-checkbox:disabled.hover+.a-label:before,.m-form-field--checkbox .a-radio:disabled:checked+.a-label:before,.m-form-field--checkbox .a-radio:disabled:focus+.a-label:before,.m-form-field--checkbox .a-radio:disabled.focus+.a-label:before,.m-form-field--checkbox .a-radio:disabled:hover+.a-label:before,.m-form-field--checkbox .a-radio:disabled.hover+.a-label:before,.m-form-field--radio .a-checkbox:disabled:checked+.a-label:before,.m-form-field--radio .a-checkbox:disabled:focus+.a-label:before,.m-form-field--radio .a-checkbox:disabled.focus+.a-label:before,.m-form-field--radio .a-checkbox:disabled:hover+.a-label:before,.m-form-field--radio .a-checkbox:disabled.hover+.a-label:before,.m-form-field--radio .a-radio:disabled:checked+.a-label:before,.m-form-field--radio .a-radio:disabled:focus+.a-label:before,.m-form-field--radio .a-radio:disabled.focus+.a-label:before,.m-form-field--radio .a-radio:disabled:hover+.a-label:before,.m-form-field--radio .a-radio:disabled.hover+.a-label:before{border-color:var(--gray-60);outline:none;box-shadow:none}.m-form-field--checkbox .a-checkbox:disabled+.a-label,.m-form-field--checkbox .a-radio:disabled+.a-label,.m-form-field--radio .a-checkbox:disabled+.a-label,.m-form-field--radio .a-radio:disabled+.a-label{cursor:not-allowed;color:var(--gray-dark)}.m-form-field--checkbox .a-checkbox:disabled+.a-label:before,.m-form-field--checkbox .a-radio:disabled+.a-label:before,.m-form-field--radio .a-checkbox:disabled+.a-label:before,.m-form-field--radio .a-radio:disabled+.a-label:before{background:var(--gray-10);border-color:var(--gray-60)}.m-form-field--checkbox .a-checkbox:focus+.a-label:before,.m-form-field--checkbox .a-checkbox.focus+.a-label:before{border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific)}.m-form-field--checkbox .a-checkbox:hover+.a-label:before,.m-form-field--checkbox .a-checkbox.hover+.a-label:before{border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific)}.m-form-field--checkbox .a-checkbox:checked+.a-label:before{background-image:url('data:image/svg+xml;charset=UTF-8,');background-size:auto 1.1875em;background-repeat:no-repeat;background-position:center 0}.m-form-field--checkbox .a-checkbox:disabled:checked+.a-label:before{background-image:url('data:image/svg+xml;charset=UTF-8,')}.m-form-field--checkbox-error .a-label:before{border-color:var(--red);outline:1px solid var(--red)}.m-form-field--checkbox-error .a-label:hover:before,.m-form-field--checkbox-error .a-label.hover:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-error .a-checkbox:hover+.a-label:before,.m-form-field--checkbox-error .a-checkbox.hover+.a-label:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-error .a-checkbox:focus+.a-label:before,.m-form-field--checkbox-error .a-checkbox.focus+.a-label:before{border-color:var(--red);box-shadow:0 0 0 1px var(--red);outline-color:var(--red)}.m-form-field--checkbox-error .a-checkbox:focus+.a-label,.m-form-field--checkbox-error .a-checkbox.focus+.a-label{outline:1px dotted var(--red);outline-offset:1px}.m-form-field--checkbox-warning .a-label:before{border-color:var(--gold);outline:1px solid var(--gold)}.m-form-field--checkbox-warning .a-label:hover:before,.m-form-field--checkbox-warning .a-label.hover:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-warning .a-checkbox:hover+.a-label:before,.m-form-field--checkbox-warning .a-checkbox.hover+.a-label:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-warning .a-checkbox:focus+.a-label:before,.m-form-field--checkbox-warning .a-checkbox.focus+.a-label:before{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline-color:var(--gold)}.m-form-field--checkbox-warning .a-checkbox:focus+.a-label,.m-form-field--checkbox-warning .a-checkbox.focus+.a-label{outline:1px dotted var(--gold);outline-offset:1px}.m-form-field--checkbox-success .a-label:before{border-color:var(--green);outline:1px solid var(--green)}.m-form-field--checkbox-success .a-label:hover:before,.m-form-field--checkbox-success .a-label.hover:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-success .a-checkbox:hover+.a-label:before,.m-form-field--checkbox-success .a-checkbox.hover+.a-label:before{border-color:var(--pacific);outline-color:var(--pacific)}.m-form-field--checkbox-success .a-checkbox:focus+.a-label:before,.m-form-field--checkbox-success .a-checkbox.focus+.a-label:before{border-color:var(--green);box-shadow:0 0 0 1px var(--green);outline-color:var(--green)}.m-form-field--checkbox-success .a-checkbox:focus+.a-label,.m-form-field--checkbox-success .a-checkbox.focus+.a-label{outline:1px dotted var(--green);outline-offset:1px}.m-form-field--radio .a-label:before{border-radius:50%;transform:rotate(0)}.m-form-field--radio .a-radio:focus+.a-label:before,.m-form-field--radio .a-radio.focus+.a-label:before{outline:none;border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific)}.m-form-field--radio .a-radio:hover+.a-label:before,.m-form-field--radio .a-radio.hover+.a-label:before{outline:none;border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific)}.m-form-field--radio .a-radio:checked+.a-label:before{background-color:var(--pacific);box-shadow:inset 0 0 0 2px var(--white)}.m-form-field--radio .a-radio:checked:disabled+.a-label:before{background-color:var(--gray-40);box-shadow:inset 0 0 0 2px var(--gray-10)}.m-form-field--radio .a-radio:focus:checked+.a-label:before,.m-form-field--radio .a-radio.focus:checked+.a-label:before{border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific),inset 0 0 0 2px var(--white)}.m-form-field--radio .a-radio:hover:checked+.a-label:before,.m-form-field--radio .a-radio.hover:checked+.a-label:before{border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific),inset 0 0 0 2px var(--white)}.m-form-field--lg-target{display:block}.m-form-field--lg-target .a-label{box-sizing:border-box;width:100%;padding:15px;background-color:var(--gray-10)}.m-form-field--lg-target .a-checkbox:checked+.a-label,.m-form-field--lg-target .a-radio:checked+.a-label{background-color:var(--pacific-20);box-shadow:inset 0 0 0 1px var(--pacific)}.m-form-field--lg-target .a-checkbox:hover+.a-label,.m-form-field--lg-target .a-checkbox.hover+.a-label,.m-form-field--lg-target .a-checkbox:focus+.a-label,.m-form-field--lg-target .a-checkbox.focus+.a-label,.m-form-field--lg-target .a-radio:hover+.a-label,.m-form-field--lg-target .a-radio.hover+.a-label,.m-form-field--lg-target .a-radio:focus+.a-label,.m-form-field--lg-target .a-radio.focus+.a-label{box-shadow:inset 0 0 0 2px var(--pacific)}.m-form-field--lg-target .a-checkbox:focus+.a-label,.m-form-field--lg-target .a-checkbox.focus+.a-label,.m-form-field--lg-target .a-checkbox:checked+.a-label,.m-form-field--lg-target .a-radio:focus+.a-label,.m-form-field--lg-target .a-radio.focus+.a-label,.m-form-field--lg-target .a-radio:checked+.a-label{outline-offset:1px}.m-form-field--lg-target .a-checkbox:disabled+.a-label,.m-form-field--lg-target .a-checkbox:checked:disabled+.a-label,.m-form-field--lg-target .a-checkbox:hover:disabled+.a-label,.m-form-field--lg-target .a-radio:disabled+.a-label,.m-form-field--lg-target .a-radio:checked:disabled+.a-label,.m-form-field--lg-target .a-radio:hover:disabled+.a-label{color:var(--gray-dark);box-shadow:none;background-color:var(--gray-20)}.m-form-field--lg-target .a-checkbox:checked:disabled+.a-label,.m-form-field--lg-target .a-checkbox:checked:disabled+.a-label:before,.m-form-field--lg-target .a-radio:checked:disabled+.a-label,.m-form-field--lg-target .a-radio:checked:disabled+.a-label:before{border:1px solid var(--gray-60)}.m-form-field .a-form-alert{margin-top:.9375em}.a-label{display:inline-block}.a-label__helper{color:var(--gray-dark);font-size:1rem;font-weight:400}.a-label__helper--block{display:block;margin-top:.8333333333em}.a-label--heading{display:block;margin-bottom:.5555555556em;font-size:1.125em;font-weight:500;letter-spacing:inherit;line-height:1.25;text-transform:inherit}p+.a-label--heading,ul+.a-label--heading,ol+.a-label--heading,dl+.a-label--heading,figure+.a-label--heading,img+.a-label--heading,table+.a-label--heading,blockquote+.a-label--heading,h1+.a-label--heading,.h1+.a-label--heading,h2+.a-label--heading,.h2+.a-label--heading,h3+.a-label--heading,.h3+.a-label--heading,h5+.a-label--heading,.h5+.a-label--heading,h6+.a-label--heading,.h6+.a-label--heading{margin-top:1.6666666667em}@media only all and (max-width: 37.5em){.a-label--heading{margin-bottom:.625em;font-size:1em;line-height:1.125}}.a-label--heading .a-label__helper--block{margin-top:.625rem}.a-range{appearance:none;width:100%;min-height:49px}.a-range::-webkit-slider-runnable-track{height:.6875rem;width:100%;background-color:var(--gray-80);border:1px solid var(--gray-40);border-radius:8px;cursor:pointer}.a-range::-moz-range-track{height:.6875rem;width:100%;background-color:var(--gray-80);border:1px solid var(--gray-40);border-radius:8px;cursor:pointer}.a-range::-webkit-slider-thumb{height:2.8125rem;width:2.8125rem;margin-top:-1.125rem;appearance:none;border:1px solid var(--gray-40);border-radius:50%;background-color:var(--gray-10);cursor:pointer}.a-range::-moz-range-thumb{height:2.8125rem;width:2.8125rem;margin-top:-1.125rem;appearance:none;border:1px solid var(--gray-40);border-radius:50%;background-color:var(--gray-10);cursor:pointer}.a-range:focus,.a-range.focus{box-shadow:none;outline:none}.a-range:focus::-webkit-slider-thumb,.a-range.focus::-webkit-slider-thumb{background-color:var(--pacific-20);border:2px solid var(--pacific)}.a-range:focus::-moz-range-thumb,.a-range.focus::-moz-range-thumb{background-color:var(--pacific-20);border:2px solid var(--pacific)}.o-search-input{display:flex;flex-direction:column;row-gap:.9375rem}.o-search-input__input{position:relative;display:flex;width:initial;flex:0 1 100%}.o-search-input__input-label{position:absolute;left:10px;align-self:center;cursor:pointer}.o-search-input__input input[type=search]{width:100%;white-space:nowrap;padding-left:30px;appearance:none}.o-search-input__input button[type=reset]{display:none;position:absolute;right:0;align-self:center;color:var(--gray-40);font-size:20px;border:1px solid transparent;background-color:transparent;outline:0;width:44px;padding:5px;text-align:right}.o-search-input__input button[type=reset]>svg{width:25px;cursor:pointer;pointer-events:none}.o-search-input__input button[type=reset]:hover{color:var(--black)}.o-search-input__input button[type=reset]:focus{color:var(--black)}.o-search-input__input button[type=reset]:focus>svg{outline:1px dotted var(--pacific)}.o-search-input__input input[type=search]:placeholder-shown~button[type=reset]{display:none}.o-search-input__input input[type=search]:not(:placeholder-shown){padding-right:34px}.o-search-input__input input[type=search]::-webkit-search-decoration,.o-search-input__input input[type=search]::-webkit-search-cancel-button,.o-search-input__input input[type=search]::-webkit-search-results-button,.o-search-input__input input[type=search]::-webkit-search-results-decoration{display:none}.o-search-input:focus-within button[type=reset],.o-search-input .o-search-input__input:hover button[type=reset]{display:block}.o-search-input button[type=submit]{line-height:1.1875}@media only all and (min-width: 37.5625em){.o-search-input{flex-direction:row;border-left:0}.o-search-input button[type=submit]{border-top-left-radius:0;border-bottom-left-radius:0;flex-basis:25%}}.no-js .o-search-input button[type=reset]{display:none!important}.a-select{position:relative;border:1px solid var(--gray-60)}.a-select select{width:100%;line-height:1.375;padding:.4375em .375em .375em;border:0;appearance:none;background-color:var(--white);border-radius:0;color:var(--black)}.a-select select:hover,.a-select select.hover{outline:2px solid var(--pacific);outline-offset:0}.a-select select:active,.a-select select:focus,.a-select select.focus{box-shadow:0 0 0 2px var(--pacific);outline:1px dotted var(--pacific);outline-offset:3px}.a-select select[disabled]{color:var(--gray-dark);background-color:var(--gray-10);cursor:not-allowed}.a-select select[disabled]:hover,.a-select select[disabled].hover,.a-select select[disabled]:focus,.a-select select[disabled].focus{outline:none}.a-select select[disabled] option,.a-select select[disabled] option:disabled,.a-select select option:disabled{color:var(--gray-dark)}.a-select:after{width:2.1875em;box-sizing:border-box;border-left:1px solid var(--gray-60);position:absolute;top:0;right:0;bottom:0;background-color:var(--gray-10);background-image:url('data:image/svg+xml;charset=UTF-8,');background-size:auto 1.1875em;background-repeat:no-repeat;background-position:center center;content:"";pointer-events:none}.a-select--disabled:after{background-image:url('data:image/svg+xml;charset=UTF-8,')}.a-tag-filter{display:flex;gap:.625rem;border:1px solid var(--teal);padding:4px 6px;background-color:var(--teal-20);border-radius:.1875rem;color:var(--black);text-align:left;min-width:-moz-fit-content;min-width:fit-content}.a-tag-filter .cf-icon-svg{pointer-events:none;flex:none}.a-tag-filter>label{display:contents;pointer-events:none}button.a-tag-filter:hover{background-color:var(--teal-40);cursor:pointer}button.a-tag-filter:focus{outline:1px dotted var(--teal);outline-offset:1px}button.a-tag-filter:active{background-color:var(--teal)}a.a-tag-filter{line-height:normal;color:var(--black);border-color:var(--teal)}a.a-tag-filter:visited,a.a-tag-filter.visited,a.a-tag-filter:hover,a.a-tag-filter.hover{border-color:var(--teal);color:var(--black)}a.a-tag-filter:focus,a.a-tag-filter.focus{border-color:var(--teal);color:var(--black)}a.a-tag-filter:active,a.a-tag-filter.active{border-color:var(--teal);color:var(--black)}.a-tag-topic{display:flex;gap:.3125rem}.a-tag-topic{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--gold-80);letter-spacing:1px}.a-tag-topic .a-tag-topic__text{color:var(--gray);word-break:break-word}@media only all and (max-width: 37.5em){.a-tag-topic{position:relative;display:flex;align-items:center;gap:.3125rem;box-sizing:border-box;padding-top:.625em;padding-bottom:.625em;width:100%}.a-tag-topic .cf-icon-svg--right{margin-left:auto}.a-tag-topic .a-tag-topic__text{border-bottom-width:0;flex-shrink:10}}a.a-tag-topic{color:var(--gold-80);border-color:var(--gold-80)}a.a-tag-topic:visited,a.a-tag-topic.visited,a.a-tag-topic:hover,a.a-tag-topic.hover{border-color:var(--gold-80);color:var(--gold-80)}a.a-tag-topic:focus,a.a-tag-topic.focus{border-color:var(--gold-80);color:var(--gold-80)}a.a-tag-topic:active,a.a-tag-topic.active{border-color:var(--gold-80);color:var(--gold-80)}a.a-tag-topic .a-tag-topic__text{border-bottom-color:var(--gold-80)}@media only all and (max-width: 37.5em){a.a-tag-topic{border-top-width:1px;border-bottom-width:1px}a.a-tag-topic:focus{outline:none}a.a-tag-topic:focus:after{content:"";display:block;position:absolute;width:100%;height:100%;outline:1px dotted var(--gray);outline-offset:2px}}@media only all and (max-width: 37.5em){li:has(.a-tag-topic)+li:has(.a-tag-topic) .a-tag-topic{position:relative;border-top:none}li:has(.a-tag-topic)+li:has(.a-tag-topic) a.a-tag-topic:hover:before,li:has(.a-tag-topic)+li:has(.a-tag-topic) a.a-tag-topic:focus:before{position:absolute;top:-1px;content:"";display:block;height:1px;width:100%;border-top:1px solid currentcolor}}.a-tag-topic__bullet{font-size:1rem;line-height:1rem}@media only all and (min-width: 37.5625em){a.a-tag-topic__text{color:var(--gray);border-color:var(--gray)}a.a-tag-topic__text:visited,a.a-tag-topic__text.visited,a.a-tag-topic__text:hover,a.a-tag-topic__text.hover{border-color:var(--gray);color:var(--gray)}a.a-tag-topic__text:focus,a.a-tag-topic__text.focus{border-color:var(--gray);color:var(--gray)}a.a-tag-topic__text:active,a.a-tag-topic__text.active{border-color:var(--gray);color:var(--gray)}a.a-tag-topic,a.a-tag-topic:visited,a.a-tag-topic:hover,a.a-tag-topic:focus,a.a-tag-topic:active{border-bottom:none;outline-offset:1px}a.a-tag-topic .a-tag-topic__text,a.a-tag-topic:visited .a-tag-topic__text,a.a-tag-topic:hover .a-tag-topic__text,a.a-tag-topic:focus .a-tag-topic__text,a.a-tag-topic:active .a-tag-topic__text{padding-bottom:1px;border-bottom:1px dotted var(--gold-80)}a.a-tag-topic:hover .a-tag-topic__text{border-bottom:1px solid var(--gold-80)}a.a-tag-topic:focus{outline-color:var(--gray)}a.a-tag-topic:focus .a-tag-topic__text{border-bottom-style:solid!important}}.m-tag-group{padding-left:0;list-style-type:none}.m-tag-group li{margin-bottom:0;display:contents}@media only all and (min-width: 37.5625em){.m-tag-group{display:flex;gap:.9375em;flex-wrap:wrap}.m-tag-group--stacked{flex-direction:column;width:-moz-fit-content;width:fit-content}}.m-tag-group:has(.a-tag-filter){display:flex;gap:.9375em;flex-wrap:wrap}html[lang=ar] .m-tag-group{direction:rtl;padding-right:0}.a-text-input{appearance:none;display:inline-block;padding:.4375em;border:1px solid var(--gray-60);background:var(--white);color:var(--black);box-sizing:border-box}.a-text-input:hover,.a-text-input.hover{border-color:var(--pacific);outline:1px solid var(--pacific)}.a-text-input:focus,.a-text-input.focus{border-color:var(--pacific);box-shadow:0 0 0 1px var(--pacific);outline:1px dotted var(--pacific);outline-offset:2px}.a-text-input:disabled,.a-text-input:disabled:hover,.a-text-input:disabled.hover,.a-text-input:disabled:focus,.a-text-input:disabled.focus{color:var(--gray-dark);background-color:var(--gray-10);cursor:not-allowed;border-color:var(--gray-60);outline:none}.a-text-input--error{border-color:var(--red);outline:1px solid var(--red)}.a-text-input--error:hover,.a-text-input--error.hover{border-color:var(--red-dark);outline:1px solid var(--red-dark);outline-offset:0}.a-text-input--error:focus,.a-text-input--error.focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red);outline:1px dotted var(--red)}.a-text-input--error:focus:hover,.a-text-input--error:focus.hover,.a-text-input--error.focus:hover,.a-text-input--error.focus.hover{border-color:var(--red);box-shadow:0 0 0 1px var(--red);outline:1px dotted var(--red);outline-offset:2px}.a-text-input--warning{border-color:var(--gold);outline:1px solid var(--gold)}.a-text-input--warning:hover,.a-text-input--warning.hover{border-color:var(--gold-dark);outline:1px solid var(--gold-dark);outline-offset:0}.a-text-input--warning:focus,.a-text-input--warning.focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline:1px dotted var(--gold)}.a-text-input--warning:focus:hover,.a-text-input--warning:focus.hover,.a-text-input--warning.focus:hover,.a-text-input--warning.focus.hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);outline:1px dotted var(--gold);outline-offset:2px}.a-text-input--success{border-color:var(--green);outline:1px solid var(--green)}.a-text-input--success:hover,.a-text-input--success.hover{border-color:var(--green-dark);outline:1px solid var(--green-dark);outline-offset:0}.a-text-input--success:focus,.a-text-input--success.focus{border-color:var(--green);box-shadow:0 0 0 1px var(--green);outline:1px dotted var(--green)}.a-text-input--success:focus:hover,.a-text-input--success:focus.hover,.a-text-input--success.focus:hover,.a-text-input--success.focus.hover{border-color:var(--green);box-shadow:0 0 0 1px var(--green);outline:1px dotted var(--green);outline-offset:2px}::-webkit-search-decoration{appearance:none}::placeholder{color:var(--gray-dark)}input[type=date]::-webkit-datetime-edit{color:var(--gray-dark)}select.o-multiselect{display:block;box-sizing:border-box;width:100%;padding:.25em .4375em;height:5.5em;border:1px solid var(--gray-60)}select.o-multiselect option{padding:.125em .375em}.o-multiselect,.o-multiselect__header{position:relative}.o-multiselect__header:after{width:2.1875em;box-sizing:border-box;border-left:1px solid var(--gray-60);position:absolute;top:0;right:0;bottom:0;background-color:var(--gray-10);background-image:url('data:image/svg+xml;charset=UTF-8,');background-size:auto 1.1875em;background-repeat:no-repeat;background-position:center center;border:1px solid var(--gray-60);content:"";pointer-events:none}.o-multiselect__search[type=text]{display:block;box-sizing:border-box;width:100%}.o-multiselect__fieldset{border-color:var(--gray-60);border-top:none;margin:-1px 0 0;padding:0;box-sizing:border-box;overflow-x:hidden;overflow-y:scroll;position:absolute;z-index:10;max-height:0;width:100%;transition:max-height .25s ease-out}.o-multiselect.u-active .o-multiselect__fieldset{margin-top:0;max-height:140px;border-color:var(--pacific);border-width:2px;border-top:0}.o-multiselect.u-active .o-multiselect__header:after{background-image:url('data:image/svg+xml;charset=UTF-8,')}.o-multiselect__options{list-style-type:none;background-color:var(--white);padding:0}.o-multiselect__options li{margin:0}.o-multiselect__options li:first-child .a-label{padding-top:.625em}.o-multiselect__options.u-filtered li:not(.u-filter-match){display:none}.o-multiselect__options.u-no-results li,.o-multiselect__options.u-max-selections li{display:none}.o-multiselect__options.u-no-results:after,.o-multiselect__options.u-max-selections:after{display:list-item}.o-multiselect__options.u-no-results:after{content:"No results found"}.o-multiselect__options.u-max-selections{padding:.625em;pointer-events:none}.o-multiselect__options.u-max-selections:after{content:"Reached maximum number of selections"}.o-multiselect__options .a-label{box-sizing:border-box;padding:.3125em 0 .3125em .625em;width:100%}.cf-icon-svg{height:1.1875em;vertical-align:text-top;fill:currentcolor}.cf-icon-svg--updating,.cf-icon-svg--updating-round{animation:updating-animation 1.25s infinite linear;transform-origin:50% 50%}@keyframes updating-animation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}html[lang=ar] .cf-icon-svg--right,html[lang=ar] .cf-icon-svg--right-round,html[lang=ar] .cf-icon-svg--left,html[lang=ar] .cf-icon-svg--left-round,html[lang=ar] .cf-icon-svg--arrow-right,html[lang=ar] .cf-icon-svg--arrow-right-round,html[lang=ar] .cf-icon-svg--arrow-left,html[lang=ar] .cf-icon-svg--arrow-left-round,html[lang=ar] .cf-icon-svg--help,html[lang=ar] .cf-icon-svg--help-round,html[lang=ar] .cf-icon-svg--book,html[lang=ar] .cf-icon-svg--book-round,html[lang=ar] .cf-icon-svg--document,html[lang=ar] .cf-icon-svg--document-round,html[lang=ar] .cf-icon-svg--edit,html[lang=ar] .cf-icon-svg--edit-round,html[lang=ar] .cf-icon-svg--paper-clip,html[lang=ar] .cf-icon-svg--paper-clip-round,html[lang=ar] .cf-icon-svg--cart,html[lang=ar] .cf-icon-svg--cart-round,html[lang=ar] .cf-icon-svg--disability,html[lang=ar] .cf-icon-svg--disability-round,html[lang=ar] .cf-icon-svg--travel,html[lang=ar] .cf-icon-svg--travel-round,html[lang=ar] .cf-icon-svg--bullhorn,html[lang=ar] .cf-icon-svg--bullhorn-round,html[lang=ar] .cf-icon-svg--chart,html[lang=ar] .cf-icon-svg--chart-round,html[lang=ar] .cf-icon-svg--list,html[lang=ar] .cf-icon-svg--list-round,html[lang=ar] .cf-icon-svg--external-link,html[lang=ar] .cf-icon-svg--external-link-round{transform:scaleX(-1)}.m-card{position:relative}.m-card:not(.m-card--breakout)>a{padding:1.875em}.m-card:not(.m-card--breakout) .m-card__footer{margin-top:auto}.m-card:not(.m-card--breakout,.m-card--topic){background:var(--white);border:1px solid var(--gray-20);border-bottom-width:3px;padding:1.875em}.m-card:not(.m-card--breakout,.m-card--topic),.m-card>a{display:flex;flex-direction:column;flex-grow:1;flex-basis:0;box-sizing:border-box;height:100%}.m-card a:focus{outline-offset:2px}.m-card__footer>a{font-weight:500;border-bottom-width:1px}@media only all and (max-width: 56.3125em){.m-card__heading{font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+.m-card__heading,ul+.m-card__heading,ol+.m-card__heading,dl+.m-card__heading,figure+.m-card__heading,img+.m-card__heading,table+.m-card__heading,blockquote+.m-card__heading,h1+.m-card__heading,.h1+.m-card__heading,h2+.m-card__heading,.h2+.m-card__heading,h4+.m-card__heading,.h4+.m-card__heading,h5+.m-card__heading,.h5+.m-card__heading,h6+.m-card__heading,.h6+.m-card__heading{margin-top:1.3636363636em}}@media only all and (max-width: 56.3125em) and (max-width: 37.5em){.m-card__heading{font-size:1.125em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.8333333333em}p+.m-card__heading,ul+.m-card__heading,ol+.m-card__heading,dl+.m-card__heading,figure+.m-card__heading,img+.m-card__heading,table+.m-card__heading,blockquote+.m-card__heading,h1+.m-card__heading,.h1+.m-card__heading,h2+.m-card__heading,.h2+.m-card__heading,h3+.m-card__heading,.h3+.m-card__heading,h5+.m-card__heading,.h5+.m-card__heading,h6+.m-card__heading,.h6+.m-card__heading{margin-top:1.6666666667em}}.m-card__heading>a{color:var(--black)}.m-card__heading>a:hover{color:var(--pacific)}.m-card__heading>a .m-card__icon{font-size:1em;margin-bottom:0;padding-right:.46875em}.m-card__heading>a .m-card__icon,.m-card__heading>a span{display:table-cell}.m-card>.m-list{margin-top:10px;margin-bottom:30px}.m-card--topic{text-align:center;width:170px;background:var(--white)}.m-card--topic>a{border:1px solid var(--gray-20);border-bottom-width:3px}.m-card--topic .m-card__icon{font-size:1.875em;color:var(--green);margin-bottom:.3125em}.m-card--topic:hover>a{box-shadow:0 2px 0 0 inset var(--gray-20),2px 0 0 0 inset var(--gray-20),-2px 0 0 0 inset var(--gray-20)}.m-card--topic:hover:after{content:"";position:absolute;left:0;bottom:1px;height:5px;width:100%;background:var(--green)}.m-card--topic .m-card__footer>span{display:inline;border-width:0;border-bottom-width:1px;border-color:var(--pacific);border-style:dotted;font-weight:500;color:var(--pacific);text-decoration:none}.m-card--topic>a:visited .m-card__footer>span{border-color:var(--teal);color:var(--teal)}.m-card--topic:hover .m-card__footer>span{border-style:solid;border-color:var(--pacific-dark);color:var(--pacific-dark)}.m-card--topic>a:focus .m-card__footer>span{border-color:var(--pacific-dark);color:var(--pacific-dark)}.m-card--topic>a:active .m-card__footer>span{border-color:var(--pacific-dark);border-style:solid;color:var(--pacific-dark)}.m-card--topic-action .m-card__icon{color:var(--pacific)}.m-card--breakout{min-width:210px;text-align:center}.m-card--breakout>a{padding-top:60px}.m-card--breakout .m-card__inner-wrapper{position:relative;z-index:0;min-height:135px;background:var(--gray-5);border:1px solid var(--gray-20);border-bottom-width:3px}.m-card--breakout .m-card__img{position:absolute;z-index:1;top:0;left:50%;width:210px;height:120px;margin-left:-105px}.m-card--breakout .m-card__footer{margin-top:84px}.m-card--breakout:hover .m-card__inner-wrapper{box-shadow:0 2px 0 0 inset var(--gray-20),2px 0 0 0 inset var(--gray-20),-2px 0 0 0 inset var(--gray-20)}.m-card--breakout:hover:after{content:"";position:absolute;left:0;bottom:1px;height:5px;width:100%;background:var(--green)}.m-card--breakout .m-card__footer>span{display:inline;border-width:0;border-bottom-width:1px;border-color:var(--pacific);border-style:dotted;font-weight:500;color:var(--pacific);text-decoration:none}.m-card--breakout>a:visited .m-card__footer>span{border-color:var(--teal);color:var(--teal)}.m-card--breakout:hover .m-card__footer>span{border-style:solid;border-color:var(--pacific-dark);color:var(--pacific-dark)}.m-card--breakout>a:focus .m-card__footer>span{border-color:var(--pacific);color:var(--pacific)}.m-card--breakout>a:active .m-card__footer>span{border-color:var(--navy);border-style:solid;color:var(--navy)}.m-card--breakout .m-card__footer>span{font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+.m-card--breakout .m-card__footer>span,ul+.m-card--breakout .m-card__footer>span,ol+.m-card--breakout .m-card__footer>span,dl+.m-card--breakout .m-card__footer>span,figure+.m-card--breakout .m-card__footer>span,img+.m-card--breakout .m-card__footer>span,table+.m-card--breakout .m-card__footer>span,blockquote+.m-card--breakout .m-card__footer>span,h1+.m-card--breakout .m-card__footer>span,.h1+.m-card--breakout .m-card__footer>span,h2+.m-card--breakout .m-card__footer>span,.h2+.m-card--breakout .m-card__footer>span,h4+.m-card--breakout .m-card__footer>span,.h4+.m-card--breakout .m-card__footer>span,h5+.m-card--breakout .m-card__footer>span,.h5+.m-card--breakout .m-card__footer>span,h6+.m-card--breakout .m-card__footer>span,.h6+.m-card--breakout .m-card__footer>span{margin-top:1.3636363636em}.o-card-group>h2{margin-bottom:1.875rem}.o-card-group--column-2 .o-card-group__cards{grid-template-columns:1fr 1fr}.o-card-group--column-3 .o-card-group__cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media only all and (max-width: 63.8125em){.o-card-group--column-3 .o-card-group__cards{grid-template-columns:1fr 1fr}}.o-card-group__cards{display:grid;grid-column-gap:1.25em;grid-row-gap:1.25em}@media only all and (max-width: 37.5em){.o-card-group__cards{grid-template-columns:100%!important}}.o-card-group--bg-green{padding:1.875em;background:var(--green-20)}_:-ms-lang(x),.o-card-group__cards{display:block}_:-ms-lang(x) .m-card,.o-card-group__cards .m-card{display:block;float:left;margin-bottom:10px}_:-ms-lang(x) .o-card-group__cards .m-card,.o-card-group--column-2 .o-card-group__cards .m-card{width:48%;margin-right:2%}_:-ms-lang(x) .o-card-group__cards .m-card:last-child,.o-card-group--column-2 .o-card-group__cards .m-card:last-child{margin-right:0}_:-ms-lang(x) .o-card-group__cards .m-card,.o-card-group--column-3 .o-card-group__cards .m-card{width:32%;margin-right:1%}_:-ms-lang(x) .o-card-group__cards .m-card:last-child,.o-card-group--column-3 .o-card-group__cards .m-card:last-child{margin-right:0}_:-ms-lang(x),.o-card-group:after{content:"";display:table;clear:both}.o-card-group--count-2 .m-card:nth-of-type(1),.o-card-group--count-3 .m-card:nth-of-type(1),.o-card-group--count-4 .m-card:nth-of-type(1){grid-area:card1}.o-card-group--count-2 .m-card:nth-of-type(2),.o-card-group--count-3 .m-card:nth-of-type(2),.o-card-group--count-4 .m-card:nth-of-type(2){grid-area:card2}.o-card-group--count-2 .m-card:nth-of-type(3),.o-card-group--count-3 .m-card:nth-of-type(3),.o-card-group--count-4 .m-card:nth-of-type(3){grid-area:card3}.o-card-group--count-2 .m-card:nth-of-type(4),.o-card-group--count-3 .m-card:nth-of-type(4),.o-card-group--count-4 .m-card:nth-of-type(4){grid-area:card4}.o-card-group--count-2 .o-card-group__cards{grid-template-columns:1fr 1fr;grid-template-areas:"card1 card2"}.o-card-group--count-3 .o-card-group__cards{grid-template-columns:1fr 1fr;grid-template-areas:"card1 card2" "card1 card3"}.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{font-size:1.625em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.5769230769em}p+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ul+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ol+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,dl+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,figure+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,img+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,table+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,blockquote+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{margin-top:1.7307692308em}h1+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h1+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h3+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h3+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h4+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h4+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h5+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h5+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h6+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h6+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{margin-top:1.1538461538em}@media only all and (max-width: 37.5em){p+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ul+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ol+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,dl+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,figure+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,img+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,table+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,blockquote+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{margin-top:1.3636363636em}}@media only all and (max-width: 37.5em){.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{font-size:1.375em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ul+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,ol+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,dl+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,figure+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,img+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,table+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,blockquote+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h1+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h1+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h2+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h2+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h4+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h4+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h5+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h5+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,h6+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3,.h6+.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3{margin-top:1.3636363636em}}.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1)>a{justify-content:center}.o-card-group--count-4 .o-card-group__cards{grid-template-columns:1fr 1fr;grid-template-areas:"card1 card2" "card3 card4"}.o-card-group--flow .o-card-group__cards{display:flex;flex-wrap:wrap;justify-content:center}@media only all and (min-width: 37.5625em) and (max-width: 56.25em){.o-card-group--count-3 .o-card-group__cards{grid-template-columns:1fr 1fr;grid-template-areas:"card1 card1" "card2 card3"}}@media only all and (max-width: 37.5em){.o-card-group--count-2 .o-card-group__cards{grid-template-columns:1fr;grid-template-areas:"card1" "card2"}.o-card-group--count-3 .o-card-group__cards{grid-template-columns:1fr;grid-template-areas:"card1" "card2" "card3"}.o-card-group--count-4 .o-card-group__cards{grid-template-columns:1fr;grid-template-areas:"card1" "card2" "card3" "card4"}.o-card-group--flow .o-card-group__cards{display:block}.o-card-group--flow .o-card-group__cards .m-card{width:100%;margin-bottom:1.875em}}.o-email-signup .m-notification{margin-bottom:.9375em}.o-email-signup .a-text-input{max-width:23.125rem}.o-email-signup__buttons{display:flex;margin-top:.9375em;align-items:center;flex-wrap:wrap-reverse;gap:.9375em}.o-email-signup .a-btn{text-align:inherit}@media only all and (max-width: 37.5em){.o-email-signup .a-label--heading{font-size:1em}}.o-featured-content-module{min-height:220px;position:relative;border:1px solid var(--gray-40);background-color:var(--gray-5)}.o-featured-content-module__text{padding-top:1.875em;padding-bottom:1.875em}.o-featured-content-module__img{display:block}@media only all and (max-width: 37.5em){.o-featured-content-module__text{padding-right:.9375em;padding-left:.9375em}.o-featured-content-module__visual{padding-right:.9375em;padding-bottom:.9375em;padding-left:.9375em}.o-featured-content-module__img{margin-right:auto;margin-left:auto}}@media only all and (min-width: 37.5625em){.o-featured-content-module__text{padding-right:300px;padding-left:1.875em}.o-featured-content-module__visual{height:100%;overflow:hidden;position:absolute;top:0;right:0;width:270px}.o-featured-content-module__img{max-width:none;height:100%;position:absolute;left:50%;transform:translate(-50%)}}.m-hero{background-color:var(--gray-5)}.m-hero__wrapper{display:grid;max-width:1200px;margin:0 auto;padding-top:30px;padding-bottom:30px}.m-hero__text{padding-right:15px;padding-left:15px}.m-hero__heading{font-size:2.125em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.4411764706em}p+.m-hero__heading,ul+.m-hero__heading,ol+.m-hero__heading,dl+.m-hero__heading,figure+.m-hero__heading,img+.m-hero__heading,table+.m-hero__heading,blockquote+.m-hero__heading{margin-top:1.7647058824em}.m-hero__subhead{font-size:22px;line-height:1.25}.m-hero__image-wrapper{box-sizing:border-box;overflow:hidden}.m-hero__image{background-position:center;background-repeat:no-repeat;background-size:contain;width:100%;display:none}@supports (display: grid){.m-hero__image{display:block}}.m-hero--knockout{background-color:var(--gray);color:var(--white)}.m-hero--overlay .m-hero__wrapper{background-position:center;background-repeat:no-repeat;background-size:cover}.m-hero--jumbo,.m-hero--50-50{background-color:var(--white)}.m-hero--jumbo .m-hero__subhead,.m-hero--50-50 .m-hero__subhead{margin-top:0;margin-bottom:15px;font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}@media only all and (max-width: 37.5em){.m-hero--jumbo .m-hero__subhead,.m-hero--50-50 .m-hero__subhead{font-size:1.125em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}}@media only all and (min-width: 37.5625em){.m-hero--jumbo .m-hero__subhead,.m-hero--50-50 .m-hero__subhead{font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.6818181818em}p+.m-hero--jumbo .m-hero__subhead,ul+.m-hero--jumbo .m-hero__subhead,ol+.m-hero--jumbo .m-hero__subhead,dl+.m-hero--jumbo .m-hero__subhead,figure+.m-hero--jumbo .m-hero__subhead,img+.m-hero--jumbo .m-hero__subhead,table+.m-hero--jumbo .m-hero__subhead,blockquote+.m-hero--jumbo .m-hero__subhead,h1+.m-hero--jumbo .m-hero__subhead,.h1+.m-hero--jumbo .m-hero__subhead,h2+.m-hero--jumbo .m-hero__subhead,.h2+.m-hero--jumbo .m-hero__subhead,h4+.m-hero--jumbo .m-hero__subhead,.h4+.m-hero--jumbo .m-hero__subhead,h5+.m-hero--jumbo .m-hero__subhead,.h5+.m-hero--jumbo .m-hero__subhead,h6+.m-hero--jumbo .m-hero__subhead,.h6+.m-hero--jumbo .m-hero__subhead,p+.m-hero--50-50 .m-hero__subhead,ul+.m-hero--50-50 .m-hero__subhead,ol+.m-hero--50-50 .m-hero__subhead,dl+.m-hero--50-50 .m-hero__subhead,figure+.m-hero--50-50 .m-hero__subhead,img+.m-hero--50-50 .m-hero__subhead,table+.m-hero--50-50 .m-hero__subhead,blockquote+.m-hero--50-50 .m-hero__subhead,h1+.m-hero--50-50 .m-hero__subhead,.h1+.m-hero--50-50 .m-hero__subhead,h2+.m-hero--50-50 .m-hero__subhead,.h2+.m-hero--50-50 .m-hero__subhead,h4+.m-hero--50-50 .m-hero__subhead,.h4+.m-hero--50-50 .m-hero__subhead,h5+.m-hero--50-50 .m-hero__subhead,.h5+.m-hero--50-50 .m-hero__subhead,h6+.m-hero--50-50 .m-hero__subhead,.h6+.m-hero--50-50 .m-hero__subhead{margin-top:1.3636363636em}}@media only all and (min-width: 63.8125em){.m-hero--jumbo .m-hero__wrapper,.m-hero--50-50 .m-hero__wrapper{min-height:285px}.m-hero--jumbo .m-hero__heading,.m-hero--50-50 .m-hero__heading{margin-bottom:.4166666667em;font-size:3em;font-weight:400;line-height:1.25}.m-hero--jumbo .m-hero__subhead,.m-hero--50-50 .m-hero__subhead{font-size:1.625em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.5769230769em}p+.m-hero--jumbo .m-hero__subhead,ul+.m-hero--jumbo .m-hero__subhead,ol+.m-hero--jumbo .m-hero__subhead,dl+.m-hero--jumbo .m-hero__subhead,figure+.m-hero--jumbo .m-hero__subhead,img+.m-hero--jumbo .m-hero__subhead,table+.m-hero--jumbo .m-hero__subhead,blockquote+.m-hero--jumbo .m-hero__subhead,p+.m-hero--50-50 .m-hero__subhead,ul+.m-hero--50-50 .m-hero__subhead,ol+.m-hero--50-50 .m-hero__subhead,dl+.m-hero--50-50 .m-hero__subhead,figure+.m-hero--50-50 .m-hero__subhead,img+.m-hero--50-50 .m-hero__subhead,table+.m-hero--50-50 .m-hero__subhead,blockquote+.m-hero--50-50 .m-hero__subhead{margin-top:1.7307692308em}h1+.m-hero--jumbo .m-hero__subhead,.h1+.m-hero--jumbo .m-hero__subhead,h3+.m-hero--jumbo .m-hero__subhead,.h3+.m-hero--jumbo .m-hero__subhead,h4+.m-hero--jumbo .m-hero__subhead,.h4+.m-hero--jumbo .m-hero__subhead,h5+.m-hero--jumbo .m-hero__subhead,.h5+.m-hero--jumbo .m-hero__subhead,h6+.m-hero--jumbo .m-hero__subhead,.h6+.m-hero--jumbo .m-hero__subhead,h1+.m-hero--50-50 .m-hero__subhead,.h1+.m-hero--50-50 .m-hero__subhead,h3+.m-hero--50-50 .m-hero__subhead,.h3+.m-hero--50-50 .m-hero__subhead,h4+.m-hero--50-50 .m-hero__subhead,.h4+.m-hero--50-50 .m-hero__subhead,h5+.m-hero--50-50 .m-hero__subhead,.h5+.m-hero--50-50 .m-hero__subhead,h6+.m-hero--50-50 .m-hero__subhead,.h6+.m-hero--50-50 .m-hero__subhead{margin-top:1.1538461538em}}@media only all and (max-width: 37.5em){.m-hero__image-wrapper{margin-top:1.875em}.m-hero--overlay .m-hero__wrapper{background-image:none!important}.m-hero--jumbo .m-hero__wrapper{padding-bottom:0}}@media only all and (max-width: 56.25em){.m-hero__heading{font-size:1.625em;font-weight:600;letter-spacing:inherit;line-height:1.25;text-transform:inherit;margin-bottom:.5769230769em}p+.m-hero__heading,ul+.m-hero__heading,ol+.m-hero__heading,dl+.m-hero__heading,figure+.m-hero__heading,img+.m-hero__heading,table+.m-hero__heading,blockquote+.m-hero__heading{margin-top:1.7307692308em}h1+.m-hero__heading,.h1+.m-hero__heading,h3+.m-hero__heading,.h3+.m-hero__heading,h4+.m-hero__heading,.h4+.m-hero__heading,h5+.m-hero__heading,.h5+.m-hero__heading,h6+.m-hero__heading,.h6+.m-hero__heading{margin-top:1.1538461538em}.m-hero__subhead{font-size:18px}}@media only all and (min-width: 37.5625em){.m-hero__wrapper{grid-template-columns:7fr 5fr;padding-right:15px;padding-left:15px;min-height:225px}.m-hero__text{margin:auto 0}.m-hero__image-wrapper{padding-right:15px;padding-left:15px;display:flex;align-items:center}.m-hero--bleeding .m-hero__image-wrapper{width:100%;margin-top:-2.8125em;margin-bottom:-2.8125em}.m-hero--bleeding .m-hero__image{padding-bottom:0!important;height:100%;width:100%;background-size:cover}.m-hero--overlay .m-hero__image{display:none}.m-hero--jumbo .m-hero__wrapper{background-position:50%;background-repeat:no-repeat;background-size:cover}.m-hero--jumbo .m-hero__image{display:none}.m-hero--50-50 .m-hero__wrapper{grid-template-columns:1fr 1fr;border:1px solid var(--gray-40);border-top:none;background-position:100% center;background-repeat:no-repeat;background-size:50%}.m-hero--50-50 .m-hero__image{display:none}}@media only all and (min-width: 63.8125em){.m-hero__wrapper{padding-top:2.8125em;padding-bottom:2.8125em;min-height:195px}.m-hero--bleeding .m-hero__image-wrapper{margin-top:-2.8125em;margin-bottom:-2.8125em}.m-hero--50-50 .m-hero__wrapper{min-height:345px}}.content-l{position:relative}@media only all and (min-width: 37.5625em){.content-l{display:block;position:relative;margin-left:-15px;margin-right:-15px}}@media only all and (max-width: 37.5em){.content-l__col+.content-l__col{margin-top:1.875em}}@media only all and (min-width: 37.5625em){.content-l__col-1{display:inline-block;box-sizing:border-box;width:100%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-1-2{display:inline-block;box-sizing:border-box;width:50%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-1-3{display:inline-block;box-sizing:border-box;width:33.3333333333%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-2-3{display:inline-block;box-sizing:border-box;width:66.6666666667%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-3-8{display:inline-block;box-sizing:border-box;width:37.5%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-5-8{display:inline-block;box-sizing:border-box;width:62.5%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-1-4{display:inline-block;box-sizing:border-box;width:25%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content-l__col-3-4{display:inline-block;box-sizing:border-box;width:75%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}}.content__line{height:1px;background:var(--gray-40)}.content__main dd,.content__main dt,.content__main h3,.content__main h4,.content__main h5,.content__main h6,.content__main li,.content__main p,.content__main label,.content__intro dd,.content__intro dt,.content__intro h3,.content__intro h4,.content__intro h5,.content__intro h6,.content__intro li,.content__intro p,.content__intro label{max-width:41.875rem}.content__intro,.content__main,.content__sidebar{padding:1.875em .9375em}@media only all and (min-width: 37.5625em){.content__intro,.content__main,.content__sidebar{display:inline-block;box-sizing:border-box;width:100%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top;padding:2.8125em .9375em}}@media only all and (min-width: 56.3125em){.content__intro,.content__main,.content__sidebar{padding:2.8125em 0}}@media only all and (min-width: 56.3125em){.content__intro{display:inline-block;box-sizing:border-box;width:100%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}}@media only all and (min-width: 56.3125em){.content--1-3 .content__sidebar{display:inline-block;box-sizing:border-box;width:25%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top;padding-right:1.875em}.content--1-3 .content__main{display:inline-block;box-sizing:border-box;width:75%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top;position:relative}.content--1-3 .content__main:after{content:"";border-left:1px solid var(--gray-40);position:absolute;top:2.8125em;bottom:0;left:-1.875em}.content--2-1 .content__main{display:inline-block;box-sizing:border-box;width:66.6666666667%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top}.content--2-1 .content__main:after{right:-1.875em}.content--2-1 .content__sidebar{display:inline-block;box-sizing:border-box;width:33.3333333333%;border:solid transparent;border-width:0 15px;margin-right:-.25em;vertical-align:top;padding-left:1.875em}}.content--flush-bottom{padding-bottom:0}@media only all and (max-width: 56.25em){.content--flush-top-on-small{padding-top:0}}@media only all and (max-width: 56.25em){.content--flush-all-on-small{padding:0;border:none}}.block{margin-top:3.75em;margin-bottom:3.75em}.block--border-top{border-top:1px solid var(--gray-40)}.block--border-right{border-right:1px solid var(--gray-40)}.block--border-bottom{border-bottom:1px solid var(--gray-40)}.block--border-left{border-left:1px solid var(--gray-40)}.block--border{border:1px solid var(--gray-40)}.block--flush-top{margin-top:0!important}.block--flush-top.block--border,.block--flush-top.block--border-top{border-top:none}.block--flush-bottom{margin-bottom:0!important}.block--flush-bottom.block--border,.block--flush-bottom.block--border-bottom{border-bottom:none}.block--flush-sides{margin-right:-15px;margin-left:-15px}@media only all and (max-width: 37.5em){.block--flush-sides.block--border,.block--flush-sides.block--border-right,.block--flush-sides.block--border-left{border-right:none;border-left:none}}@media only all and (min-width: 37.5625em){.block--flush-sides{margin-right:-30px;margin-left:-30px}}.block--flush{margin-top:0!important;margin-right:-15px;margin-bottom:0!important;margin-left:-15px}.block--flush.block--border,.block--flush.block--border-top,.block--flush.block--border-bottom{border-top:none;border-bottom:none}@media only all and (max-width: 37.5em){.block--flush.block--border,.block--flush.block--border-right,.block--flush.block--border-left{border-right:none;border-left:none}}@media only all and (min-width: 37.5625em){.block--flush{margin-right:-30px;margin-left:-30px}}.block--bg{padding:1.875em .9375em 3.75em;background:var(--gray-5)}@media only all and (min-width: 37.5625em){.block--bg{padding:2.8125em 1.875em}}.block--padded-top{padding-top:1.875em;margin-top:1.875em}.block--padded-bottom{padding-bottom:1.875em;margin-bottom:1.875em}.block--sub{margin-top:1.875em;margin-bottom:1.875em}@media only all and (min-width: 56.3125em){.wrapper{max-width:1200px;padding-right:15px;padding-left:15px;margin:0 auto;clear:both}}.wrapper--match-content{padding-left:15px;padding-right:15px}@media only all and (min-width: 37.5625em){.wrapper--match-content{padding-left:30px;padding-right:30px;max-width:1200px}}.o-text-introduction{margin-top:0;margin-bottom:60px}.o-text-introduction>*{margin-top:0;margin-bottom:15px;max-width:41.875rem}.o-well{box-sizing:border-box;padding:1.875em .9375em;border:1px solid var(--gray-40);background-color:var(--gray-5)}@media only all and (min-width: 37.5625em){.o-well{padding-left:1.875em;padding-right:1.875em}}.o-banner{padding:.9375em 0;background:var(--gold-10);border-bottom:1px solid var(--gray-40);font-size:.875em}.o-banner .m-notification{border:none;padding:0}.o-banner .m-notification__icon{left:0;top:0}.o-banner--dark{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white)}.o-banner--dark .m-notification{background:var(--teal-dark)}.o-banner--dark .m-notification .cf-icon-svg{fill:var(--white)}.o-banner--dark .m-notification a{color:var(--white);border-color:var(--white)}.o-banner--dark .m-notification a:visited,.o-banner--dark .m-notification a.visited{border-color:var(--teal-40);color:var(--teal-40)}.o-banner--dark .m-notification a:hover,.o-banner--dark .m-notification a.hover{border-color:var(--gray-15);color:var(--gray-15)}.o-banner--dark .m-notification a:focus,.o-banner--dark .m-notification a.focus{border-color:var(--white);color:var(--white)}.o-banner--dark .m-notification a:active,.o-banner--dark .m-notification a.active{border-color:var(--gray-15);color:var(--gray-15)}@media only all and (min-width: 37.5625em){.o-banner{font-size:1em}}.m-notification{display:none;position:relative;padding:15px;background:var(--gray-5);border:1px solid var(--gray-40)}.m-notification>.cf-icon-svg{position:absolute;fill:var(--gray)}.m-notification--success{background:var(--green-10);border-color:var(--green)}.m-notification--success>.cf-icon-svg{fill:var(--green)}.m-notification--warning{background:var(--gold-10);border-color:var(--gold)}.m-notification--warning>.cf-icon-svg{fill:var(--gold)}.m-notification--error{background:var(--red-10);border-color:var(--red)}.m-notification--error>.cf-icon-svg{fill:var(--red)}.m-notification--success a,.m-notification--warning a,.m-notification--error a{color:var(--pacific-mid-dark);border-color:var(--pacific-mid-dark)}.m-notification--success a:visited,.m-notification--success a.visited,.m-notification--warning a:visited,.m-notification--warning a.visited,.m-notification--error a:visited,.m-notification--error a.visited{border-color:var(--teal);color:var(--teal)}.m-notification--success a:hover,.m-notification--success a.hover,.m-notification--warning a:hover,.m-notification--warning a.hover,.m-notification--error a:hover,.m-notification--error a.hover{border-color:var(--pacific-dark);color:var(--pacific-dark)}.m-notification--success a:focus,.m-notification--success a.focus,.m-notification--warning a:focus,.m-notification--warning a.focus,.m-notification--error a:focus,.m-notification--error a.focus{border-color:var(--pacific-mid-dark);color:var(--pacific-mid-dark)}.m-notification--success a:active,.m-notification--success a.active,.m-notification--warning a:active,.m-notification--warning a.active,.m-notification--error a:active,.m-notification--error a.active{border-color:var(--navy-dark);color:var(--navy-dark)}.m-notification--visible{display:block}.cf-icon-svg+.m-notification__content{padding-left:1.5625rem}.m-notification__message{font-size:1rem;line-height:1.25;font-weight:500}@media only all and (min-width: 37.5625em){.m-notification__message{font-size:1.125rem}}.m-notification__explanation{margin-top:.3125rem;margin-bottom:.9375rem}.m-notification__message+.m-list{margin-top:.9375rem}@media only all and (min-width: 37.5625em){.m-notification .cf-icon-svg{font-size:1.125rem}.m-notification__explanation{margin-bottom:0}.m-notification .m-list{margin-top:.3125rem}.m-notification .m-list__item{margin-bottom:.3125rem}}html[lang=ar] .m-notification .cf-icon-svg+.m-notification__content{padding-left:initial;padding-right:1.5625rem}html[lang=ar] .m-notification .m-list{padding-right:0}.m-pagination{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"pag-btn-prev . pag-btn-next" "pag-form pag-form pag-form";row-gap:.9375rem}.m-pagination__form{grid-area:pag-form;display:flex;flex-flow:wrap;place-content:center;gap:.625rem;padding:.3125rem;border-radius:.25rem;background:var(--gray-5);color:var(--gray)}.m-pagination__current-page{width:2.8125rem;font-weight:500;text-align:right}.m-pagination__label{display:contents;white-space:nowrap}.m-pagination__btn-prev{grid-area:pag-btn-prev;z-index:1}.m-pagination__btn-next{grid-area:pag-btn-next;z-index:1}@media only all and (min-width: 37.5625em){.m-pagination{grid-template-areas:"pag-btn-prev pag-form pag-btn-next"}.m-pagination__btn-prev{border-top-right-radius:0;border-bottom-right-radius:0}.m-pagination__btn-next{border-top-left-radius:0;border-bottom-left-radius:0}}.o-table__cell--right-align{text-align:right}.o-table--scrolling{box-sizing:border-box;overflow-y:hidden}.o-table--scrolling table{border:1px solid var(--gray-40)}.o-table--scrolling table>tbody>tr:nth-child(2n)>th,.o-table--scrolling table>tbody>tr:nth-child(2n)>td{background:var(--gray-5)}@media only all and (min-width: 37.5625em){.o-table--striped>tbody>tr:nth-child(2n)>th,.o-table--striped>tbody>tr:nth-child(2n)>td{background:var(--gray-5)}}@media only screen and (max-width: 600px){.o-table{width:100%}.o-table--striped tr:nth-child(2n)>th,.o-table--striped tr:nth-child(2n)>td{background:var(--white)}.o-table--stack-on-small{border-top:1px solid var(--gray-40)}.o-table--stack-on-small tr,.o-table--stack-on-small td,.o-table--stack-on-small [data-display-table=row],.o-table--stack-on-small [data-display-table=cell]{display:block}.o-table--stack-on-small th,.o-table--stack-on-small td,.o-table--stack-on-small [data-display-table=cell]{padding-right:0;padding-left:0;width:100%}.o-table--stack-on-small>thead,.o-table--stack-on-small [data-display-table=thead]{display:none}.o-table--stack-on-small td[data-label]:before{display:block;margin-top:0;margin-bottom:.3125em;content:attr(data-label);line-height:1.83333333;font-size:.875em;font-weight:600;letter-spacing:1px;text-transform:uppercase}.o-table--stack-on-small td:last-child,.o-table--stack-on-small [data-display-table=cell]:last-child{margin-bottom:1.875em}}.a-date{color:var(--gray);white-space:nowrap;font-size:.875em;font-weight:600;letter-spacing:1px;line-height:1.25;text-transform:uppercase;margin-bottom:1.0714285714em}p+.a-date,ul+.a-date,ol+.a-date,dl+.a-date,figure+.a-date,img+.a-date,table+.a-date,blockquote+.a-date,h1+.a-date,.h1+.a-date,h2+.a-date,.h2+.a-date,h3+.a-date,.h3+.a-date,h4+.a-date,.h4+.a-date,h6+.a-date,.h6+.a-date{margin-top:2.1428571429em}.no-js .u-js-only,.u-hide-if-js{display:none!important}.no-js .u-hide-if-js{display:block!important}.u-clearfix:after{content:"";display:table;clear:both}.u-visually-hidden{position:absolute;width:1px;height:1px;border:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0)}@media only all and (max-width: 37.5em){.u-hide-on-mobile{display:none}}.u-show-on-mobile{display:none}@media only all and (max-width: 37.5em){.u-show-on-mobile{display:block}}.u-hidden{display:none!important}.u-invisible{visibility:hidden}.u-right{float:right}.u-nowrap{white-space:nowrap}.u-flexible-container{position:relative;padding-bottom:56.25%;height:0}.u-flexible-container__inner{position:absolute;top:0;left:0;width:100%;height:100%}.u-flexible-container--4-3{position:relative;padding-bottom:75%;height:0}.u-mt0{margin-top:0!important}.u-mb0{margin-bottom:0!important}.u-mt5{margin-top:5px!important}.u-mb5{margin-bottom:5px!important}.u-mt10{margin-top:10px!important}.u-mb10{margin-bottom:10px!important}.u-mt15{margin-top:15px!important}.u-mb15{margin-bottom:15px!important}.u-mt20{margin-top:20px!important}.u-mb20{margin-bottom:20px!important}.u-mt30{margin-top:30px!important}.u-mb30{margin-bottom:30px!important}.u-mt45{margin-top:45px!important}.u-mb45{margin-bottom:45px!important}.u-mt60{margin-top:60px!important}.u-mb60{margin-bottom:60px!important}.u-w100pct{width:100%}.u-w90pct{width:90%}.u-w80pct{width:80%}.u-w70pct{width:70%}.u-w60pct{width:60%}.u-w50pct{width:50%}.u-w40pct{width:40%}.u-w30pct{width:30%}.u-w20pct{width:20%}.u-w10pct{width:10%}.u-w75pct{width:75%}.u-w65pct{width:65%}.u-w25pct{width:25%}.u-w15pct{width:15%}.u-w66pct{width:66.6666666667%}.u-w33pct{width:33.3333333333%}small,.u-small-text{font-size:.875em}small--subtle,.u-small-text--subtle{color:var(--gray)}.u-no-animation{transition-duration:0s!important}.u-move-transition{transition:transform .25s ease-out}.u-move-to-origin{transform:translateZ(0)}.u-move-left{transform:translate3d(-100%,0,0)}.u-move-left-2x{transform:translate3d(-200%,0,0)}.u-move-left-3x{transform:translate3d(-300%,0,0)}.u-move-right{transform:translate3d(100%,0,0)}.u-move-up{transform:translate3d(0,-100%,0)}.u-alpha-transition{transition:opacity .25s linear}.u-alpha-100{opacity:1}.u-alpha-0{opacity:0}.u-max-height-transition{overflow:hidden;contain:paint;transition:max-height .2s ease-out}.u-max-height-zero{max-height:0!important}.u-max-height-summary{max-height:88px!important}.a-link{border-bottom-width:0}.a-link .a-link__text{border-bottom-width:1px;border-bottom-style:inherit;overflow-wrap:break-word}.a-link--jump{font-weight:500}@media only all and (max-width: 37.5em){.a-link--jump{position:relative;display:flex;align-items:center;gap:.3125rem;box-sizing:border-box;padding-top:.625em;padding-bottom:.625em;width:100%}.a-link--jump .cf-icon-svg--right{margin-left:auto}.a-link--jump .a-link__text{border-bottom-width:0;flex-shrink:10}}a.a-link--jump{font-weight:500}@media only all and (max-width: 37.5em){a.a-link--jump{border-top-width:1px;border-bottom-width:1px}a.a-link--jump:focus{outline:none}a.a-link--jump:focus:after{content:"";display:block;position:absolute;width:100%;height:100%;outline:1px dotted var(--gray);outline-offset:2px}}@media only all and (max-width: 37.5em){li:has(.a-link--jump)+li:has(.a-link--jump) .a-link--jump{position:relative;border-top:none}li:has(.a-link--jump)+li:has(.a-link--jump) a.a-link--jump:hover:before,li:has(.a-link--jump)+li:has(.a-link--jump) a.a-link--jump:focus:before{position:absolute;top:-1px;content:"";display:block;height:1px;width:100%;border-top:1px solid currentcolor}}.m-list--unstyled,.m-list--horizontal,.m-list--links{padding-left:0;list-style-type:none}.m-list--unstyled .m-list__item,.m-list--horizontal .m-list__item,.m-list--links .m-list__item{margin-left:0}.m-list--spaced .m-list--spaced,.m-list--spaced .m-list__item+.m-list__item{margin-top:1.5em}.m-list--horizontal .m-list__item{display:inline-block;margin-right:.25em;margin-bottom:0}@media only all and (max-width: 37.5em){.m-list--links .m-list__item{margin-bottom:0}}html[lang=ar] .m-list{padding-right:0}.m-meta-header{display:flex;flex-direction:column-reverse;flex-wrap:wrap-reverse;row-gap:.625rem;column-gap:1.3125rem;width:-moz-fit-content;width:fit-content;padding-bottom:.625rem;overflow:hidden}.m-meta-header__item-group{display:flex;flex-wrap:wrap;column-gap:1.3125rem}.m-meta-header__item{display:grid;grid-template-columns:0 auto 1fr;row-gap:.3125rem;text-wrap:balance;margin-bottom:0;font-size:1.125em;font-weight:500;letter-spacing:inherit;line-height:1.25;text-transform:inherit}p+.m-meta-header__item,ul+.m-meta-header__item,ol+.m-meta-header__item,dl+.m-meta-header__item,figure+.m-meta-header__item,img+.m-meta-header__item,table+.m-meta-header__item,blockquote+.m-meta-header__item,h1+.m-meta-header__item,.h1+.m-meta-header__item,h2+.m-meta-header__item,.h2+.m-meta-header__item,h3+.m-meta-header__item,.h3+.m-meta-header__item,h5+.m-meta-header__item,.h5+.m-meta-header__item,h6+.m-meta-header__item,.h6+.m-meta-header__item{margin-top:1.6666666667em}@media only all and (max-width: 37.5em){.m-meta-header__item{margin-bottom:.625em;font-size:1em;line-height:1.125}}@media only all and (max-width: 37.5em){.m-meta-header__item{margin-bottom:.3125rem}}.m-meta-header__item .cf-icon-svg{margin-right:.3125rem}.m-meta-header__item:before{content:"|";margin-left:-.8125rem}.m-meta-header__item .a-date{font-size:.875rem;line-height:1.7142857143;margin-bottom:0}@media only all and (min-width: 37.5625em){.m-meta-header{flex-direction:row}}.m-pull-quote__body{color:var(--black);font-size:1.375em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}@media only all and (max-width: 37.5em){.m-pull-quote__body{font-size:1.125em;font-weight:400;letter-spacing:inherit;line-height:1.25;text-transform:inherit}}.m-pull-quote__citation{color:var(--gray);font-size:.875em;font-weight:600;letter-spacing:1px;line-height:1.25;text-transform:uppercase;margin-bottom:1.0714285714em}p+.m-pull-quote__citation,ul+.m-pull-quote__citation,ol+.m-pull-quote__citation,dl+.m-pull-quote__citation,figure+.m-pull-quote__citation,img+.m-pull-quote__citation,table+.m-pull-quote__citation,blockquote+.m-pull-quote__citation,h1+.m-pull-quote__citation,.h1+.m-pull-quote__citation,h2+.m-pull-quote__citation,.h2+.m-pull-quote__citation,h3+.m-pull-quote__citation,.h3+.m-pull-quote__citation,h4+.m-pull-quote__citation,.h4+.m-pull-quote__citation,h6+.m-pull-quote__citation,.h6+.m-pull-quote__citation{margin-top:2.1428571429em}.m-pull-quote__citation:before{content:"\2014"}.m-slug-header{border-top:1px solid var(--gray-40)}.m-slug-header__heading{display:inline-block;padding-top:.2857142857em;border-top:5px solid var(--green);margin-top:-3px;font-size:.875em;font-weight:600;letter-spacing:1px;line-height:1.25;text-transform:uppercase;margin-bottom:1.0714285714em}.a-tagline{font-size:.75rem;display:grid;grid-template-columns:22px 1fr;grid-column-gap:10px}.a-tagline__text{display:inline-block}.a-tagline .u-usa-flag{margin-top:1px}.a-tagline--large{font-size:1rem}.a-tagline--large .u-usa-flag{margin-top:4px}.u-usa-flag{display:inline-block;width:24px;height:13px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAZCAMAAABAf11LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5QTFRF////sxlC7MbQ2YyhxlNxCjFhR2WJV3GSKUt1dYumOFh/GT5rhZiwwszYsr/OlKW6Zn6c0djh8PL1iR9Ko7LE4OXrl0pttKC0pXWRtYKbSuJhRQAAANFJREFUeNrkkctuwyAUREnSuW/ApHYf//+jBVdZVcJi3aORgAXcMyLBAAJEzsVG3m8TkifyI3zfPQ6nJJLo421CArSBmkgjNEWtQE4zXJmClXuCWIlU5hdQxCqbqnE1KdIz79CVDvBwZxyKfQfmHTyzl01UZSvOWSTbhZLSWeDMufWLC/1ls3amT4qQq394EjIjApxBT+/nr8eEBNuKcB9SWMpmEXalNOylmlUZNTr4vE/4VdKhpC+leQf6y/e0wzL3RdJtkfUJyzwW+ZcdfgQYAJmJD3zerW6OAAAAAElFTkSuQmCC);background-size:contain;background-repeat:no-repeat}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}.tippy-box{border:1px transparent}.tippy-box[data-placement^=top]>.tippy-arrow:after{border-top-color:inherit;border-width:8px 8px 0;bottom:-8px;left:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:inherit;border-width:0 8px 8px;top:-8px;left:0}.tippy-box[data-placement^=left]>.tippy-arrow:after{border-left-color:inherit;border-width:8px 0 8px 8px;right:-8px;top:0}.tippy-box[data-placement^=right]>.tippy-arrow:after{border-width:8px 8px 8px 0;left:-8px;top:0;border-right-color:inherit}.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg:first-child:not(:last-child){top:17px}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg:first-child:not(:last-child){bottom:17px}.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg:first-child:not(:last-child){left:12px}.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg:first-child:not(:last-child){right:12px}.tippy-arrow{border-color:inherit}.tippy-arrow:after{content:"";z-index:-1;position:absolute;border-color:transparent;border-style:solid}.tippy-box[data-theme=cfpb]{background-color:var(--gray-5);border:1px solid var(--gray-40);border-radius:0;color:var(--black);padding:.9375rem}.tippy-box[data-theme=cfpb] .tippy-arrow{color:var(--gray-5)}.tippy-box[data-theme=cfpb] .tippy-heading{font-weight:500;font-size:1.125rem}.tippy-box[data-theme=cfpb] .tippy-body{font-size:1rem;margin-top:.9375rem}[data-tooltip]{cursor:pointer}.no-js [data-tooltip]{display:none}
+/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
+/*# sourceMappingURL=index.css.map */
diff --git a/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css.map b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css.map
new file mode 100644
index 0000000000..89c5311d51
--- /dev/null
+++ b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.css.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "sources": ["../../../../../packages/cfpb-design-system/src/base/normalize.scss", "../../../../../packages/cfpb-design-system/src/base/base.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-group.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-link.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable-group.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary-minimal.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form-alert.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form-field.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/label.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/range.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/search-input.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/select.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/tag.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/text-input.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-icons/icon.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/card.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/card-group.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/email-signup.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/featured-content-module.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/hero.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/layout.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/text-introduction.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/well.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-notifications/banner.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-notifications/notification.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-pagination/pagination.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-tables/table.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/date.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/link.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/list.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/meta-header.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/pull-quote.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/slug-header.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/tagline.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-tooltips/tooltip.scss"],
+ "sourcesContent": ["@charset \"UTF-8\";\n/*! normalize.css v2.1.3 | MIT License | git.io/normalize */\n/* ==========================================================================\n Base\n ========================================================================== */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif; /* 1 */\n -webkit-text-size-adjust: 100%;\n text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0;\n}\n\n/* ==========================================================================\n Links\n ========================================================================== */\n/**\n * Address `outline` inconsistency between Chrome and other browsers.\n */\na:focus {\n outline: thin dotted;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0;\n}\n\n/* ==========================================================================\n Typography\n ========================================================================== */\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Correct font family set oddly in Safari 5 and Chrome.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n font-size: 1em;\n}\n\n/**\n * Improve readability of pre-formatted text in all browsers.\n */\npre {\n white-space: pre-wrap;\n}\n\n/**\n * Set consistent quote types.\n */\nq {\n quotes: \"\u201C\" \"\u201D\" \"\u2018\" \"\u2019\";\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* ==========================================================================\n Figures\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\nfigure {\n margin: 0;\n}\n\n/* ==========================================================================\n Forms\n ========================================================================== */\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * 1. Correct font family not being inherited in all browsers.\n * 2. Correct font size not being inherited in all browsers.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\nbutton,\ninput,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\nbutton,\ninput {\n line-height: normal;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.\n * Correct `select` style inheritance in Firefox 4+ and Opera.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=button],\ninput[type=reset],\ninput[type=submit] {\n appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=checkbox],\ninput[type=radio] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome.\n */\ninput[type=search] {\n appearance: textfield; /* 1 */\n box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari 5 and Chrome\n * on OS X.\n */\ninput[type=search]::-webkit-search-cancel-button,\ninput[type=search]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * 1. Remove default vertical scrollbar in IE 8/9.\n * 2. Improve readability and alignment in all browsers.\n */\ntextarea {\n overflow: auto; /* 1 */\n vertical-align: top; /* 2 */\n}\n\n/* ==========================================================================\n Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\nbody {\n color: var(--black);\n font-family: var(--font-stack);\n font-size: 100%;\n line-height: 1.375;\n -webkit-font-smoothing: antialiased;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n font-family: var(--font-stack);\n}\n\n/*\n * On iOS Safari the input is collapsed till it's clicked.\n * This sets the default min width and height to what it would be if the\n * appearance was a textfield.\n */\ninput[type=date] {\n display: revert;\n min-width: 100px;\n min-height: 35px;\n padding-top: 0;\n padding-bottom: 0;\n}\ninput[type=date].a-text-input--full {\n min-width: 100%;\n}\n\nstrong,\nb {\n font-weight: 600;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n}\n\nh1,\n.h1 {\n font-size: 2.125em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.4411764706em;\n}\np + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\np + .h1,\nul + .h1,\nol + .h1,\ndl + .h1,\nfigure + .h1,\nimg + .h1,\ntable + .h1,\nblockquote + .h1 {\n margin-top: 1.7647058824em;\n}\n@media only all and (max-width: 37.5em) {\n p + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\n p + .h1,\n ul + .h1,\n ol + .h1,\n dl + .h1,\n figure + .h1,\n img + .h1,\n table + .h1,\n blockquote + .h1 {\n margin-top: 1.7307692308em;\n }\n h2 + h1, .h2 + h1, h3 + h1, .h3 + h1, h4 + h1, .h4 + h1, h5 + h1, .h5 + h1, h6 + h1, .h6 + h1,\n h2 + .h1,\n .h2 + .h1,\n h3 + .h1,\n .h3 + .h1,\n h4 + .h1,\n .h4 + .h1,\n h5 + .h1,\n .h5 + .h1,\n h6 + .h1,\n .h6 + .h1 {\n margin-top: 1.1538461538em;\n }\n}\n@media only all and (max-width: 37.5em) {\n h1,\n .h1 {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n }\n p + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\n p + .h1,\n ul + .h1,\n ol + .h1,\n dl + .h1,\n figure + .h1,\n img + .h1,\n table + .h1,\n blockquote + .h1 {\n margin-top: 1.7307692308em;\n }\n h1 + h1, .h1 + h1, h3 + h1, .h3 + h1, h4 + h1, .h4 + h1, h5 + h1, .h5 + h1, h6 + h1, .h6 + h1,\n h1 + .h1,\n .h1 + .h1,\n h3 + .h1,\n .h3 + .h1,\n h4 + .h1,\n .h4 + .h1,\n h5 + .h1,\n .h5 + .h1,\n h6 + .h1,\n .h6 + .h1 {\n margin-top: 1.1538461538em;\n }\n}\n\nh2,\n.h2 {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n}\np + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2,\np + .h2,\nul + .h2,\nol + .h2,\ndl + .h2,\nfigure + .h2,\nimg + .h2,\ntable + .h2,\nblockquote + .h2 {\n margin-top: 1.7307692308em;\n}\nh1 + h2, .h1 + h2, h3 + h2, .h3 + h2, h4 + h2, .h4 + h2, h5 + h2, .h5 + h2, h6 + h2, .h6 + h2,\nh1 + .h2,\n.h1 + .h2,\nh3 + .h2,\n.h3 + .h2,\nh4 + .h2,\n.h4 + .h2,\nh5 + .h2,\n.h5 + .h2,\nh6 + .h2,\n.h6 + .h2 {\n margin-top: 1.1538461538em;\n}\n@media only all and (max-width: 37.5em) {\n p + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2,\n p + .h2,\n ul + .h2,\n ol + .h2,\n dl + .h2,\n figure + .h2,\n img + .h2,\n table + .h2,\n blockquote + .h2 {\n margin-top: 1.3636363636em;\n }\n}\n@media only all and (max-width: 37.5em) {\n h2,\n .h2 {\n font-size: 1.375em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n }\n p + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2, h1 + h2, .h1 + h2, h2 + h2, .h2 + h2, h4 + h2, .h4 + h2, h5 + h2, .h5 + h2, h6 + h2, .h6 + h2,\n p + .h2,\n ul + .h2,\n ol + .h2,\n dl + .h2,\n figure + .h2,\n img + .h2,\n table + .h2,\n blockquote + .h2,\n h1 + .h2,\n .h1 + .h2,\n h2 + .h2,\n .h2 + .h2,\n h4 + .h2,\n .h4 + .h2,\n h5 + .h2,\n .h5 + .h2,\n h6 + .h2,\n .h6 + .h2 {\n margin-top: 1.3636363636em;\n }\n}\n\nh3,\n.h3 {\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n}\np + h3, ul + h3, ol + h3, dl + h3, figure + h3, img + h3, table + h3, blockquote + h3, h1 + h3, .h1 + h3, h2 + h3, .h2 + h3, h4 + h3, .h4 + h3, h5 + h3, .h5 + h3, h6 + h3, .h6 + h3,\np + .h3,\nul + .h3,\nol + .h3,\ndl + .h3,\nfigure + .h3,\nimg + .h3,\ntable + .h3,\nblockquote + .h3,\nh1 + .h3,\n.h1 + .h3,\nh2 + .h3,\n.h2 + .h3,\nh4 + .h3,\n.h4 + .h3,\nh5 + .h3,\n.h5 + .h3,\nh6 + .h3,\n.h6 + .h3 {\n margin-top: 1.3636363636em;\n}\n@media only all and (max-width: 37.5em) {\n h3,\n .h3 {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.8333333333em;\n }\n p + h3, ul + h3, ol + h3, dl + h3, figure + h3, img + h3, table + h3, blockquote + h3, h1 + h3, .h1 + h3, h2 + h3, .h2 + h3, h3 + h3, .h3 + h3, h5 + h3, .h5 + h3, h6 + h3, .h6 + h3,\n p + .h3,\n ul + .h3,\n ol + .h3,\n dl + .h3,\n figure + .h3,\n img + .h3,\n table + .h3,\n blockquote + .h3,\n h1 + .h3,\n .h1 + .h3,\n h2 + .h3,\n .h2 + .h3,\n h3 + .h3,\n .h3 + .h3,\n h5 + .h3,\n .h5 + .h3,\n h6 + .h3,\n .h6 + .h3 {\n margin-top: 1.6666666667em;\n }\n}\n\nh4,\n.h4 {\n font-size: 1.125em;\n font-weight: 500;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.8333333333em;\n}\np + h4, ul + h4, ol + h4, dl + h4, figure + h4, img + h4, table + h4, blockquote + h4, h1 + h4, .h1 + h4, h2 + h4, .h2 + h4, h3 + h4, .h3 + h4, h5 + h4, .h5 + h4, h6 + h4, .h6 + h4,\np + .h4,\nul + .h4,\nol + .h4,\ndl + .h4,\nfigure + .h4,\nimg + .h4,\ntable + .h4,\nblockquote + .h4,\nh1 + .h4,\n.h1 + .h4,\nh2 + .h4,\n.h2 + .h4,\nh3 + .h4,\n.h3 + .h4,\nh5 + .h4,\n.h5 + .h4,\nh6 + .h4,\n.h6 + .h4 {\n margin-top: 1.6666666667em;\n}\n@media only all and (max-width: 37.5em) {\n h4,\n .h4 {\n margin-bottom: 0.625em;\n font-size: 1em;\n line-height: 1.125;\n }\n}\n\nh5,\n.h5 {\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.0714285714em;\n}\np + h5, ul + h5, ol + h5, dl + h5, figure + h5, img + h5, table + h5, blockquote + h5, h1 + h5, .h1 + h5, h2 + h5, .h2 + h5, h3 + h5, .h3 + h5, h4 + h5, .h4 + h5, h6 + h5, .h6 + h5,\np + .h5,\nul + .h5,\nol + .h5,\ndl + .h5,\nfigure + .h5,\nimg + .h5,\ntable + .h5,\nblockquote + .h5,\nh1 + .h5,\n.h1 + .h5,\nh2 + .h5,\n.h2 + .h5,\nh3 + .h5,\n.h3 + .h5,\nh4 + .h5,\n.h4 + .h5,\nh6 + .h5,\n.h6 + .h5 {\n margin-top: 2.1428571429em;\n}\n\nh6,\n.h6 {\n font-size: 0.75em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.25em;\n}\np + h6, ul + h6, ol + h6, dl + h6, figure + h6, img + h6, table + h6, blockquote + h6, h1 + h6, .h1 + h6, h2 + h6, .h2 + h6, h3 + h6, .h3 + h6, h4 + h6, .h4 + h6, h5 + h6, .h5 + h6,\np + .h6,\nul + .h6,\nol + .h6,\ndl + .h6,\nfigure + .h6,\nimg + .h6,\ntable + .h6,\nblockquote + .h6,\nh1 + .h6,\n.h1 + .h6,\nh2 + .h6,\n.h2 + .h6,\nh3 + .h6,\n.h3 + .h6,\nh4 + .h6,\n.h4 + .h6,\nh5 + .h6,\n.h5 + .h6 {\n margin-top: 2.5em;\n}\n\n.lead-paragraph {\n margin-top: 0;\n margin-bottom: 15px;\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\n@media only all and (max-width: 37.5em) {\n .lead-paragraph {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n }\n}\n\n.superheading {\n margin-bottom: 0.4166666667em;\n font-size: 3em;\n font-weight: normal;\n line-height: 1.25;\n}\n\np,\nul,\nol,\ndl,\nfigure,\ntable,\nblockquote {\n margin-top: 0;\n margin-bottom: 0.9375em;\n}\np:last-child,\nul:last-child,\nol:last-child,\ndl:last-child,\nfigure:last-child,\ntable:last-child,\nblockquote:last-child {\n margin-bottom: 0;\n}\n\np + ul,\np + ol {\n margin-top: -0.3125em;\n}\n\nul ul,\nol ol,\nul ol,\nol ul {\n margin-top: 0.5em;\n}\n\nli {\n margin-bottom: 0.5em;\n}\nli:last-child, nav li {\n margin-bottom: 0;\n}\n\na {\n border-width: 0;\n border-style: dotted;\n border-color: var(--pacific);\n color: var(--pacific);\n text-decoration: none;\n}\na:visited, a.visited {\n border-color: var(--teal);\n color: var(--teal);\n}\na:hover, a.hover {\n border-style: solid;\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\na:focus, a.focus {\n border-style: solid;\n outline: thin dotted;\n outline-offset: 1px;\n}\na:active, a.active {\n border-style: solid;\n border-color: var(--navy);\n color: var(--navy);\n}\n\np a,\nli a,\ndd a {\n border-bottom-width: 1px;\n}\n\nnav a {\n border-bottom-width: 0;\n}\n\nul {\n padding-left: 1.125em;\n list-style: square;\n}\n\nul ul {\n list-style-type: circle;\n}\n\nol {\n padding-left: 1.3125em;\n}\nol li:nth-last-child(n+10),\nol li:nth-last-child(n+10) ~ li {\n margin-left: 0.5625rem;\n}\n\nol ol {\n list-style-type: lower-alpha;\n}\nol ol li {\n margin-left: 0 !important;\n}\n\nol ol ol {\n list-style-type: lower-roman;\n}\n\nnav ul,\nnav ol,\nnav ul ul,\nnav ol ol {\n list-style: none;\n list-style-image: none;\n}\n\ncaption {\n margin-bottom: 0.625em;\n text-align: left;\n}\n\nth,\ntd {\n padding: 0.625em;\n}\nthead th,\nthead td {\n padding: 0.7142857143em;\n background: var(--gray-5);\n color: var(--black);\n font-size: 1em;\n vertical-align: top;\n}\n\nthead,\ntbody tr {\n border-bottom: 1px solid var(--gray);\n}\n\nth {\n font-weight: 600;\n text-align: left;\n}\nthead th h2,\nthead th .h2,\nthead th h3,\nthead th .h3,\nthead th h4,\nthead th .h4,\nthead th h5,\nthead th .h5,\nthead th h6,\nthead th .h6 {\n margin: 0;\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n}\n\nblockquote {\n margin-right: 0.9375em;\n margin-left: 0.9375em;\n}\n@media only all and (min-width: 37.5625em) {\n blockquote {\n margin-right: 1.875em;\n margin-left: 1.875em;\n }\n}\n\nimg {\n max-width: 100%;\n}\n\nfigure {\n margin-right: 0;\n margin-left: 0;\n}\nfigure img {\n vertical-align: middle;\n}\n\npre,\ncode {\n background: var(--gray-5);\n border-radius: 4px;\n color: var(--black);\n font-family: \"Input Mono\", Consolas, Monaco, \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2307692308em 0.2307692308em 0;\n font-size: 0.8125em;\n}\n\npre {\n display: block;\n padding: 0.625em 0.9375em;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n}\npre code {\n padding: 0;\n background-color: transparent;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Button Styling\n ========================================================================== */\nbutton.a-btn::-moz-focus-inner,\ninput.a-btn::-moz-focus-inner {\n border: 0;\n}\n\n.a-btn {\n appearance: none;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n padding: 0.5em 0.875em;\n border: 0;\n margin: 0;\n border-radius: 0.25em;\n cursor: pointer;\n font-size: 1em;\n font-weight: 500;\n line-height: normal;\n text-align: center;\n text-decoration: none;\n transition: background-color 0.1s;\n width: -moz-fit-content;\n width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n justify-content: center;\n}\n.a-btn, .a-btn:link, .a-btn:visited {\n background-color: var(--pacific);\n color: var(--white);\n}\n.a-btn:hover, .a-btn.hover, .a-btn:focus, .a-btn.focus {\n background-color: var(--pacific-dark);\n color: var(--white);\n}\n.a-btn:focus, .a-btn.focus {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.a-btn:active, .a-btn.active {\n background-color: var(--navy);\n}\n.a-btn--secondary, .a-btn--secondary:link, .a-btn--secondary:visited {\n background-color: var(--gray);\n color: var(--white);\n}\n.a-btn--secondary:hover, .a-btn--secondary.hover, .a-btn--secondary:focus, .a-btn--secondary.focus {\n background-color: var(--gray-dark);\n}\n.a-btn--secondary:focus, .a-btn--secondary.focus {\n outline-color: var(--gray);\n}\n.a-btn--secondary:active, .a-btn--secondary.active {\n background-color: var(--black);\n}\n.a-btn--warning, .a-btn--warning:link, .a-btn--warning:visited {\n background-color: var(--red-mid-dark);\n color: var(--white);\n}\n.a-btn--warning:hover, .a-btn--warning.hover, .a-btn--warning:focus, .a-btn--warning.focus {\n background-color: var(--red-dark);\n}\n.a-btn--warning:focus, .a-btn--warning.focus {\n outline-color: var(--red-mid-dark);\n}\n.a-btn--warning:active, .a-btn--warning.active {\n background-color: var(--gray-dark);\n}\n.a-btn--disabled, .a-btn--disabled:link, .a-btn--disabled:visited, .a-btn--disabled:hover, .a-btn--disabled.hover, .a-btn--disabled:focus, .a-btn--disabled.focus, .a-btn--disabled:active, .a-btn--disabled.active, .a-btn[disabled], .a-btn[disabled]:link, .a-btn[disabled]:visited, .a-btn[disabled]:hover, .a-btn[disabled].hover, .a-btn[disabled]:focus, .a-btn[disabled].focus, .a-btn[disabled]:active, .a-btn[disabled].active {\n background-color: var(--gray-20);\n color: var(--gray-dark);\n cursor: default;\n cursor: not-allowed;\n}\n.a-btn--disabled:focus, .a-btn--disabled.focus, .a-btn[disabled]:focus, .a-btn[disabled].focus {\n outline-color: var(--gray-20);\n}\n@media only all and (max-width: 37.5em) {\n .a-btn--full-on-xs {\n display: block;\n width: 100%;\n }\n}\n.a-btn:has(svg + span) span {\n order: 3;\n}\n.a-btn:has(span + svg) svg {\n order: 3;\n}\n.a-btn:not(.a-btn--hide-icon):has(svg + span)::before, .a-btn:not(.a-btn--hide-icon):has(span + svg)::before {\n content: \"\";\n border-left: 1px solid var(--pacific-60);\n order: 2;\n place-self: normal;\n}\n.a-btn--secondary:has(svg)::before {\n border-color: var(--gray-40) !important;\n}\n.a-btn--warning:has(svg)::before {\n border-color: var(--red-60) !important;\n}\n.a-btn--disabled:has(svg)::before, .a-btn[disabled]:has(svg)::before {\n border-color: var(--gray-60) !important;\n}\n.a-btn--hide-icon svg {\n display: none;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-btn-group {\n display: flex;\n gap: 0.625rem;\n flex-wrap: wrap;\n align-items: center;\n width: -moz-fit-content;\n width: fit-content;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Button Styling\n ========================================================================== */\n/*\nLink text and underline.\n$v: Link link and visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n*/\n.a-btn--link {\n padding: 1.5px 0;\n border-radius: 0;\n text-decoration-line: underline;\n text-decoration-thickness: 1px;\n text-decoration-style: dotted;\n text-underline-offset: 4.5px;\n}\n.a-btn--link:has(svg) {\n gap: 0.3125rem;\n}\n.a-btn--link:has(svg)::before {\n display: none;\n}\n\n.a-btn--link, .a-btn--link:link, .a-btn--link:visited {\n text-decoration-color: var(--pacific);\n background-color: transparent;\n color: var(--pacific);\n}\n.a-btn--link:hover, .a-btn--link.hover {\n text-decoration-color: var(--pacific-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--pacific-dark);\n}\n.a-btn--link:focus, .a-btn--link.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--pacific);\n color: var(--pacific);\n}\n.a-btn--link:active, .a-btn--link.active {\n text-decoration-color: var(--navy);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--navy);\n}\n\n.a-btn--link.a-btn--secondary, .a-btn--link.a-btn--secondary:link, .a-btn--link.a-btn--secondary:visited {\n text-decoration-color: var(--gray);\n background-color: transparent;\n color: var(--gray);\n}\n.a-btn--link.a-btn--secondary:hover, .a-btn--link.a-btn--secondary.hover {\n text-decoration-color: var(--gray-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--gray-dark);\n}\n.a-btn--link.a-btn--secondary:focus, .a-btn--link.a-btn--secondary.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--gray);\n color: var(--gray);\n}\n.a-btn--link.a-btn--secondary:active, .a-btn--link.a-btn--secondary.active {\n text-decoration-color: var(--black);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--black);\n}\n\n.a-btn--link.a-btn--warning, .a-btn--link.a-btn--warning:link, .a-btn--link.a-btn--warning:visited {\n text-decoration-color: var(--red-mid-dark);\n background-color: transparent;\n color: var(--red-mid-dark);\n}\n.a-btn--link.a-btn--warning:hover, .a-btn--link.a-btn--warning.hover {\n text-decoration-color: var(--red-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--red-dark);\n}\n.a-btn--link.a-btn--warning:focus, .a-btn--link.a-btn--warning.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--red-mid-dark);\n color: var(--red-mid-dark);\n}\n.a-btn--link.a-btn--warning:active, .a-btn--link.a-btn--warning.active {\n text-decoration-color: var(--gray-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--gray-dark);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Expandable Styling\n ========================================================================== */\n.o-expandable {\n position: relative;\n}\n.o-expandable__header {\n display: flex;\n justify-content: space-between;\n gap: 10px;\n padding: 0.625em 0.9375em;\n border: 0;\n background-color: transparent;\n cursor: pointer;\n}\n.o-expandable__header:focus {\n outline: 1px dotted var(--black);\n outline-offset: 2px;\n}\n.o-expandable__header .o-expandable__cue-close,\n.o-expandable__header .o-expandable__cue-open {\n display: none;\n}\n.o-expandable__header[aria-expanded=false] .o-expandable__cue-open {\n display: block;\n}\n.o-expandable__header[aria-expanded=true] .o-expandable__cue-close {\n display: block;\n}\n.o-expandable button.o-expandable__header {\n width: 100%;\n text-align: left;\n}\n.o-expandable__label {\n flex-grow: 1;\n margin-bottom: 0;\n color: var(--black);\n font-weight: 500;\n}\n.o-expandable__icon, .o-expandable__label {\n font-size: 1.125em;\n}\n@media only all and (max-width: 37.5em) {\n .o-expandable__icon, .o-expandable__label {\n font-size: 1em;\n }\n}\n.o-expandable__cues {\n align-self: center;\n color: var(--pacific);\n font-size: 1em;\n line-height: 1.375;\n}\n.o-expandable__content {\n padding: 0.9375em;\n padding-top: 0;\n}\n.o-expandable__content::before {\n content: \"\";\n display: block;\n border-top: 1px solid var(--gray-40);\n padding-top: 0.9375em;\n}\n.o-expandable__content::after {\n padding-bottom: 0.9375em;\n width: 100%;\n}\n.o-expandable--padded .o-expandable__header {\n padding: 1.5625em 0.9375em;\n}\n.o-expandable--padded .o-expandable__icon, .o-expandable--padded .o-expandable__label {\n font-size: 1.625em;\n}\n@media only all and (max-width: 37.5em) {\n .o-expandable--padded .o-expandable__icon, .o-expandable--padded .o-expandable__label {\n font-size: 1.375em;\n }\n}\n.o-expandable--background {\n background: var(--gray-5);\n}\n.o-expandable--border {\n border: 1px solid var(--gray-40);\n}\n.o-expandable-group .o-expandable {\n border-bottom: 1px solid var(--gray-40);\n}\n.o-expandable-group .o-expandable:first-child {\n border-top: 1px solid var(--gray-40);\n}\n@media print {\n .o-expandable__header[aria-expanded=true] .o-expandable__cue-close, .o-expandable__header[aria-expanded=false] .o-expandable__cue-open {\n display: none;\n }\n .o-expandable__content[aria-expanded=false] {\n display: block;\n max-height: 99999px !important;\n }\n}\n.o-expandable .print__header[aria-expanded=true] .o-expandable .print__cue-close, .o-expandable .print__header[aria-expanded=false] .o-expandable .print__cue-open {\n display: none;\n}\n.o-expandable .print__content[aria-expanded=false] {\n display: block;\n max-height: 99999px !important;\n}\n\nhtml[lang=ar] .o-expandable__header {\n text-align: right;\n}\nhtml[lang=ar] .o-expandable__cues {\n text-align: left;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Expandable Group Styling\n ========================================================================== */\n.o-expandable-group .o-expandable {\n border-bottom: 1px solid var(--gray-40);\n}\n.o-expandable-group .o-expandable:first-child {\n border-top: 1px solid var(--gray-40);\n}\n@media print {\n .o-expandable__header[aria-expanded=true] .o-expandable__cue-close, .o-expandable__header[aria-expanded=false] .o-expandable__cue-open {\n display: none;\n }\n .o-expandable__content[aria-expanded=false] {\n display: block;\n max-height: 99999px !important;\n }\n}\n.o-expandable .print__header[aria-expanded=true] .o-expandable .print__cue-close, .o-expandable .print__header[aria-expanded=false] .o-expandable .print__cue-open {\n display: none;\n}\n.o-expandable .print__content[aria-expanded=false] {\n display: block;\n max-height: 99999px !important;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-summary__content {\n overflow-y: hidden;\n padding: 2px;\n left: -2px;\n top: -2px;\n position: relative;\n}\n.o-summary__btn {\n position: relative;\n z-index: 2;\n display: block;\n width: 100%;\n padding-top: 15px;\n padding-bottom: 15px;\n border: dotted var(--pacific);\n border-width: 1px 0;\n text-align: center;\n color: var(--pacific);\n background: #fff;\n}\n.o-summary__btn:focus {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.o-summary__btn[aria-expanded=false]::before {\n display: block;\n pointer-events: none;\n height: 2.75em;\n margin: 0;\n position: absolute;\n left: 0;\n right: 0;\n top: calc(-100% + 2px);\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);\n content: \"\";\n}\n@media print {\n .o-summary__btn[aria-expanded=false]::before {\n background: none;\n }\n}\n.o-summary__btn[aria-expanded=false]::before .print {\n background: none;\n}\n.no-js .o-summary__btn {\n display: none;\n}\n@media only screen and (min-width: 601px) {\n .o-summary--mobile .o-summary__btn {\n display: none;\n }\n}", ".o-summary-minimal__content {\n overflow-y: hidden;\n padding: 2px;\n left: -2px;\n top: -2px;\n position: relative;\n}\n.o-summary-minimal__btn {\n margin-top: 5px;\n padding-left: 0;\n padding-right: 0;\n display: block;\n border: none;\n background: none;\n text-align: left;\n color: var(--pacific);\n}\n.o-summary-minimal__btn:focus {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.o-summary-minimal__btn .o-summary-minimal__cue-close,\n.o-summary-minimal__btn .o-summary-minimal__cue-open {\n display: none;\n}\n.o-summary-minimal__btn[aria-expanded=false] .o-summary-minimal__cue-open {\n display: block;\n}\n.o-summary-minimal__btn[aria-expanded=true] .o-summary-minimal__cue-close {\n display: block;\n}\n.no-js .o-summary-minimal__btn {\n display: none;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-form__group {\n margin-bottom: 1.875em;\n}\n.o-form__fieldset {\n border: none;\n margin: 0;\n padding: 0;\n}\n.o-form__fieldset .m-form-field + .m-form-field {\n margin-top: 0.625em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-form-alert .cf-icon-svg {\n color: var(--gray);\n float: left;\n}\n.a-form-alert__text {\n display: block;\n margin-left: 1.25em;\n}\n.a-form-alert--success .cf-icon-svg {\n color: var(--green);\n}\n.a-form-alert--error .cf-icon-svg {\n color: var(--red);\n}\n.a-form-alert--warning .cf-icon-svg {\n color: var(--gold);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.m-form-field .a-text-input--full {\n width: 100%;\n}\n.m-form-field .a-label + .a-text-input {\n margin-top: 0.3125em;\n}\n.m-form-field--checkbox .a-label, .m-form-field--radio .a-label {\n /* autoprefixer: ignore next */\n display: inline-grid;\n grid-template-columns: 1.875em auto;\n vertical-align: top;\n cursor: pointer;\n overflow-wrap: anywhere;\n}\n.m-form-field--checkbox .a-label::before, .m-form-field--radio .a-label::before {\n display: inline-block;\n grid-row-start: 1;\n grid-row-end: 3;\n border: 1px solid var(--gray-60);\n height: 1.125em;\n width: 1.125em;\n margin-right: 10px;\n background-color: var(--white);\n content: \"\";\n vertical-align: top;\n position: relative;\n top: 1px;\n left: 1px;\n}\n.m-form-field--checkbox .a-label:hover::before, .m-form-field--checkbox .a-label.hover::before, .m-form-field--radio .a-label:hover::before, .m-form-field--radio .a-label.hover::before {\n border-color: var(--pacific);\n}\n.m-form-field--checkbox .a-label__helper, .m-form-field--radio .a-label__helper {\n display: block;\n}\n.m-form-field--checkbox .a-checkbox,\n.m-form-field--checkbox .a-radio, .m-form-field--radio .a-checkbox,\n.m-form-field--radio .a-radio {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n.m-form-field--checkbox .a-checkbox:focus + .a-label, .m-form-field--checkbox .a-checkbox.focus + .a-label,\n.m-form-field--checkbox .a-radio:focus + .a-label,\n.m-form-field--checkbox .a-radio.focus + .a-label, .m-form-field--radio .a-checkbox:focus + .a-label, .m-form-field--radio .a-checkbox.focus + .a-label,\n.m-form-field--radio .a-radio:focus + .a-label,\n.m-form-field--radio .a-radio.focus + .a-label {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.m-form-field--checkbox .a-checkbox:disabled:checked + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled:focus + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled.focus + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled:hover + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled.hover + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:checked + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:focus + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled.focus + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:hover + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled.hover + .a-label::before, .m-form-field--radio .a-checkbox:disabled:checked + .a-label::before, .m-form-field--radio .a-checkbox:disabled:focus + .a-label::before, .m-form-field--radio .a-checkbox:disabled.focus + .a-label::before, .m-form-field--radio .a-checkbox:disabled:hover + .a-label::before, .m-form-field--radio .a-checkbox:disabled.hover + .a-label::before,\n.m-form-field--radio .a-radio:disabled:checked + .a-label::before,\n.m-form-field--radio .a-radio:disabled:focus + .a-label::before,\n.m-form-field--radio .a-radio:disabled.focus + .a-label::before,\n.m-form-field--radio .a-radio:disabled:hover + .a-label::before,\n.m-form-field--radio .a-radio:disabled.hover + .a-label::before {\n border-color: var(--gray-60);\n outline: none;\n box-shadow: none;\n}\n.m-form-field--checkbox .a-checkbox:disabled + .a-label,\n.m-form-field--checkbox .a-radio:disabled + .a-label, .m-form-field--radio .a-checkbox:disabled + .a-label,\n.m-form-field--radio .a-radio:disabled + .a-label {\n cursor: not-allowed;\n color: var(--gray-dark);\n}\n.m-form-field--checkbox .a-checkbox:disabled + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled + .a-label::before, .m-form-field--radio .a-checkbox:disabled + .a-label::before,\n.m-form-field--radio .a-radio:disabled + .a-label::before {\n background: var(--gray-10);\n border-color: var(--gray-60);\n}\n.m-form-field--checkbox .a-checkbox:focus + .a-label::before, .m-form-field--checkbox .a-checkbox.focus + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--checkbox .a-checkbox:hover + .a-label::before, .m-form-field--checkbox .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--checkbox .a-checkbox:checked + .a-label::before {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n background-size: auto 1.1875em;\n background-repeat: no-repeat;\n background-position: center 0;\n}\n.m-form-field--checkbox .a-checkbox:disabled:checked + .a-label::before {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n.m-form-field--checkbox-error .a-label::before {\n border-color: var(--red);\n outline: 1px solid var(--red);\n}\n.m-form-field--checkbox-error .a-label:hover::before, .m-form-field--checkbox-error .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-error .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-error .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-error .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-error .a-checkbox.focus + .a-label::before {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline-color: var(--red);\n}\n.m-form-field--checkbox-error .a-checkbox:focus + .a-label, .m-form-field--checkbox-error .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--red);\n outline-offset: 1px;\n}\n.m-form-field--checkbox-warning .a-label::before {\n border-color: var(--gold);\n outline: 1px solid var(--gold);\n}\n.m-form-field--checkbox-warning .a-label:hover::before, .m-form-field--checkbox-warning .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-warning .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-warning .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-warning .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-warning .a-checkbox.focus + .a-label::before {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline-color: var(--gold);\n}\n.m-form-field--checkbox-warning .a-checkbox:focus + .a-label, .m-form-field--checkbox-warning .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--gold);\n outline-offset: 1px;\n}\n.m-form-field--checkbox-success .a-label::before {\n border-color: var(--green);\n outline: 1px solid var(--green);\n}\n.m-form-field--checkbox-success .a-label:hover::before, .m-form-field--checkbox-success .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-success .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-success .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-success .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-success .a-checkbox.focus + .a-label::before {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline-color: var(--green);\n}\n.m-form-field--checkbox-success .a-checkbox:focus + .a-label, .m-form-field--checkbox-success .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--green);\n outline-offset: 1px;\n}\n.m-form-field--radio .a-label::before {\n border-radius: 50%;\n /* The rotate is needed to fix a bug in Firefox where radio\n button was not centered. */\n transform: rotate(0deg);\n}\n.m-form-field--radio .a-radio:focus + .a-label::before, .m-form-field--radio .a-radio.focus + .a-label::before {\n outline: none;\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--radio .a-radio:hover + .a-label::before, .m-form-field--radio .a-radio.hover + .a-label::before {\n outline: none;\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--radio .a-radio:checked + .a-label::before {\n background-color: var(--pacific);\n box-shadow: inset 0 0 0 2px var(--white);\n}\n.m-form-field--radio .a-radio:checked:disabled + .a-label::before {\n background-color: var(--gray-40);\n box-shadow: inset 0 0 0 2px var(--gray-10);\n}\n.m-form-field--radio .a-radio:focus:checked + .a-label::before, .m-form-field--radio .a-radio.focus:checked + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific), inset 0 0 0 2px var(--white);\n}\n.m-form-field--radio .a-radio:hover:checked + .a-label::before, .m-form-field--radio .a-radio.hover:checked + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific), inset 0 0 0 2px var(--white);\n}\n.m-form-field--lg-target {\n display: block;\n}\n.m-form-field--lg-target .a-label {\n box-sizing: border-box;\n width: 100%;\n padding: 15px;\n background-color: var(--gray-10);\n}\n.m-form-field--lg-target .a-checkbox:checked + .a-label,\n.m-form-field--lg-target .a-radio:checked + .a-label {\n background-color: var(--pacific-20);\n box-shadow: inset 0 0 0 1px var(--pacific);\n}\n.m-form-field--lg-target .a-checkbox:hover + .a-label, .m-form-field--lg-target .a-checkbox.hover + .a-label, .m-form-field--lg-target .a-checkbox:focus + .a-label, .m-form-field--lg-target .a-checkbox.focus + .a-label,\n.m-form-field--lg-target .a-radio:hover + .a-label,\n.m-form-field--lg-target .a-radio.hover + .a-label,\n.m-form-field--lg-target .a-radio:focus + .a-label,\n.m-form-field--lg-target .a-radio.focus + .a-label {\n box-shadow: inset 0 0 0 2px var(--pacific);\n}\n.m-form-field--lg-target .a-checkbox:focus + .a-label, .m-form-field--lg-target .a-checkbox.focus + .a-label, .m-form-field--lg-target .a-checkbox:checked + .a-label,\n.m-form-field--lg-target .a-radio:focus + .a-label,\n.m-form-field--lg-target .a-radio.focus + .a-label,\n.m-form-field--lg-target .a-radio:checked + .a-label {\n outline-offset: 1px;\n}\n.m-form-field--lg-target .a-checkbox:disabled + .a-label, .m-form-field--lg-target .a-checkbox:checked:disabled + .a-label, .m-form-field--lg-target .a-checkbox:hover:disabled + .a-label,\n.m-form-field--lg-target .a-radio:disabled + .a-label,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label,\n.m-form-field--lg-target .a-radio:hover:disabled + .a-label {\n color: var(--gray-dark);\n box-shadow: none;\n background-color: var(--gray-20);\n}\n.m-form-field--lg-target .a-checkbox:checked:disabled + .a-label, .m-form-field--lg-target .a-checkbox:checked:disabled + .a-label::before,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label::before {\n border: 1px solid var(--gray-60);\n}\n.m-form-field .a-form-alert {\n margin-top: 0.9375em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-label {\n display: inline-block;\n}\n.a-label__helper {\n color: var(--gray-dark);\n font-size: 1rem;\n font-weight: normal;\n}\n.a-label__helper--block {\n display: block;\n margin-top: 0.8333333333em;\n}\n.a-label--heading {\n display: block;\n margin-bottom: 0.5555555556em;\n font-size: 1.125em;\n font-weight: 500;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\np + .a-label--heading, ul + .a-label--heading, ol + .a-label--heading, dl + .a-label--heading, figure + .a-label--heading, img + .a-label--heading, table + .a-label--heading, blockquote + .a-label--heading, h1 + .a-label--heading, .h1 + .a-label--heading, h2 + .a-label--heading, .h2 + .a-label--heading, h3 + .a-label--heading, .h3 + .a-label--heading, h5 + .a-label--heading, .h5 + .a-label--heading, h6 + .a-label--heading, .h6 + .a-label--heading {\n margin-top: 1.6666666667em;\n}\n@media only all and (max-width: 37.5em) {\n .a-label--heading {\n margin-bottom: 0.625em;\n font-size: 1em;\n line-height: 1.125;\n }\n}\n.a-label--heading .a-label__helper--block {\n margin-top: 0.625rem;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-range {\n appearance: none;\n width: 100%;\n min-height: 49px;\n}\n.a-range::-webkit-slider-runnable-track {\n height: 0.6875rem;\n width: 100%;\n background-color: var(--gray-80);\n border: 1px solid var(--gray-40);\n border-radius: 8px;\n cursor: pointer;\n}\n.a-range::-moz-range-track {\n height: 0.6875rem;\n width: 100%;\n background-color: var(--gray-80);\n border: 1px solid var(--gray-40);\n border-radius: 8px;\n cursor: pointer;\n}\n.a-range::-webkit-slider-thumb {\n height: 2.8125rem;\n width: 2.8125rem;\n margin-top: -1.125rem;\n appearance: none;\n border: 1px solid var(--gray-40);\n border-radius: 50%;\n background-color: var(--gray-10);\n cursor: pointer;\n}\n.a-range::-moz-range-thumb {\n height: 2.8125rem;\n width: 2.8125rem;\n margin-top: -1.125rem;\n appearance: none;\n border: 1px solid var(--gray-40);\n border-radius: 50%;\n background-color: var(--gray-10);\n cursor: pointer;\n}\n.a-range:focus, .a-range.focus {\n box-shadow: none;\n outline: none;\n}\n.a-range:focus::-webkit-slider-thumb, .a-range.focus::-webkit-slider-thumb {\n background-color: var(--pacific-20);\n border: 2px solid var(--pacific);\n}\n.a-range:focus::-moz-range-thumb, .a-range.focus::-moz-range-thumb {\n background-color: var(--pacific-20);\n border: 2px solid var(--pacific);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-search-input {\n display: flex;\n flex-direction: column;\n row-gap: 0.9375rem;\n}\n.o-search-input__input {\n position: relative;\n display: flex;\n width: initial;\n flex: 0 1 100%;\n}\n.o-search-input__input-label {\n position: absolute;\n left: 10px;\n align-self: center;\n cursor: pointer;\n}\n.o-search-input__input input[type=search] {\n width: 100%;\n white-space: nowrap;\n padding-left: 30px;\n appearance: none;\n}\n.o-search-input__input button[type=reset] {\n display: none;\n position: absolute;\n right: 0;\n align-self: center;\n color: var(--gray-40);\n font-size: 20px;\n border: 1px solid transparent;\n background-color: transparent;\n outline: 0;\n width: 44px;\n padding: 5px;\n text-align: right;\n}\n.o-search-input__input button[type=reset] > svg {\n width: 25px;\n cursor: pointer;\n pointer-events: none;\n}\n.o-search-input__input button[type=reset]:hover {\n color: var(--black);\n}\n.o-search-input__input button[type=reset]:focus {\n color: var(--black);\n}\n.o-search-input__input button[type=reset]:focus > svg {\n outline: 1px dotted var(--pacific);\n}\n.o-search-input__input input[type=search]:placeholder-shown ~ button[type=reset] {\n display: none;\n}\n.o-search-input__input input[type=search]:not(:placeholder-shown) {\n padding-right: 34px;\n}\n.o-search-input__input input[type=search]::-webkit-search-decoration,\n.o-search-input__input input[type=search]::-webkit-search-cancel-button,\n.o-search-input__input input[type=search]::-webkit-search-results-button,\n.o-search-input__input input[type=search]::-webkit-search-results-decoration {\n display: none;\n}\n.o-search-input:focus-within button[type=reset], .o-search-input .o-search-input__input:hover button[type=reset] {\n display: block;\n}\n.o-search-input button[type=submit] {\n line-height: 1.1875;\n}\n@media only all and (min-width: 37.5625em) {\n .o-search-input {\n flex-direction: row;\n border-left: 0;\n }\n .o-search-input button[type=submit] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n flex-basis: 25%;\n }\n}\n\n.no-js .o-search-input button[type=reset] {\n display: none !important;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-select {\n position: relative;\n border: 1px solid var(--gray-60);\n}\n.a-select select {\n width: 100%;\n line-height: 1.375;\n padding: 0.4375em 0.375em 0.375em;\n border: 0;\n appearance: none;\n background-color: var(--white);\n border-radius: 0;\n color: var(--black);\n}\n.a-select select:hover, .a-select select.hover {\n outline: 2px solid var(--pacific);\n outline-offset: 0;\n}\n.a-select select:active, .a-select select:focus, .a-select select.focus {\n box-shadow: 0 0 0 2px var(--pacific);\n outline: 1px dotted var(--pacific);\n outline-offset: 3px;\n}\n.a-select select[disabled] {\n color: var(--gray-dark);\n background-color: var(--gray-10);\n cursor: not-allowed;\n}\n.a-select select[disabled]:hover, .a-select select[disabled].hover, .a-select select[disabled]:focus, .a-select select[disabled].focus {\n outline: none;\n}\n.a-select select[disabled] option,\n.a-select select[disabled] option:disabled,\n.a-select select option:disabled {\n color: var(--gray-dark);\n}\n.a-select::after {\n width: 2.1875em;\n box-sizing: border-box;\n border-left: 1px solid var(--gray-60);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: var(--gray-10);\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n background-size: auto 1.1875em;\n background-repeat: no-repeat;\n background-position: center center;\n content: \"\";\n pointer-events: none;\n}\n.a-select--disabled::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.a-tag-filter {\n display: flex;\n gap: 0.625rem;\n border: 1px solid var(--teal);\n padding: 4px 6px;\n background-color: var(--teal-20);\n border-radius: 0.1875rem;\n color: var(--black);\n text-align: left;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n.a-tag-filter .cf-icon-svg {\n pointer-events: none;\n flex: none;\n}\n.a-tag-filter > label {\n display: contents;\n pointer-events: none;\n}\n\nbutton.a-tag-filter:hover {\n background-color: var(--teal-40);\n cursor: pointer;\n}\nbutton.a-tag-filter:focus {\n outline: 1px dotted var(--teal);\n outline-offset: 1px;\n}\nbutton.a-tag-filter:active {\n background-color: var(--teal);\n}\n\na.a-tag-filter {\n line-height: normal;\n color: var(--black);\n border-color: var(--teal);\n}\na.a-tag-filter:visited, a.a-tag-filter.visited {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:hover, a.a-tag-filter.hover {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:focus, a.a-tag-filter.focus {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:active, a.a-tag-filter.active {\n border-color: var(--teal);\n color: var(--black);\n}\n\n.a-tag-topic {\n display: flex;\n gap: 0.3125rem;\n}\n\n.a-tag-topic {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--gold-80);\n letter-spacing: 1px;\n}\n.a-tag-topic .a-tag-topic__text {\n color: var(--gray);\n word-break: break-word;\n}\n@media only all and (max-width: 37.5em) {\n .a-tag-topic {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.3125rem;\n box-sizing: border-box;\n padding-top: 0.625em;\n padding-bottom: 0.625em;\n width: 100%;\n }\n .a-tag-topic .cf-icon-svg--right {\n margin-left: auto;\n }\n .a-tag-topic .a-tag-topic__text {\n border-bottom-width: 0;\n flex-shrink: 10;\n }\n}\n\na.a-tag-topic {\n border-color: var(--gold-80);\n color: var(--gold-80);\n border-color: var(--gold-80);\n}\na.a-tag-topic:visited, a.a-tag-topic.visited {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:hover, a.a-tag-topic.hover {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:focus, a.a-tag-topic.focus {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:active, a.a-tag-topic.active {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic .a-tag-topic__text {\n border-bottom-color: var(--gold-80);\n}\n@media only all and (max-width: 37.5em) {\n a.a-tag-topic {\n border-top-width: 1px;\n border-bottom-width: 1px;\n }\n a.a-tag-topic:focus {\n outline: none;\n }\n a.a-tag-topic:focus::after {\n content: \"\";\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n outline: 1px dotted var(--gray);\n outline-offset: 2px;\n }\n}\n\n@media only all and (max-width: 37.5em) {\n li:has(.a-tag-topic) + li:has(.a-tag-topic) .a-tag-topic {\n position: relative;\n border-top: none;\n }\n li:has(.a-tag-topic) + li:has(.a-tag-topic) a.a-tag-topic:hover::before,\n li:has(.a-tag-topic) + li:has(.a-tag-topic) a.a-tag-topic:focus::before {\n position: absolute;\n top: -1px;\n content: \"\";\n display: block;\n height: 1px;\n width: 100%;\n border-top: 1px solid currentcolor;\n }\n}\n.a-tag-topic__bullet {\n font-size: 1rem;\n line-height: 1rem;\n}\n\n@media only all and (min-width: 37.5625em) {\n a.a-tag-topic__text {\n color: var(--gray);\n border-color: var(--gray);\n }\n a.a-tag-topic__text:visited, a.a-tag-topic__text.visited {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:hover, a.a-tag-topic__text.hover {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:focus, a.a-tag-topic__text.focus {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:active, a.a-tag-topic__text.active {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic,\n a.a-tag-topic:visited,\n a.a-tag-topic:hover,\n a.a-tag-topic:focus,\n a.a-tag-topic:active {\n border-bottom: none;\n outline-offset: 1px;\n }\n a.a-tag-topic .a-tag-topic__text,\n a.a-tag-topic:visited .a-tag-topic__text,\n a.a-tag-topic:hover .a-tag-topic__text,\n a.a-tag-topic:focus .a-tag-topic__text,\n a.a-tag-topic:active .a-tag-topic__text {\n padding-bottom: 1px;\n border-bottom: 1px dotted var(--gold-80);\n }\n a.a-tag-topic:hover .a-tag-topic__text {\n border-bottom: 1px solid var(--gold-80);\n }\n a.a-tag-topic:focus {\n outline-color: var(--gray);\n }\n a.a-tag-topic:focus .a-tag-topic__text {\n border-bottom-style: solid !important;\n }\n}\n.m-tag-group {\n padding-left: 0;\n list-style-type: none;\n}\n.m-tag-group li {\n margin-bottom: 0;\n display: contents;\n}\n@media only all and (min-width: 37.5625em) {\n .m-tag-group {\n display: flex;\n gap: 0.9375em;\n flex-wrap: wrap;\n }\n .m-tag-group--stacked {\n flex-direction: column;\n width: -moz-fit-content;\n width: fit-content;\n }\n}\n.m-tag-group:has(.a-tag-filter) {\n display: flex;\n gap: 0.9375em;\n flex-wrap: wrap;\n}\n\nhtml[lang=ar] .m-tag-group {\n direction: rtl;\n padding-right: 0;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-text-input {\n appearance: none;\n display: inline-block;\n padding: 0.4375em;\n border: 1px solid var(--gray-60);\n background: var(--white);\n color: var(--black);\n box-sizing: border-box;\n}\n.a-text-input:hover, .a-text-input.hover {\n border-color: var(--pacific);\n outline: 1px solid var(--pacific);\n}\n.a-text-input:focus, .a-text-input.focus {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n outline: 1px dotted var(--pacific);\n outline-offset: 2px;\n}\n.a-text-input:disabled, .a-text-input:disabled:hover, .a-text-input:disabled.hover, .a-text-input:disabled:focus, .a-text-input:disabled.focus {\n color: var(--gray-dark);\n background-color: var(--gray-10);\n cursor: not-allowed;\n border-color: var(--gray-60);\n outline: none;\n}\n.a-text-input--error {\n border-color: var(--red);\n outline: 1px solid var(--red);\n}\n.a-text-input--error:hover, .a-text-input--error.hover {\n border-color: var(--red-dark);\n outline: 1px solid var(--red-dark);\n outline-offset: 0;\n}\n.a-text-input--error:focus, .a-text-input--error.focus {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline: 1px dotted var(--red);\n}\n.a-text-input--error:focus:hover, .a-text-input--error:focus.hover, .a-text-input--error.focus:hover, .a-text-input--error.focus.hover {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline: 1px dotted var(--red);\n outline-offset: 2px;\n}\n.a-text-input--warning {\n border-color: var(--gold);\n outline: 1px solid var(--gold);\n}\n.a-text-input--warning:hover, .a-text-input--warning.hover {\n border-color: var(--gold-dark);\n outline: 1px solid var(--gold-dark);\n outline-offset: 0;\n}\n.a-text-input--warning:focus, .a-text-input--warning.focus {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline: 1px dotted var(--gold);\n}\n.a-text-input--warning:focus:hover, .a-text-input--warning:focus.hover, .a-text-input--warning.focus:hover, .a-text-input--warning.focus.hover {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline: 1px dotted var(--gold);\n outline-offset: 2px;\n}\n.a-text-input--success {\n border-color: var(--green);\n outline: 1px solid var(--green);\n}\n.a-text-input--success:hover, .a-text-input--success.hover {\n border-color: var(--green-dark);\n outline: 1px solid var(--green-dark);\n outline-offset: 0;\n}\n.a-text-input--success:focus, .a-text-input--success.focus {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline: 1px dotted var(--green);\n}\n.a-text-input--success:focus:hover, .a-text-input--success:focus.hover, .a-text-input--success.focus:hover, .a-text-input--success.focus.hover {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline: 1px dotted var(--green);\n outline-offset: 2px;\n}\n\n::-webkit-search-decoration {\n appearance: none;\n}\n\n::placeholder {\n color: var(--gray-dark);\n}\n\ninput[type=date]::-webkit-datetime-edit {\n color: var(--gray-dark);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\nselect.o-multiselect {\n display: block;\n box-sizing: border-box;\n width: 100%;\n padding: 0.4375em;\n height: 5.5em;\n padding-top: 0.25em;\n padding-bottom: 0.25em;\n border: 1px solid var(--gray-60);\n}\nselect.o-multiselect option {\n padding: 0.125em 0.375em;\n}\n\n.o-multiselect {\n position: relative;\n}\n.o-multiselect__header {\n position: relative;\n}\n.o-multiselect__header::after {\n width: 2.1875em;\n box-sizing: border-box;\n border-left: 1px solid var(--gray-60);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: var(--gray-10);\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n background-size: auto 1.1875em;\n background-repeat: no-repeat;\n background-position: center center;\n border: 1px solid var(--gray-60);\n content: \"\";\n pointer-events: none;\n}\n.o-multiselect__search[type=text] {\n display: block;\n box-sizing: border-box;\n width: 100%;\n}\n.o-multiselect__fieldset {\n border-color: var(--gray-60);\n border-top: none;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n overflow-x: hidden;\n overflow-y: scroll;\n position: absolute;\n z-index: 10;\n max-height: 0;\n margin-top: -1px;\n width: 100%;\n transition: max-height 0.25s ease-out;\n}\n.o-multiselect.u-active .o-multiselect__fieldset {\n margin-top: 0;\n max-height: 140px;\n border-color: var(--pacific);\n border-width: 2px;\n border-top: 0;\n}\n.o-multiselect.u-active .o-multiselect__header::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n.o-multiselect__options {\n list-style-type: none;\n background-color: var(--white);\n padding: 0;\n}\n.o-multiselect__options li {\n margin: 0;\n}\n.o-multiselect__options li:first-child .a-label {\n padding-top: 0.625em;\n}\n.o-multiselect__options.u-filtered li:not(.u-filter-match) {\n display: none;\n}\n.o-multiselect__options.u-no-results li, .o-multiselect__options.u-max-selections li {\n display: none;\n}\n.o-multiselect__options.u-no-results::after, .o-multiselect__options.u-max-selections::after {\n display: list-item;\n}\n.o-multiselect__options.u-no-results::after {\n content: \"No results found\";\n}\n.o-multiselect__options.u-max-selections {\n padding: 0.625em;\n pointer-events: none;\n}\n.o-multiselect__options.u-max-selections::after {\n content: \"Reached maximum number of selections\";\n}\n.o-multiselect__options .a-label {\n box-sizing: border-box;\n padding-top: 0.3125em;\n padding-right: 0;\n padding-bottom: 0.3125em;\n padding-left: 0.625em;\n width: 100%;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Icons\n ========================================================================== */\n.cf-icon-svg {\n height: 1.1875em;\n vertical-align: text-top;\n fill: currentcolor;\n}\n.cf-icon-svg--updating, .cf-icon-svg--updating-round {\n animation: updating-animation 1.25s infinite linear;\n transform-origin: 50% 50%;\n}\n\n@keyframes updating-animation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\nhtml[lang=ar] .cf-icon-svg--right, html[lang=ar] .cf-icon-svg--right-round, html[lang=ar] .cf-icon-svg--left, html[lang=ar] .cf-icon-svg--left-round, html[lang=ar] .cf-icon-svg--arrow-right, html[lang=ar] .cf-icon-svg--arrow-right-round, html[lang=ar] .cf-icon-svg--arrow-left, html[lang=ar] .cf-icon-svg--arrow-left-round, html[lang=ar] .cf-icon-svg--help, html[lang=ar] .cf-icon-svg--help-round, html[lang=ar] .cf-icon-svg--book, html[lang=ar] .cf-icon-svg--book-round, html[lang=ar] .cf-icon-svg--document, html[lang=ar] .cf-icon-svg--document-round, html[lang=ar] .cf-icon-svg--edit, html[lang=ar] .cf-icon-svg--edit-round, html[lang=ar] .cf-icon-svg--paper-clip, html[lang=ar] .cf-icon-svg--paper-clip-round, html[lang=ar] .cf-icon-svg--cart, html[lang=ar] .cf-icon-svg--cart-round, html[lang=ar] .cf-icon-svg--disability, html[lang=ar] .cf-icon-svg--disability-round, html[lang=ar] .cf-icon-svg--travel, html[lang=ar] .cf-icon-svg--travel-round, html[lang=ar] .cf-icon-svg--bullhorn, html[lang=ar] .cf-icon-svg--bullhorn-round, html[lang=ar] .cf-icon-svg--chart, html[lang=ar] .cf-icon-svg--chart-round, html[lang=ar] .cf-icon-svg--list, html[lang=ar] .cf-icon-svg--list-round, html[lang=ar] .cf-icon-svg--external-link, html[lang=ar] .cf-icon-svg--external-link-round {\n transform: scaleX(-1);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-card {\n position: relative;\n}\n.m-card:not(.m-card--breakout) > a {\n padding: 1.875em;\n}\n.m-card:not(.m-card--breakout) .m-card__footer {\n margin-top: auto;\n}\n.m-card:not(.m-card--breakout, .m-card--topic) {\n background: var(--white);\n border: 1px solid var(--gray-20);\n border-bottom-width: 3px;\n padding: 1.875em;\n}\n.m-card:not(.m-card--breakout, .m-card--topic), .m-card > a {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n flex-basis: 0;\n box-sizing: border-box;\n height: 100%;\n}\n.m-card a:focus {\n outline-offset: 2px;\n}\n.m-card__footer > a {\n font-weight: 500;\n border-bottom-width: 1px;\n}\n@media only all and (max-width: 56.3125em) {\n .m-card__heading {\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n }\n p + .m-card__heading, ul + .m-card__heading, ol + .m-card__heading, dl + .m-card__heading, figure + .m-card__heading, img + .m-card__heading, table + .m-card__heading, blockquote + .m-card__heading, h1 + .m-card__heading, .h1 + .m-card__heading, h2 + .m-card__heading, .h2 + .m-card__heading, h4 + .m-card__heading, .h4 + .m-card__heading, h5 + .m-card__heading, .h5 + .m-card__heading, h6 + .m-card__heading, .h6 + .m-card__heading {\n margin-top: 1.3636363636em;\n }\n}\n@media only all and (max-width: 56.3125em) and (max-width: 37.5em) {\n .m-card__heading {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.8333333333em;\n }\n p + .m-card__heading, ul + .m-card__heading, ol + .m-card__heading, dl + .m-card__heading, figure + .m-card__heading, img + .m-card__heading, table + .m-card__heading, blockquote + .m-card__heading, h1 + .m-card__heading, .h1 + .m-card__heading, h2 + .m-card__heading, .h2 + .m-card__heading, h3 + .m-card__heading, .h3 + .m-card__heading, h5 + .m-card__heading, .h5 + .m-card__heading, h6 + .m-card__heading, .h6 + .m-card__heading {\n margin-top: 1.6666666667em;\n }\n}\n.m-card__heading > a {\n color: var(--black);\n}\n.m-card__heading > a:hover {\n color: var(--pacific);\n}\n.m-card__heading > a .m-card__icon {\n font-size: 1em;\n margin-bottom: 0;\n padding-right: 0.46875em;\n}\n.m-card__heading > a .m-card__icon, .m-card__heading > a span {\n display: table-cell;\n}\n.m-card > .m-list {\n margin-top: 10px;\n margin-bottom: 30px;\n}\n.m-card--topic {\n text-align: center;\n width: 170px;\n background: var(--white);\n}\n.m-card--topic > a {\n border: 1px solid var(--gray-20);\n border-bottom-width: 3px;\n}\n.m-card--topic .m-card__icon {\n font-size: 1.875em;\n color: var(--green);\n margin-bottom: 0.3125em;\n}\n.m-card--topic:hover > a {\n box-shadow: 0 2px 0 0 inset var(--gray-20), 2px 0 0 0 inset var(--gray-20), -2px 0 0 0 inset var(--gray-20);\n}\n.m-card--topic:hover::after {\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n height: 5px;\n width: 100%;\n background: var(--green);\n}\n.m-card--topic .m-card__footer > span {\n display: inline;\n border-width: 0;\n border-bottom-width: 1px;\n border-color: var(--pacific);\n border-style: dotted;\n font-weight: 500;\n color: var(--pacific);\n text-decoration: none;\n}\n.m-card--topic > a:visited .m-card__footer > span {\n border-color: var(--teal);\n color: var(--teal);\n}\n.m-card--topic:hover .m-card__footer > span {\n border-style: solid;\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\n.m-card--topic > a:focus .m-card__footer > span {\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\n.m-card--topic > a:active .m-card__footer > span {\n border-color: var(--pacific-dark);\n border-style: solid;\n color: var(--pacific-dark);\n}\n.m-card--topic-action .m-card__icon {\n color: var(--pacific);\n}\n.m-card--breakout {\n min-width: 210px;\n text-align: center;\n}\n.m-card--breakout > a {\n padding-top: 60px;\n}\n.m-card--breakout .m-card__inner-wrapper {\n position: relative;\n z-index: 0;\n min-height: 135px;\n background: var(--gray-5);\n border: 1px solid var(--gray-20);\n border-bottom-width: 3px;\n}\n.m-card--breakout .m-card__img {\n position: absolute;\n z-index: 1;\n top: 0;\n left: 50%;\n width: 210px;\n height: 120px;\n margin-left: -105px;\n}\n.m-card--breakout .m-card__footer {\n margin-top: 84px;\n}\n.m-card--breakout:hover .m-card__inner-wrapper {\n box-shadow: 0 2px 0 0 inset var(--gray-20), 2px 0 0 0 inset var(--gray-20), -2px 0 0 0 inset var(--gray-20);\n}\n.m-card--breakout:hover::after {\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n height: 5px;\n width: 100%;\n background: var(--green);\n}\n.m-card--breakout .m-card__footer > span {\n display: inline;\n border-width: 0;\n border-bottom-width: 1px;\n border-color: var(--pacific);\n border-style: dotted;\n font-weight: 500;\n color: var(--pacific);\n text-decoration: none;\n}\n.m-card--breakout > a:visited .m-card__footer > span {\n border-color: var(--teal);\n color: var(--teal);\n}\n.m-card--breakout:hover .m-card__footer > span {\n border-style: solid;\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\n.m-card--breakout > a:focus .m-card__footer > span {\n border-color: var(--pacific);\n color: var(--pacific);\n}\n.m-card--breakout > a:active .m-card__footer > span {\n border-color: var(--navy);\n border-style: solid;\n color: var(--navy);\n}\n.m-card--breakout .m-card__footer > span {\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n}\np + .m-card--breakout .m-card__footer > span, ul + .m-card--breakout .m-card__footer > span, ol + .m-card--breakout .m-card__footer > span, dl + .m-card--breakout .m-card__footer > span, figure + .m-card--breakout .m-card__footer > span, img + .m-card--breakout .m-card__footer > span, table + .m-card--breakout .m-card__footer > span, blockquote + .m-card--breakout .m-card__footer > span, h1 + .m-card--breakout .m-card__footer > span, .h1 + .m-card--breakout .m-card__footer > span, h2 + .m-card--breakout .m-card__footer > span, .h2 + .m-card--breakout .m-card__footer > span, h4 + .m-card--breakout .m-card__footer > span, .h4 + .m-card--breakout .m-card__footer > span, h5 + .m-card--breakout .m-card__footer > span, .h5 + .m-card--breakout .m-card__footer > span, h6 + .m-card--breakout .m-card__footer > span, .h6 + .m-card--breakout .m-card__footer > span {\n margin-top: 1.3636363636em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-card-group > h2 {\n margin-bottom: 1.875rem;\n}\n.o-card-group--column-2 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n}\n.o-card-group--column-3 .o-card-group__cards {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n@media only all and (max-width: 63.8125em) {\n .o-card-group--column-3 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n }\n}\n.o-card-group__cards {\n display: grid;\n grid-column-gap: 1.25em;\n grid-row-gap: 1.25em;\n}\n@media only all and (max-width: 37.5em) {\n .o-card-group__cards {\n grid-template-columns: 100% !important;\n }\n}\n.o-card-group--bg-green {\n padding: 1.875em;\n background: var(--green-20);\n}\n\n/* stylelint-disable selector-type-no-unknown */\n_:-ms-lang(x),\n.o-card-group__cards {\n display: block;\n}\n_:-ms-lang(x) .m-card,\n.o-card-group__cards .m-card {\n display: block;\n float: left;\n margin-bottom: 10px;\n}\n\n_:-ms-lang(x) .o-card-group__cards .m-card,\n.o-card-group--column-2 .o-card-group__cards .m-card {\n width: 48%;\n margin-right: 2%;\n}\n_:-ms-lang(x) .o-card-group__cards .m-card:last-child,\n.o-card-group--column-2 .o-card-group__cards .m-card:last-child {\n margin-right: 0;\n}\n\n_:-ms-lang(x) .o-card-group__cards .m-card,\n.o-card-group--column-3 .o-card-group__cards .m-card {\n width: 32%;\n margin-right: 1%;\n}\n_:-ms-lang(x) .o-card-group__cards .m-card:last-child,\n.o-card-group--column-3 .o-card-group__cards .m-card:last-child {\n margin-right: 0;\n}\n\n_:-ms-lang(x),\n.o-card-group::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n/* stylelint-enable selector-type-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n.o-card-group {\n /* stylelint-enable no-duplicate-selectors */\n}\n.o-card-group--count-2 .m-card:nth-of-type(1), .o-card-group--count-3 .m-card:nth-of-type(1), .o-card-group--count-4 .m-card:nth-of-type(1) {\n grid-area: card1;\n}\n.o-card-group--count-2 .m-card:nth-of-type(2), .o-card-group--count-3 .m-card:nth-of-type(2), .o-card-group--count-4 .m-card:nth-of-type(2) {\n grid-area: card2;\n}\n.o-card-group--count-2 .m-card:nth-of-type(3), .o-card-group--count-3 .m-card:nth-of-type(3), .o-card-group--count-4 .m-card:nth-of-type(3) {\n grid-area: card3;\n}\n.o-card-group--count-2 .m-card:nth-of-type(4), .o-card-group--count-3 .m-card:nth-of-type(4), .o-card-group--count-4 .m-card:nth-of-type(4) {\n grid-area: card4;\n}\n.o-card-group--count-2 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n grid-template-areas: \"card1 card2\";\n}\n.o-card-group--count-3 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n grid-template-areas: \"card1 card2\" \"card1 card3\";\n}\n.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n}\np + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ul + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ol + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, dl + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, figure + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, img + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, table + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, blockquote + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n margin-top: 1.7307692308em;\n}\nh1 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h1 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h3 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h3 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h4 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h4 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h5 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h5 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h6 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h6 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n margin-top: 1.1538461538em;\n}\n@media only all and (max-width: 37.5em) {\n p + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ul + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ol + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, dl + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, figure + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, img + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, table + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, blockquote + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n margin-top: 1.3636363636em;\n }\n}\n@media only all and (max-width: 37.5em) {\n .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n font-size: 1.375em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n }\n p + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ul + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, ol + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, dl + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, figure + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, img + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, table + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, blockquote + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h1 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h1 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h2 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h2 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h4 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h4 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h5 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h5 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, h6 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3, .h6 + .o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) h3 {\n margin-top: 1.3636363636em;\n }\n}\n.o-card-group--count-3 .o-card-group__cards .m-card:nth-of-type(1) > a {\n justify-content: center;\n}\n.o-card-group--count-4 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n grid-template-areas: \"card1 card2\" \"card3 card4\";\n}\n.o-card-group--flow .o-card-group__cards {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n@media only all and (min-width: 37.5625em) and (max-width: 56.25em) {\n .o-card-group--count-3 .o-card-group__cards {\n grid-template-columns: 1fr 1fr;\n grid-template-areas: \"card1 card1\" \"card2 card3\";\n }\n}\n@media only all and (max-width: 37.5em) {\n .o-card-group--count-2 .o-card-group__cards {\n grid-template-columns: 1fr;\n grid-template-areas: \"card1\" \"card2\";\n }\n .o-card-group--count-3 .o-card-group__cards {\n grid-template-columns: 1fr;\n grid-template-areas: \"card1\" \"card2\" \"card3\";\n }\n .o-card-group--count-4 .o-card-group__cards {\n grid-template-columns: 1fr;\n grid-template-areas: \"card1\" \"card2\" \"card3\" \"card4\";\n }\n .o-card-group--flow .o-card-group__cards {\n display: block;\n }\n .o-card-group--flow .o-card-group__cards .m-card {\n width: 100%;\n margin-bottom: 1.875em;\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-email-signup .m-notification {\n margin-bottom: 0.9375em;\n}\n.o-email-signup .a-text-input {\n max-width: 23.125rem;\n}\n.o-email-signup__buttons {\n display: flex;\n margin-top: 0.9375em;\n align-items: center;\n flex-wrap: wrap-reverse;\n gap: 0.9375em;\n}\n.o-email-signup .a-btn {\n text-align: inherit;\n}\n@media only all and (max-width: 37.5em) {\n .o-email-signup .a-label--heading {\n font-size: 1em;\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-featured-content-module {\n min-height: 220px;\n position: relative;\n border: 1px solid var(--gray-40);\n background-color: var(--gray-5);\n}\n.o-featured-content-module__text {\n padding-top: 1.875em;\n padding-bottom: 1.875em;\n}\n.o-featured-content-module__img {\n display: block;\n}\n@media only all and (max-width: 37.5em) {\n .o-featured-content-module__text {\n padding-right: 0.9375em;\n padding-left: 0.9375em;\n }\n .o-featured-content-module__visual {\n padding-right: 0.9375em;\n padding-bottom: 0.9375em;\n padding-left: 0.9375em;\n }\n .o-featured-content-module__img {\n margin-right: auto;\n margin-left: auto;\n }\n}\n@media only all and (min-width: 37.5625em) {\n .o-featured-content-module__text {\n padding-right: 300px;\n padding-left: 1.875em;\n }\n .o-featured-content-module__visual {\n height: 100%;\n overflow: hidden;\n position: absolute;\n top: 0;\n right: 0;\n width: 270px;\n }\n .o-featured-content-module__img {\n max-width: none;\n height: 100%;\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-hero {\n background-color: var(--gray-5);\n}\n.m-hero__wrapper {\n display: grid;\n max-width: 1200px;\n margin: 0 auto;\n padding-top: 30px;\n padding-bottom: 30px;\n}\n.m-hero__text {\n padding-right: 15px;\n padding-left: 15px;\n}\n.m-hero__heading {\n font-size: 2.125em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.4411764706em;\n}\np + .m-hero__heading, ul + .m-hero__heading, ol + .m-hero__heading, dl + .m-hero__heading, figure + .m-hero__heading, img + .m-hero__heading, table + .m-hero__heading, blockquote + .m-hero__heading {\n margin-top: 1.7647058824em;\n}\n.m-hero__subhead {\n font-size: 22px;\n line-height: 1.25;\n}\n.m-hero__image-wrapper {\n box-sizing: border-box;\n overflow: hidden;\n}\n.m-hero__image {\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n width: 100%;\n display: none;\n}\n@supports (display: grid) {\n .m-hero__image {\n display: block;\n }\n}\n.m-hero--knockout {\n background-color: var(--gray);\n color: var(--white);\n}\n.m-hero--overlay .m-hero__wrapper {\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n}\n.m-hero--jumbo, .m-hero--50-50 {\n background-color: var(--white);\n}\n.m-hero--jumbo .m-hero__subhead, .m-hero--50-50 .m-hero__subhead {\n margin-top: 0;\n margin-bottom: 15px;\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\n@media only all and (max-width: 37.5em) {\n .m-hero--jumbo .m-hero__subhead, .m-hero--50-50 .m-hero__subhead {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n }\n}\n@media only all and (min-width: 37.5625em) {\n .m-hero--jumbo .m-hero__subhead, .m-hero--50-50 .m-hero__subhead {\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n }\n p + .m-hero--jumbo .m-hero__subhead, ul + .m-hero--jumbo .m-hero__subhead, ol + .m-hero--jumbo .m-hero__subhead, dl + .m-hero--jumbo .m-hero__subhead, figure + .m-hero--jumbo .m-hero__subhead, img + .m-hero--jumbo .m-hero__subhead, table + .m-hero--jumbo .m-hero__subhead, blockquote + .m-hero--jumbo .m-hero__subhead, h1 + .m-hero--jumbo .m-hero__subhead, .h1 + .m-hero--jumbo .m-hero__subhead, h2 + .m-hero--jumbo .m-hero__subhead, .h2 + .m-hero--jumbo .m-hero__subhead, h4 + .m-hero--jumbo .m-hero__subhead, .h4 + .m-hero--jumbo .m-hero__subhead, h5 + .m-hero--jumbo .m-hero__subhead, .h5 + .m-hero--jumbo .m-hero__subhead, h6 + .m-hero--jumbo .m-hero__subhead, .h6 + .m-hero--jumbo .m-hero__subhead, p + .m-hero--50-50 .m-hero__subhead, ul + .m-hero--50-50 .m-hero__subhead, ol + .m-hero--50-50 .m-hero__subhead, dl + .m-hero--50-50 .m-hero__subhead, figure + .m-hero--50-50 .m-hero__subhead, img + .m-hero--50-50 .m-hero__subhead, table + .m-hero--50-50 .m-hero__subhead, blockquote + .m-hero--50-50 .m-hero__subhead, h1 + .m-hero--50-50 .m-hero__subhead, .h1 + .m-hero--50-50 .m-hero__subhead, h2 + .m-hero--50-50 .m-hero__subhead, .h2 + .m-hero--50-50 .m-hero__subhead, h4 + .m-hero--50-50 .m-hero__subhead, .h4 + .m-hero--50-50 .m-hero__subhead, h5 + .m-hero--50-50 .m-hero__subhead, .h5 + .m-hero--50-50 .m-hero__subhead, h6 + .m-hero--50-50 .m-hero__subhead, .h6 + .m-hero--50-50 .m-hero__subhead {\n margin-top: 1.3636363636em;\n }\n}\n@media only all and (min-width: 63.8125em) {\n .m-hero--jumbo .m-hero__wrapper, .m-hero--50-50 .m-hero__wrapper {\n min-height: 285px;\n }\n .m-hero--jumbo .m-hero__heading, .m-hero--50-50 .m-hero__heading {\n margin-bottom: 0.4166666667em;\n font-size: 3em;\n font-weight: normal;\n line-height: 1.25;\n }\n .m-hero--jumbo .m-hero__subhead, .m-hero--50-50 .m-hero__subhead {\n font-size: 1.625em;\n font-weight: 400;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n }\n p + .m-hero--jumbo .m-hero__subhead, ul + .m-hero--jumbo .m-hero__subhead, ol + .m-hero--jumbo .m-hero__subhead, dl + .m-hero--jumbo .m-hero__subhead, figure + .m-hero--jumbo .m-hero__subhead, img + .m-hero--jumbo .m-hero__subhead, table + .m-hero--jumbo .m-hero__subhead, blockquote + .m-hero--jumbo .m-hero__subhead, p + .m-hero--50-50 .m-hero__subhead, ul + .m-hero--50-50 .m-hero__subhead, ol + .m-hero--50-50 .m-hero__subhead, dl + .m-hero--50-50 .m-hero__subhead, figure + .m-hero--50-50 .m-hero__subhead, img + .m-hero--50-50 .m-hero__subhead, table + .m-hero--50-50 .m-hero__subhead, blockquote + .m-hero--50-50 .m-hero__subhead {\n margin-top: 1.7307692308em;\n }\n h1 + .m-hero--jumbo .m-hero__subhead, .h1 + .m-hero--jumbo .m-hero__subhead, h3 + .m-hero--jumbo .m-hero__subhead, .h3 + .m-hero--jumbo .m-hero__subhead, h4 + .m-hero--jumbo .m-hero__subhead, .h4 + .m-hero--jumbo .m-hero__subhead, h5 + .m-hero--jumbo .m-hero__subhead, .h5 + .m-hero--jumbo .m-hero__subhead, h6 + .m-hero--jumbo .m-hero__subhead, .h6 + .m-hero--jumbo .m-hero__subhead, h1 + .m-hero--50-50 .m-hero__subhead, .h1 + .m-hero--50-50 .m-hero__subhead, h3 + .m-hero--50-50 .m-hero__subhead, .h3 + .m-hero--50-50 .m-hero__subhead, h4 + .m-hero--50-50 .m-hero__subhead, .h4 + .m-hero--50-50 .m-hero__subhead, h5 + .m-hero--50-50 .m-hero__subhead, .h5 + .m-hero--50-50 .m-hero__subhead, h6 + .m-hero--50-50 .m-hero__subhead, .h6 + .m-hero--50-50 .m-hero__subhead {\n margin-top: 1.1538461538em;\n }\n}\n\n@media only all and (max-width: 37.5em) {\n .m-hero__image-wrapper {\n margin-top: 1.875em;\n }\n .m-hero--overlay .m-hero__wrapper {\n background-image: none !important;\n }\n .m-hero--jumbo .m-hero__wrapper {\n padding-bottom: 0;\n }\n}\n@media only all and (max-width: 56.25em) {\n .m-hero__heading {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n }\n p + .m-hero__heading, ul + .m-hero__heading, ol + .m-hero__heading, dl + .m-hero__heading, figure + .m-hero__heading, img + .m-hero__heading, table + .m-hero__heading, blockquote + .m-hero__heading {\n margin-top: 1.7307692308em;\n }\n h1 + .m-hero__heading, .h1 + .m-hero__heading, h3 + .m-hero__heading, .h3 + .m-hero__heading, h4 + .m-hero__heading, .h4 + .m-hero__heading, h5 + .m-hero__heading, .h5 + .m-hero__heading, h6 + .m-hero__heading, .h6 + .m-hero__heading {\n margin-top: 1.1538461538em;\n }\n .m-hero__subhead {\n font-size: 18px;\n }\n}\n@media only all and (min-width: 37.5625em) {\n .m-hero__wrapper {\n grid-template-columns: 7fr 5fr;\n padding-right: 15px;\n padding-left: 15px;\n min-height: 225px;\n }\n .m-hero__text {\n margin: auto 0;\n }\n .m-hero__image-wrapper {\n padding-right: 15px;\n padding-left: 15px;\n display: flex;\n align-items: center;\n }\n .m-hero--bleeding .m-hero__image-wrapper {\n width: 100%;\n margin-top: -2.8125em;\n margin-bottom: -2.8125em;\n }\n .m-hero--bleeding .m-hero__image {\n padding-bottom: 0 !important;\n height: 100%;\n width: 100%;\n background-size: cover;\n }\n .m-hero--overlay .m-hero__image {\n display: none;\n }\n .m-hero--jumbo .m-hero__wrapper {\n background-position: 50%;\n background-repeat: no-repeat;\n background-size: cover;\n }\n .m-hero--jumbo .m-hero__image {\n display: none;\n }\n .m-hero--50-50 .m-hero__wrapper {\n grid-template-columns: 1fr 1fr;\n border: 1px solid var(--gray-40);\n border-top: none;\n background-position: 100% center;\n background-repeat: no-repeat;\n background-size: 50%;\n }\n .m-hero--50-50 .m-hero__image {\n display: none;\n }\n}\n@media only all and (min-width: 63.8125em) {\n .m-hero__wrapper {\n padding-top: 2.8125em;\n padding-bottom: 2.8125em;\n min-height: 195px;\n }\n .m-hero--bleeding .m-hero__image-wrapper {\n margin-top: -2.8125em;\n margin-bottom: -2.8125em;\n }\n .m-hero--50-50 .m-hero__wrapper {\n min-height: 345px;\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Layout Helpers\n ========================================================================== */\n.content-l {\n position: relative;\n}\n@media only all and (min-width: 37.5625em) {\n .content-l {\n display: block;\n position: relative;\n margin-left: -15px;\n margin-right: -15px;\n }\n}\n\n@media only all and (max-width: 37.5em) {\n .content-l__col + .content-l__col {\n margin-top: 1.875em;\n }\n}\n\n@media only all and (min-width: 37.5625em) {\n .content-l__col-1 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-1-2 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 50%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-1-3 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 33.3333333333%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-2-3 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 66.6666666667%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-3-8 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 37.5%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-5-8 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 62.5%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-1-4 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 25%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content-l__col-3-4 {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 75%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n}\n.content__line {\n height: 1px;\n background: var(--gray-40);\n}\n\n.content__main dd,\n.content__main dt,\n.content__main h3,\n.content__main h4,\n.content__main h5,\n.content__main h6,\n.content__main li,\n.content__main p,\n.content__main label,\n.content__intro dd,\n.content__intro dt,\n.content__intro h3,\n.content__intro h4,\n.content__intro h5,\n.content__intro h6,\n.content__intro li,\n.content__intro p,\n.content__intro label {\n max-width: 41.875rem;\n}\n\n.content__intro,\n.content__main,\n.content__sidebar {\n padding: 1.875em 0.9375em;\n}\n@media only all and (min-width: 37.5625em) {\n .content__intro,\n .content__main,\n .content__sidebar {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n padding: 2.8125em 0.9375em;\n }\n}\n@media only all and (min-width: 56.3125em) {\n .content__intro,\n .content__main,\n .content__sidebar {\n padding: 2.8125em 0;\n }\n}\n\n@media only all and (min-width: 56.3125em) {\n .content__intro {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 100%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n}\n@media only all and (min-width: 56.3125em) {\n .content--1-3 .content__sidebar {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 25%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n padding-right: 1.875em;\n }\n .content--1-3 .content__main {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 75%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n position: relative;\n }\n .content--1-3 .content__main::after {\n content: \"\";\n border-left: 1px solid var(--gray-40);\n position: absolute;\n top: 2.8125em;\n bottom: 0;\n left: -1.875em;\n }\n .content--2-1 .content__main {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 66.6666666667%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n }\n .content--2-1 .content__main::after {\n right: -1.875em;\n }\n .content--2-1 .content__sidebar {\n /* stylelint-enable */\n display: inline-block;\n box-sizing: border-box;\n width: 33.3333333333%;\n border: solid transparent;\n border-width: 0 15px;\n margin-right: -0.25em;\n vertical-align: top;\n padding-left: 1.875em;\n }\n}\n.content--flush-bottom {\n padding-bottom: 0;\n}\n\n@media only all and (max-width: 56.25em) {\n .content--flush-top-on-small {\n padding-top: 0;\n }\n}\n\n@media only all and (max-width: 56.25em) {\n .content--flush-all-on-small {\n padding: 0;\n border: none;\n }\n}\n\n.block {\n margin-top: 3.75em;\n margin-bottom: 3.75em;\n}\n.block--border-top {\n border-top: 1px solid var(--gray-40);\n}\n.block--border-right {\n border-right: 1px solid var(--gray-40);\n}\n.block--border-bottom {\n border-bottom: 1px solid var(--gray-40);\n}\n.block--border-left {\n border-left: 1px solid var(--gray-40);\n}\n.block--border {\n border: 1px solid var(--gray-40);\n}\n.block--flush-top {\n margin-top: 0 !important;\n}\n.block--flush-top.block--border, .block--flush-top.block--border-top {\n border-top: none;\n}\n.block--flush-bottom {\n margin-bottom: 0 !important;\n}\n.block--flush-bottom.block--border, .block--flush-bottom.block--border-bottom {\n border-bottom: none;\n}\n.block--flush-sides {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media only all and (max-width: 37.5em) {\n .block--flush-sides.block--border, .block--flush-sides.block--border-right, .block--flush-sides.block--border-left {\n border-right: none;\n border-left: none;\n }\n}\n@media only all and (min-width: 37.5625em) {\n .block--flush-sides {\n margin-right: -30px;\n margin-left: -30px;\n }\n}\n.block--flush {\n margin-top: 0 !important;\n margin-right: -15px;\n margin-bottom: 0 !important;\n margin-left: -15px;\n}\n.block--flush.block--border, .block--flush.block--border-top, .block--flush.block--border-bottom {\n border-top: none;\n border-bottom: none;\n}\n@media only all and (max-width: 37.5em) {\n .block--flush.block--border, .block--flush.block--border-right, .block--flush.block--border-left {\n border-right: none;\n border-left: none;\n }\n}\n@media only all and (min-width: 37.5625em) {\n .block--flush {\n margin-right: -30px;\n margin-left: -30px;\n }\n}\n.block--bg {\n padding: 1.875em 0.9375em;\n padding-bottom: 3.75em;\n background: var(--gray-5);\n}\n@media only all and (min-width: 37.5625em) {\n .block--bg {\n padding: 2.8125em 1.875em;\n }\n}\n.block--padded-top {\n padding-top: 1.875em;\n margin-top: 1.875em;\n}\n.block--padded-bottom {\n padding-bottom: 1.875em;\n margin-bottom: 1.875em;\n}\n.block--sub {\n margin-top: 1.875em;\n margin-bottom: 1.875em;\n}\n\n@media only all and (min-width: 56.3125em) {\n .wrapper {\n /* stylelint-enable */\n max-width: 1200px;\n padding-right: 15px;\n padding-left: 15px;\n margin: 0 auto;\n clear: both;\n }\n}\n.wrapper--match-content {\n padding-left: 15px;\n padding-right: 15px;\n}\n@media only all and (min-width: 37.5625em) {\n .wrapper--match-content {\n padding-left: 30px;\n padding-right: 30px;\n max-width: 1200px;\n }\n}", ".o-text-introduction {\n margin-top: 0;\n margin-bottom: 60px;\n}\n.o-text-introduction > * {\n margin-top: 0;\n margin-bottom: 15px;\n max-width: 41.875rem;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-well {\n box-sizing: border-box;\n padding: 1.875em 0.9375em;\n border: 1px solid var(--gray-40);\n background-color: var(--gray-5);\n}\n@media only all and (min-width: 37.5625em) {\n .o-well {\n padding-left: 1.875em;\n padding-right: 1.875em;\n }\n}", "/* ==========================================================================\n Design System\n Notifications Styling\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.o-banner {\n padding: 0.9375em 0;\n background: var(--gold-10);\n border-bottom: 1px solid var(--gray-40);\n font-size: 0.875em;\n}\n.o-banner .m-notification {\n border: none;\n padding: 0;\n}\n.o-banner .m-notification__icon {\n left: 0;\n top: 0;\n}\n.o-banner--dark {\n background: var(--teal-dark);\n border-color: var(--teal-dark);\n color: var(--white);\n}\n.o-banner--dark .m-notification {\n background: var(--teal-dark);\n}\n.o-banner--dark .m-notification .cf-icon-svg {\n fill: var(--white);\n}\n.o-banner--dark .m-notification a {\n color: var(--white);\n border-color: var(--white);\n}\n.o-banner--dark .m-notification a:visited, .o-banner--dark .m-notification a.visited {\n border-color: var(--teal-40);\n color: var(--teal-40);\n}\n.o-banner--dark .m-notification a:hover, .o-banner--dark .m-notification a.hover {\n border-color: var(--gray-15);\n color: var(--gray-15);\n}\n.o-banner--dark .m-notification a:focus, .o-banner--dark .m-notification a.focus {\n border-color: var(--white);\n color: var(--white);\n}\n.o-banner--dark .m-notification a:active, .o-banner--dark .m-notification a.active {\n border-color: var(--gray-15);\n color: var(--gray-15);\n}\n@media only all and (min-width: 37.5625em) {\n .o-banner {\n font-size: 1em;\n }\n}", "/* ==========================================================================\n Design System\n Notifications Styling\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.m-notification {\n display: none;\n position: relative;\n padding: 15px;\n background: var(--gray-5);\n border: 1px solid var(--gray-40);\n}\n.m-notification > .cf-icon-svg {\n position: absolute;\n fill: var(--gray);\n}\n.m-notification--success {\n background: var(--green-10);\n border-color: var(--green);\n}\n.m-notification--success > .cf-icon-svg {\n fill: var(--green);\n}\n.m-notification--warning {\n background: var(--gold-10);\n border-color: var(--gold);\n}\n.m-notification--warning > .cf-icon-svg {\n fill: var(--gold);\n}\n.m-notification--error {\n background: var(--red-10);\n border-color: var(--red);\n}\n.m-notification--error > .cf-icon-svg {\n fill: var(--red);\n}\n.m-notification--success a, .m-notification--warning a, .m-notification--error a {\n color: var(--pacific-mid-dark);\n border-color: var(--pacific-mid-dark);\n}\n.m-notification--success a:visited, .m-notification--success a.visited, .m-notification--warning a:visited, .m-notification--warning a.visited, .m-notification--error a:visited, .m-notification--error a.visited {\n border-color: var(--teal);\n color: var(--teal);\n}\n.m-notification--success a:hover, .m-notification--success a.hover, .m-notification--warning a:hover, .m-notification--warning a.hover, .m-notification--error a:hover, .m-notification--error a.hover {\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\n.m-notification--success a:focus, .m-notification--success a.focus, .m-notification--warning a:focus, .m-notification--warning a.focus, .m-notification--error a:focus, .m-notification--error a.focus {\n border-color: var(--pacific-mid-dark);\n color: var(--pacific-mid-dark);\n}\n.m-notification--success a:active, .m-notification--success a.active, .m-notification--warning a:active, .m-notification--warning a.active, .m-notification--error a:active, .m-notification--error a.active {\n border-color: var(--navy-dark);\n color: var(--navy-dark);\n}\n.m-notification--visible {\n display: block;\n}\n.cf-icon-svg + .m-notification__content {\n padding-left: 1.5625rem;\n}\n.m-notification__message {\n font-size: 1rem;\n line-height: 1.25;\n font-weight: 500;\n}\n@media only all and (min-width: 37.5625em) {\n .m-notification__message {\n font-size: 1.125rem;\n }\n}\n.m-notification__explanation {\n margin-top: 0.3125rem;\n margin-bottom: 0.9375rem;\n}\n.m-notification__message + .m-list {\n margin-top: 0.9375rem;\n}\n@media only all and (min-width: 37.5625em) {\n .m-notification .cf-icon-svg {\n font-size: 1.125rem;\n }\n .m-notification__explanation {\n margin-bottom: 0;\n }\n .m-notification .m-list {\n margin-top: 0.3125rem;\n }\n .m-notification .m-list__item {\n margin-bottom: 0.3125rem;\n }\n}\n\nhtml[lang=ar] .m-notification .cf-icon-svg + .m-notification__content {\n padding-left: initial;\n padding-right: 1.5625rem;\n}\nhtml[lang=ar] .m-notification .m-list {\n padding-right: 0;\n}", "/* ==========================================================================\n Design System\n Pagination Styling\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-pagination {\n display: grid;\n grid-template-columns: auto 1fr auto;\n grid-template-areas: \"pag-btn-prev . pag-btn-next\" \"pag-form pag-form pag-form\";\n row-gap: 0.9375rem;\n}\n.m-pagination__form {\n grid-area: pag-form;\n display: flex;\n flex-flow: wrap;\n place-content: center;\n gap: 0.625rem;\n padding: 0.3125rem;\n border-radius: 0.25rem;\n background: var(--gray-5);\n color: var(--gray);\n}\n.m-pagination__current-page {\n width: 2.8125rem;\n font-weight: 500;\n text-align: right;\n}\n.m-pagination__label {\n display: contents;\n white-space: nowrap;\n}\n.m-pagination__btn-prev {\n grid-area: pag-btn-prev;\n z-index: 1;\n}\n.m-pagination__btn-next {\n grid-area: pag-btn-next;\n z-index: 1;\n}\n@media only all and (min-width: 37.5625em) {\n .m-pagination {\n grid-template-areas: \"pag-btn-prev pag-form pag-btn-next\";\n }\n .m-pagination__btn-prev {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .m-pagination__btn-next {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Table Styling\n ========================================================================== */\n.o-table__cell--right-align {\n text-align: right;\n}\n\n.o-table--scrolling {\n box-sizing: border-box;\n overflow-y: hidden;\n}\n.o-table--scrolling table {\n border: 1px solid var(--gray-40);\n}\n.o-table--scrolling table > tbody > tr:nth-child(even) > th, .o-table--scrolling table > tbody > tr:nth-child(even) > td {\n background: var(--gray-5);\n}\n\n@media only all and (min-width: 37.5625em) {\n .o-table--striped > tbody > tr:nth-child(even) > th, .o-table--striped > tbody > tr:nth-child(even) > td {\n background: var(--gray-5);\n }\n}\n@media only screen and (max-width: 600px) {\n .o-table {\n width: 100%;\n }\n .o-table--striped tr:nth-child(even) > th, .o-table--striped tr:nth-child(even) > td {\n background: var(--white);\n }\n .o-table--stack-on-small {\n border-top: 1px solid var(--gray-40);\n }\n .o-table--stack-on-small tr,\n .o-table--stack-on-small td,\n .o-table--stack-on-small [data-display-table=row],\n .o-table--stack-on-small [data-display-table=cell] {\n display: block;\n }\n .o-table--stack-on-small th,\n .o-table--stack-on-small td,\n .o-table--stack-on-small [data-display-table=cell] {\n padding-right: 0;\n padding-left: 0;\n width: 100%;\n }\n .o-table--stack-on-small > thead,\n .o-table--stack-on-small [data-display-table=thead] {\n display: none;\n }\n .o-table--stack-on-small td[data-label]::before {\n display: block;\n margin-top: 0;\n margin-bottom: 0.3125em;\n content: attr(data-label);\n line-height: 1.83333333;\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n text-transform: uppercase;\n }\n .o-table--stack-on-small td:last-child,\n .o-table--stack-on-small [data-display-table=cell]:last-child {\n margin-bottom: 1.875em;\n }\n}", "/* ==========================================================================\n Design System\n Advanced Typography\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-date {\n color: var(--gray);\n white-space: nowrap;\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.0714285714em;\n}\np + .a-date, ul + .a-date, ol + .a-date, dl + .a-date, figure + .a-date, img + .a-date, table + .a-date, blockquote + .a-date, h1 + .a-date, .h1 + .a-date, h2 + .a-date, .h2 + .a-date, h3 + .a-date, .h3 + .a-date, h4 + .a-date, .h4 + .a-date, h6 + .a-date, .h6 + .a-date {\n margin-top: 2.1428571429em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.a-link {\n border-bottom-width: 0;\n}\n.a-link .a-link__text {\n border-bottom-width: 1px;\n border-bottom-style: inherit;\n overflow-wrap: break-word;\n}\n\n.a-link--jump {\n font-weight: 500;\n}\n@media only all and (max-width: 37.5em) {\n .a-link--jump {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.3125rem;\n box-sizing: border-box;\n padding-top: 0.625em;\n padding-bottom: 0.625em;\n width: 100%;\n }\n .a-link--jump .cf-icon-svg--right {\n margin-left: auto;\n }\n .a-link--jump .a-link__text {\n border-bottom-width: 0;\n flex-shrink: 10;\n }\n}\n\na.a-link--jump {\n font-weight: 500;\n}\n@media only all and (max-width: 37.5em) {\n a.a-link--jump {\n border-top-width: 1px;\n border-bottom-width: 1px;\n }\n a.a-link--jump:focus {\n outline: none;\n }\n a.a-link--jump:focus::after {\n content: \"\";\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n outline: 1px dotted var(--gray);\n outline-offset: 2px;\n }\n}\n\n@media only all and (max-width: 37.5em) {\n li:has(.a-link--jump) + li:has(.a-link--jump) .a-link--jump {\n position: relative;\n border-top: none;\n }\n li:has(.a-link--jump) + li:has(.a-link--jump) a.a-link--jump:hover::before,\n li:has(.a-link--jump) + li:has(.a-link--jump) a.a-link--jump:focus::before {\n position: absolute;\n top: -1px;\n content: \"\";\n display: block;\n height: 1px;\n width: 100%;\n border-top: 1px solid currentcolor;\n }\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-list--unstyled,\n.m-list--horizontal,\n.m-list--links {\n padding-left: 0;\n list-style-type: none;\n}\n.m-list--unstyled .m-list__item,\n.m-list--horizontal .m-list__item,\n.m-list--links .m-list__item {\n margin-left: 0;\n}\n\n.m-list--spaced .m-list--spaced,\n.m-list--spaced .m-list__item + .m-list__item {\n margin-top: 1.5em;\n}\n\n.m-list--horizontal .m-list__item {\n display: inline-block;\n margin-right: 0.25em;\n margin-bottom: 0;\n}\n\n@media only all and (max-width: 37.5em) {\n .m-list--links .m-list__item {\n margin-bottom: 0;\n }\n}\n\nhtml[lang=ar] .m-list {\n padding-right: 0;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-meta-header {\n display: flex;\n flex-direction: column-reverse;\n flex-wrap: wrap-reverse;\n row-gap: 0.625rem;\n column-gap: 1.3125rem;\n width: -moz-fit-content;\n width: fit-content;\n padding-bottom: 0.625rem;\n overflow: hidden;\n}\n.m-meta-header__item-group {\n display: flex;\n flex-wrap: wrap;\n column-gap: 1.3125rem;\n}\n.m-meta-header__item {\n display: grid;\n grid-template-columns: 0 auto 1fr;\n row-gap: 0.3125rem;\n text-wrap: balance;\n margin-bottom: 0;\n font-size: 1.125em;\n font-weight: 500;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\np + .m-meta-header__item, ul + .m-meta-header__item, ol + .m-meta-header__item, dl + .m-meta-header__item, figure + .m-meta-header__item, img + .m-meta-header__item, table + .m-meta-header__item, blockquote + .m-meta-header__item, h1 + .m-meta-header__item, .h1 + .m-meta-header__item, h2 + .m-meta-header__item, .h2 + .m-meta-header__item, h3 + .m-meta-header__item, .h3 + .m-meta-header__item, h5 + .m-meta-header__item, .h5 + .m-meta-header__item, h6 + .m-meta-header__item, .h6 + .m-meta-header__item {\n margin-top: 1.6666666667em;\n}\n@media only all and (max-width: 37.5em) {\n .m-meta-header__item {\n margin-bottom: 0.625em;\n font-size: 1em;\n line-height: 1.125;\n }\n}\n@media only all and (max-width: 37.5em) {\n .m-meta-header__item {\n margin-bottom: 0.3125rem;\n }\n}\n.m-meta-header__item .cf-icon-svg {\n margin-right: 0.3125rem;\n}\n.m-meta-header__item::before {\n content: \"|\";\n margin-left: -0.8125rem;\n}\n.m-meta-header__item .a-date {\n font-size: 0.875rem;\n line-height: 1.7142857143;\n margin-bottom: 0;\n}\n@media only all and (min-width: 37.5625em) {\n .m-meta-header {\n flex-direction: row;\n }\n}", "@charset \"UTF-8\";\n/* ==========================================================================\n Design System\n Advanced Typography\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-pull-quote__body {\n color: var(--black);\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\n@media only all and (max-width: 37.5em) {\n .m-pull-quote__body {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n }\n}\n.m-pull-quote__citation {\n color: var(--gray);\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.0714285714em;\n}\np + .m-pull-quote__citation, ul + .m-pull-quote__citation, ol + .m-pull-quote__citation, dl + .m-pull-quote__citation, figure + .m-pull-quote__citation, img + .m-pull-quote__citation, table + .m-pull-quote__citation, blockquote + .m-pull-quote__citation, h1 + .m-pull-quote__citation, .h1 + .m-pull-quote__citation, h2 + .m-pull-quote__citation, .h2 + .m-pull-quote__citation, h3 + .m-pull-quote__citation, .h3 + .m-pull-quote__citation, h4 + .m-pull-quote__citation, .h4 + .m-pull-quote__citation, h6 + .m-pull-quote__citation, .h6 + .m-pull-quote__citation {\n margin-top: 2.1428571429em;\n}\n.m-pull-quote__citation::before {\n content: \"\u2014\";\n}", "/* ==========================================================================\n Design System\n Advanced Typography\n ========================================================================== */\n/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-slug-header {\n border-top: 1px solid var(--gray-40);\n}\n.m-slug-header__heading {\n display: inline-block;\n padding-top: 0.2857142857em;\n border-top: 5px solid var(--green);\n margin-top: -3px;\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.0714285714em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-tagline {\n font-size: 0.75rem;\n display: grid;\n grid-template-columns: 22px 1fr;\n grid-column-gap: 10px;\n}\n.a-tagline__text {\n display: inline-block;\n}\n.a-tagline .u-usa-flag {\n margin-top: 1px;\n}\n.a-tagline--large {\n font-size: 1rem;\n}\n.a-tagline--large .u-usa-flag {\n margin-top: 4px;\n}\n\n.u-usa-flag {\n display: inline-block;\n width: 24px;\n height: 13px;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAZCAMAAABAf11LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5QTFRF////sxlC7MbQ2YyhxlNxCjFhR2WJV3GSKUt1dYumOFh/GT5rhZiwwszYsr/OlKW6Zn6c0djh8PL1iR9Ko7LE4OXrl0pttKC0pXWRtYKbSuJhRQAAANFJREFUeNrkkctuwyAUREnSuW/ApHYf//+jBVdZVcJi3aORgAXcMyLBAAJEzsVG3m8TkifyI3zfPQ6nJJLo421CArSBmkgjNEWtQE4zXJmClXuCWIlU5hdQxCqbqnE1KdIz79CVDvBwZxyKfQfmHTyzl01UZSvOWSTbhZLSWeDMufWLC/1ls3amT4qQq394EjIjApxBT+/nr8eEBNuKcB9SWMpmEXalNOylmlUZNTr4vE/4VdKhpC+leQf6y/e0wzL3RdJtkfUJyzwW+ZcdfgQYAJmJD3zerW6OAAAAAElFTkSuQmCC\");\n background-size: contain;\n background-repeat: no-repeat;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0;\n}\n\n[data-tippy-root] {\n max-width: calc(100vw - 10px);\n}\n\n.tippy-box {\n position: relative;\n background-color: #333;\n color: #fff;\n border-radius: 4px;\n font-size: 14px;\n line-height: 1.4;\n white-space: normal;\n outline: 0;\n transition-property: transform, visibility, opacity;\n}\n\n.tippy-box[data-placement^=top] > .tippy-arrow {\n bottom: 0;\n}\n\n.tippy-box[data-placement^=top] > .tippy-arrow:before {\n bottom: -7px;\n left: 0;\n border-width: 8px 8px 0;\n border-top-color: initial;\n transform-origin: center top;\n}\n\n.tippy-box[data-placement^=bottom] > .tippy-arrow {\n top: 0;\n}\n\n.tippy-box[data-placement^=bottom] > .tippy-arrow:before {\n top: -7px;\n left: 0;\n border-width: 0 8px 8px;\n border-bottom-color: initial;\n transform-origin: center bottom;\n}\n\n.tippy-box[data-placement^=left] > .tippy-arrow {\n right: 0;\n}\n\n.tippy-box[data-placement^=left] > .tippy-arrow:before {\n border-width: 8px 0 8px 8px;\n border-left-color: initial;\n right: -7px;\n transform-origin: center left;\n}\n\n.tippy-box[data-placement^=right] > .tippy-arrow {\n left: 0;\n}\n\n.tippy-box[data-placement^=right] > .tippy-arrow:before {\n left: -7px;\n border-width: 8px 8px 8px 0;\n border-right-color: initial;\n transform-origin: center right;\n}\n\n.tippy-box[data-inertia][data-state=visible] {\n transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);\n}\n\n.tippy-arrow {\n width: 16px;\n height: 16px;\n color: #333;\n}\n\n.tippy-arrow:before {\n content: \"\";\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tippy-content {\n position: relative;\n padding: 5px 9px;\n z-index: 1;\n}\n\n.tippy-box {\n border: 1px transparent;\n}\n\n.tippy-box[data-placement^=top] > .tippy-arrow:after {\n border-top-color: inherit;\n border-width: 8px 8px 0;\n bottom: -8px;\n left: 0;\n}\n\n.tippy-box[data-placement^=bottom] > .tippy-arrow:after {\n border-bottom-color: inherit;\n border-width: 0 8px 8px;\n top: -8px;\n left: 0;\n}\n\n.tippy-box[data-placement^=left] > .tippy-arrow:after {\n border-left-color: inherit;\n border-width: 8px 0 8px 8px;\n right: -8px;\n top: 0;\n}\n\n.tippy-box[data-placement^=right] > .tippy-arrow:after {\n border-width: 8px 8px 8px 0;\n left: -8px;\n top: 0;\n border-right-color: inherit;\n}\n\n.tippy-box[data-placement^=top] > .tippy-svg-arrow > svg:first-child:not(:last-child) {\n top: 17px;\n}\n\n.tippy-box[data-placement^=bottom] > .tippy-svg-arrow > svg:first-child:not(:last-child) {\n bottom: 17px;\n}\n\n.tippy-box[data-placement^=left] > .tippy-svg-arrow > svg:first-child:not(:last-child) {\n left: 12px;\n}\n\n.tippy-box[data-placement^=right] > .tippy-svg-arrow > svg:first-child:not(:last-child) {\n right: 12px;\n}\n\n.tippy-arrow {\n border-color: inherit;\n}\n\n.tippy-arrow:after {\n content: \"\";\n z-index: -1;\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tippy-box[data-theme=cfpb] {\n background-color: var(--gray-5);\n border: 1px solid var(--gray-40);\n border-radius: 0;\n color: var(--black);\n padding: 0.9375rem;\n}\n.tippy-box[data-theme=cfpb] .tippy-arrow {\n color: var(--gray-5);\n}\n.tippy-box[data-theme=cfpb] .tippy-heading {\n font-weight: 500;\n font-size: 1.125rem;\n}\n.tippy-box[data-theme=cfpb] .tippy-body {\n font-size: 1rem;\n margin-top: 0.9375rem;\n}\n\n[data-tooltip] {\n cursor: pointer;\n}\n.no-js [data-tooltip] {\n display: none;\n}"],
+ "mappings": "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",
+ "names": []
+}
diff --git a/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js
new file mode 100644
index 0000000000..3aeff3e671
--- /dev/null
+++ b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js
@@ -0,0 +1,2 @@
+(()=>{var vo=Object.defineProperty;var go=Object.getOwnPropertySymbols;var ka=Object.prototype.hasOwnProperty,Sa=Object.prototype.propertyIsEnumerable;var bo=(e,t,r)=>t in e?vo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,nr=(e,t)=>{for(var r in t||(t={}))ka.call(t,r)&&bo(e,r,t[r]);if(go)for(var r of go(t))Sa.call(t,r)&&bo(e,r,t[r]);return e};var j=(e,t)=>{for(var r in t)vo(e,r,{get:t[r],enumerable:!0})};var $="top",J="bottom",K="right",G="left",Nt="auto",Me=[$,J,K,G],Oe="start",Ve="end",yo="clippingParents",zt="viewport",et="popper",xo="reference",sr=Me.reduce(function(e,t){return e.concat([t+"-"+Oe,t+"-"+Ve])},[]),Pt=[].concat(Me,[Nt]).reduce(function(e,t){return e.concat([t,t+"-"+Oe,t+"-"+Ve])},[]),Ea="beforeRead",Da="read",Oa="afterRead",La="beforeMain",Aa="main",Ta="afterMain",ja="beforeWrite",Ca="write",Ma="afterWrite",_o=[Ea,Da,Oa,La,Aa,Ta,ja,Ca,Ma];function ee(e){return e?(e.nodeName||"").toLowerCase():null}function H(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function me(e){var t=H(e).Element;return e instanceof t||e instanceof Element}function Z(e){var t=H(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function tt(e){if(typeof ShadowRoot=="undefined")return!1;var t=H(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Ba(e){var t=e.state;Object.keys(t.elements).forEach(function(r){var o=t.styles[r]||{},a=t.attributes[r]||{},i=t.elements[r];!Z(i)||!ee(i)||(Object.assign(i.style,o),Object.keys(a).forEach(function(s){var d=a[s];d===!1?i.removeAttribute(s):i.setAttribute(s,d===!0?"":d)}))})}function Ia(e){var t=e.state,r={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,r.popper),t.styles=r,t.elements.arrow&&Object.assign(t.elements.arrow.style,r.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],i=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:r[o]),d=s.reduce(function(l,m){return l[m]="",l},{});!Z(a)||!ee(a)||(Object.assign(a.style,d),Object.keys(i).forEach(function(l){a.removeAttribute(l)}))})}}var ut={name:"applyStyles",enabled:!0,phase:"write",fn:Ba,effect:Ia,requires:["computeStyles"]};function te(e){return e.split("-")[0]}var be=Math.max,qe=Math.min,Le=Math.round;function rt(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function ht(){return!/^((?!chrome|android).)*safari/i.test(rt())}function ue(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!1);var o=e.getBoundingClientRect(),a=1,i=1;t&&Z(e)&&(a=e.offsetWidth>0&&Le(o.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Le(o.height)/e.offsetHeight||1);var s=me(e)?H(e):window,d=s.visualViewport,l=!ht()&&r,m=(o.left+(l&&d?d.offsetLeft:0))/a,c=(o.top+(l&&d?d.offsetTop:0))/i,v=o.width/a,y=o.height/i;return{width:v,height:y,top:c,right:m+v,bottom:c+y,left:m,x:m,y:c}}function He(e){var t=ue(e),r=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-r)<=1&&(r=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:r,height:o}}function ft(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(r&&tt(r)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function se(e){return H(e).getComputedStyle(e)}function lr(e){return["table","td","th"].indexOf(ee(e))>=0}function ae(e){return((me(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ae(e){return ee(e)==="html"?e:e.assignedSlot||e.parentNode||(tt(e)?e.host:null)||ae(e)}function wo(e){return!Z(e)||se(e).position==="fixed"?null:e.offsetParent}function Na(e){var t=/firefox/i.test(rt()),r=/Trident/i.test(rt());if(r&&Z(e)){var o=se(e);if(o.position==="fixed")return null}var a=Ae(e);for(tt(a)&&(a=a.host);Z(a)&&["html","body"].indexOf(ee(a))<0;){var i=se(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return a;a=a.parentNode}return null}function ve(e){for(var t=H(e),r=wo(e);r&&lr(r)&&se(r).position==="static";)r=wo(r);return r&&(ee(r)==="html"||ee(r)==="body"&&se(r).position==="static")?t:r||Na(e)||t}function $e(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Fe(e,t,r){return be(e,qe(t,r))}function ko(e,t,r){var o=Fe(e,t,r);return o>r?r:o}function gt(){return{top:0,right:0,bottom:0,left:0}}function bt(e){return Object.assign({},gt(),e)}function vt(e,t){return t.reduce(function(r,o){return r[o]=e,r},{})}var za=function(t,r){return t=typeof t=="function"?t(Object.assign({},r.rects,{placement:r.placement})):t,bt(typeof t!="number"?t:vt(t,Me))};function Pa(e){var t,r=e.state,o=e.name,a=e.options,i=r.elements.arrow,s=r.modifiersData.popperOffsets,d=te(r.placement),l=$e(d),m=[G,K].indexOf(d)>=0,c=m?"height":"width";if(!(!i||!s)){var v=za(a.padding,r),y=He(i),f=l==="y"?$:G,E=l==="y"?J:K,w=r.rects.reference[c]+r.rects.reference[l]-s[l]-r.rects.popper[c],k=s[l]-r.rects.reference[l],L=ve(i),T=L?l==="y"?L.clientHeight||0:L.clientWidth||0:0,B=w/2-k/2,n=v[f],b=T-y[c]-v[E],h=T/2-y[c]/2+B,A=Fe(n,h,b),S=l;r.modifiersData[o]=(t={},t[S]=A,t.centerOffset=A-h,t)}}function Ra(e){var t=e.state,r=e.options,o=r.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||ft(t.elements.popper,a)&&(t.elements.arrow=a))}var So={name:"arrow",enabled:!0,phase:"main",fn:Pa,effect:Ra,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function he(e){return e.split("-")[1]}var Va={top:"auto",right:"auto",bottom:"auto",left:"auto"};function qa(e,t){var r=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:Le(r*a)/a||0,y:Le(o*a)/a||0}}function Eo(e){var t,r=e.popper,o=e.popperRect,a=e.placement,i=e.variation,s=e.offsets,d=e.position,l=e.gpuAcceleration,m=e.adaptive,c=e.roundOffsets,v=e.isFixed,y=s.x,f=y===void 0?0:y,E=s.y,w=E===void 0?0:E,k=typeof c=="function"?c({x:f,y:w}):{x:f,y:w};f=k.x,w=k.y;var L=s.hasOwnProperty("x"),T=s.hasOwnProperty("y"),B=G,n=$,b=window;if(m){var h=ve(r),A="clientHeight",S="clientWidth";if(h===H(r)&&(h=ae(r),se(h).position!=="static"&&d==="absolute"&&(A="scrollHeight",S="scrollWidth")),h=h,a===$||(a===G||a===K)&&i===Ve){n=J;var C=v&&h===b&&b.visualViewport?b.visualViewport.height:h[A];w-=C-o.height,w*=l?1:-1}if(a===G||(a===$||a===J)&&i===Ve){B=K;var M=v&&h===b&&b.visualViewport?b.visualViewport.width:h[S];f-=M-o.width,f*=l?1:-1}}var z=Object.assign({position:d},m&&Va),P=c===!0?qa({x:f,y:w},H(r)):{x:f,y:w};if(f=P.x,w=P.y,l){var V;return Object.assign({},z,(V={},V[n]=T?"0":"",V[B]=L?"0":"",V.transform=(b.devicePixelRatio||1)<=1?"translate("+f+"px, "+w+"px)":"translate3d("+f+"px, "+w+"px, 0)",V))}return Object.assign({},z,(t={},t[n]=T?w+"px":"",t[B]=L?f+"px":"",t.transform="",t))}function Ha(e){var t=e.state,r=e.options,o=r.gpuAcceleration,a=o===void 0?!0:o,i=r.adaptive,s=i===void 0?!0:i,d=r.roundOffsets,l=d===void 0?!0:d,m={placement:te(t.placement),variation:he(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Eo(Object.assign({},m,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Eo(Object.assign({},m,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var Do={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Ha,data:{}};var Rt={passive:!0};function $a(e){var t=e.state,r=e.instance,o=e.options,a=o.scroll,i=a===void 0?!0:a,s=o.resize,d=s===void 0?!0:s,l=H(t.elements.popper),m=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&m.forEach(function(c){c.addEventListener("scroll",r.update,Rt)}),d&&l.addEventListener("resize",r.update,Rt),function(){i&&m.forEach(function(c){c.removeEventListener("scroll",r.update,Rt)}),d&&l.removeEventListener("resize",r.update,Rt)}}var Oo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:$a,data:{}};var Fa={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(e){return e.replace(/left|right|bottom|top/g,function(t){return Fa[t]})}var Ua={start:"end",end:"start"};function Vt(e){return e.replace(/start|end/g,function(t){return Ua[t]})}function Ue(e){var t=H(e),r=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:r,scrollTop:o}}function We(e){return ue(ae(e)).left+Ue(e).scrollLeft}function dr(e,t){var r=H(e),o=ae(e),a=r.visualViewport,i=o.clientWidth,s=o.clientHeight,d=0,l=0;if(a){i=a.width,s=a.height;var m=ht();(m||!m&&t==="fixed")&&(d=a.offsetLeft,l=a.offsetTop)}return{width:i,height:s,x:d+We(e),y:l}}function cr(e){var t,r=ae(e),o=Ue(e),a=(t=e.ownerDocument)==null?void 0:t.body,i=be(r.scrollWidth,r.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=be(r.scrollHeight,r.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),d=-o.scrollLeft+We(e),l=-o.scrollTop;return se(a||r).direction==="rtl"&&(d+=be(r.clientWidth,a?a.clientWidth:0)-i),{width:i,height:s,x:d,y:l}}function Ge(e){var t=se(e),r=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(r+a+o)}function qt(e){return["html","body","#document"].indexOf(ee(e))>=0?e.ownerDocument.body:Z(e)&&Ge(e)?e:qt(Ae(e))}function Be(e,t){var r;t===void 0&&(t=[]);var o=qt(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=H(o),s=a?[i].concat(i.visualViewport||[],Ge(o)?o:[]):o,d=t.concat(s);return a?d:d.concat(Be(Ae(s)))}function at(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Wa(e,t){var r=ue(e,!1,t==="fixed");return r.top=r.top+e.clientTop,r.left=r.left+e.clientLeft,r.bottom=r.top+e.clientHeight,r.right=r.left+e.clientWidth,r.width=e.clientWidth,r.height=e.clientHeight,r.x=r.left,r.y=r.top,r}function Lo(e,t,r){return t===zt?at(dr(e,r)):me(t)?Wa(t,r):at(cr(ae(e)))}function Ga(e){var t=Be(Ae(e)),r=["absolute","fixed"].indexOf(se(e).position)>=0,o=r&&Z(e)?ve(e):e;return me(o)?t.filter(function(a){return me(a)&&ft(a,o)&&ee(a)!=="body"}):[]}function pr(e,t,r,o){var a=t==="clippingParents"?Ga(e):[].concat(t),i=[].concat(a,[r]),s=i[0],d=i.reduce(function(l,m){var c=Lo(e,m,o);return l.top=be(c.top,l.top),l.right=qe(c.right,l.right),l.bottom=qe(c.bottom,l.bottom),l.left=be(c.left,l.left),l},Lo(e,s,o));return d.width=d.right-d.left,d.height=d.bottom-d.top,d.x=d.left,d.y=d.top,d}function yt(e){var t=e.reference,r=e.element,o=e.placement,a=o?te(o):null,i=o?he(o):null,s=t.x+t.width/2-r.width/2,d=t.y+t.height/2-r.height/2,l;switch(a){case $:l={x:s,y:t.y-r.height};break;case J:l={x:s,y:t.y+t.height};break;case K:l={x:t.x+t.width,y:d};break;case G:l={x:t.x-r.width,y:d};break;default:l={x:t.x,y:t.y}}var m=a?$e(a):null;if(m!=null){var c=m==="y"?"height":"width";switch(i){case Oe:l[m]=l[m]-(t[c]/2-r[c]/2);break;case Ve:l[m]=l[m]+(t[c]/2-r[c]/2);break;default:}}return l}function ye(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=o===void 0?e.placement:o,i=r.strategy,s=i===void 0?e.strategy:i,d=r.boundary,l=d===void 0?yo:d,m=r.rootBoundary,c=m===void 0?zt:m,v=r.elementContext,y=v===void 0?et:v,f=r.altBoundary,E=f===void 0?!1:f,w=r.padding,k=w===void 0?0:w,L=bt(typeof k!="number"?k:vt(k,Me)),T=y===et?xo:et,B=e.rects.popper,n=e.elements[E?T:y],b=pr(me(n)?n:n.contextElement||ae(e.elements.popper),l,c,s),h=ue(e.elements.reference),A=yt({reference:h,element:B,strategy:"absolute",placement:a}),S=at(Object.assign({},B,A)),C=y===et?S:h,M={top:b.top-C.top+L.top,bottom:C.bottom-b.bottom+L.bottom,left:b.left-C.left+L.left,right:C.right-b.right+L.right},z=e.modifiersData.offset;if(y===et&&z){var P=z[a];Object.keys(M).forEach(function(V){var re=[K,J].indexOf(V)>=0?1:-1,oe=[$,J].indexOf(V)>=0?"y":"x";M[V]+=P[oe]*re})}return M}function mr(e,t){t===void 0&&(t={});var r=t,o=r.placement,a=r.boundary,i=r.rootBoundary,s=r.padding,d=r.flipVariations,l=r.allowedAutoPlacements,m=l===void 0?Pt:l,c=he(o),v=c?d?sr:sr.filter(function(E){return he(E)===c}):Me,y=v.filter(function(E){return m.indexOf(E)>=0});y.length===0&&(y=v);var f=y.reduce(function(E,w){return E[w]=ye(e,{placement:w,boundary:a,rootBoundary:i,padding:s})[te(w)],E},{});return Object.keys(f).sort(function(E,w){return f[E]-f[w]})}function Xa(e){if(te(e)===Nt)return[];var t=ot(e);return[Vt(e),t,Vt(t)]}function Ya(e){var t=e.state,r=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=r.mainAxis,i=a===void 0?!0:a,s=r.altAxis,d=s===void 0?!0:s,l=r.fallbackPlacements,m=r.padding,c=r.boundary,v=r.rootBoundary,y=r.altBoundary,f=r.flipVariations,E=f===void 0?!0:f,w=r.allowedAutoPlacements,k=t.options.placement,L=te(k),T=L===k,B=l||(T||!E?[ot(k)]:Xa(k)),n=[k].concat(B).reduce(function(N,W){return N.concat(te(W)===Nt?mr(t,{placement:W,boundary:c,rootBoundary:v,padding:m,flipVariations:E,allowedAutoPlacements:w}):W)},[]),b=t.rects.reference,h=t.rects.popper,A=new Map,S=!0,C=n[0],M=0;M=0,oe=re?"width":"height",F=ye(t,{placement:z,boundary:c,rootBoundary:v,altBoundary:y,padding:m}),X=re?V?K:G:V?J:$;b[oe]>h[oe]&&(X=ot(X));var U=ot(X),Q=[];if(i&&Q.push(F[P]<=0),d&&Q.push(F[X]<=0,F[U]<=0),Q.every(function(N){return N})){C=z,S=!1;break}A.set(z,Q)}if(S)for(var u=E?3:1,g=function(W){var Y=n.find(function(Te){var Ee=A.get(Te);if(Ee)return Ee.slice(0,W).every(function(Ke){return Ke})});if(Y)return C=Y,"break"},x=u;x>0;x--){var D=g(x);if(D==="break")break}t.placement!==C&&(t.modifiersData[o]._skip=!0,t.placement=C,t.reset=!0)}}var Ao={name:"flip",enabled:!0,phase:"main",fn:Ya,requiresIfExists:["offset"],data:{_skip:!1}};function To(e,t,r){return r===void 0&&(r={x:0,y:0}),{top:e.top-t.height-r.y,right:e.right-t.width+r.x,bottom:e.bottom-t.height+r.y,left:e.left-t.width-r.x}}function jo(e){return[$,K,J,G].some(function(t){return e[t]>=0})}function Ka(e){var t=e.state,r=e.name,o=t.rects.reference,a=t.rects.popper,i=t.modifiersData.preventOverflow,s=ye(t,{elementContext:"reference"}),d=ye(t,{altBoundary:!0}),l=To(s,o),m=To(d,a,i),c=jo(l),v=jo(m);t.modifiersData[r]={referenceClippingOffsets:l,popperEscapeOffsets:m,isReferenceHidden:c,hasPopperEscaped:v},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":v})}var Co={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Ka};function Ja(e,t,r){var o=te(e),a=[G,$].indexOf(o)>=0?-1:1,i=typeof r=="function"?r(Object.assign({},t,{placement:e})):r,s=i[0],d=i[1];return s=s||0,d=(d||0)*a,[G,K].indexOf(o)>=0?{x:d,y:s}:{x:s,y:d}}function Za(e){var t=e.state,r=e.options,o=e.name,a=r.offset,i=a===void 0?[0,0]:a,s=Pt.reduce(function(c,v){return c[v]=Ja(v,t.rects,i),c},{}),d=s[t.placement],l=d.x,m=d.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=m),t.modifiersData[o]=s}var Mo={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Za};function Qa(e){var t=e.state,r=e.name;t.modifiersData[r]=yt({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var Bo={name:"popperOffsets",enabled:!0,phase:"read",fn:Qa,data:{}};function ur(e){return e==="x"?"y":"x"}function ei(e){var t=e.state,r=e.options,o=e.name,a=r.mainAxis,i=a===void 0?!0:a,s=r.altAxis,d=s===void 0?!1:s,l=r.boundary,m=r.rootBoundary,c=r.altBoundary,v=r.padding,y=r.tether,f=y===void 0?!0:y,E=r.tetherOffset,w=E===void 0?0:E,k=ye(t,{boundary:l,rootBoundary:m,padding:v,altBoundary:c}),L=te(t.placement),T=he(t.placement),B=!T,n=$e(L),b=ur(n),h=t.modifiersData.popperOffsets,A=t.rects.reference,S=t.rects.popper,C=typeof w=="function"?w(Object.assign({},t.rects,{placement:t.placement})):w,M=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),z=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,P={x:0,y:0};if(h){if(i){var V,re=n==="y"?$:G,oe=n==="y"?J:K,F=n==="y"?"height":"width",X=h[n],U=X+k[re],Q=X-k[oe],u=f?-S[F]/2:0,g=T===Oe?A[F]:S[F],x=T===Oe?-S[F]:-A[F],D=t.elements.arrow,N=f&&D?He(D):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:gt(),Y=W[re],Te=W[oe],Ee=Fe(0,A[F],N[F]),Ke=B?A[F]/2-u-Ee-Y-M.mainAxis:g-Ee-Y-M.mainAxis,je=B?-A[F]/2+u+Ee+Te+M.mainAxis:x+Ee+Te+M.mainAxis,Je=t.elements.arrow&&ve(t.elements.arrow),Et=Je?n==="y"?Je.clientTop||0:Je.clientLeft||0:0,lt=(V=z==null?void 0:z[n])!=null?V:0,Dt=X+Ke-lt-Et,Ot=X+je-lt,dt=Fe(f?qe(U,Dt):U,X,f?be(Q,Ot):Q);h[n]=dt,P[n]=dt-X}if(d){var ct,Lt=n==="x"?$:G,At=n==="x"?J:K,De=h[b],Ce=b==="y"?"height":"width",pt=De+k[Lt],Pe=De-k[At],mt=[$,G].indexOf(L)!==-1,Tt=(ct=z==null?void 0:z[b])!=null?ct:0,jt=mt?pt:De-A[Ce]-S[Ce]-Tt+M.altAxis,Ct=mt?De+A[Ce]+S[Ce]-Tt-M.altAxis:Pe,Mt=f&&mt?ko(jt,De,Ct):Fe(f?jt:pt,De,f?Ct:Pe);h[b]=Mt,P[b]=Mt-De}t.modifiersData[o]=P}}var Io={name:"preventOverflow",enabled:!0,phase:"main",fn:ei,requiresIfExists:["offset"]};function hr(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function fr(e){return e===H(e)||!Z(e)?Ue(e):hr(e)}function ti(e){var t=e.getBoundingClientRect(),r=Le(t.width)/e.offsetWidth||1,o=Le(t.height)/e.offsetHeight||1;return r!==1||o!==1}function gr(e,t,r){r===void 0&&(r=!1);var o=Z(t),a=Z(t)&&ti(t),i=ae(t),s=ue(e,a,r),d={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!r)&&((ee(t)!=="body"||Ge(i))&&(d=fr(t)),Z(t)?(l=ue(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=We(i))),{x:s.left+d.scrollLeft-l.x,y:s.top+d.scrollTop-l.y,width:s.width,height:s.height}}function ri(e){var t=new Map,r=new Set,o=[];e.forEach(function(i){t.set(i.name,i)});function a(i){r.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(d){if(!r.has(d)){var l=t.get(d);l&&a(l)}}),o.push(i)}return e.forEach(function(i){r.has(i.name)||a(i)}),o}function br(e){var t=ri(e);return _o.reduce(function(r,o){return r.concat(t.filter(function(a){return a.phase===o}))},[])}function vr(e){var t;return function(){return t||(t=new Promise(function(r){Promise.resolve().then(function(){t=void 0,r(e())})})),t}}function yr(e){var t=e.reduce(function(r,o){var a=r[o.name];return r[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,r},{});return Object.keys(t).map(function(r){return t[r]})}var No={placement:"bottom",modifiers:[],strategy:"absolute"};function zo(){for(var e=arguments.length,t=new Array(e),r=0;r-1}function Zo(e,t){return typeof e=="function"?e.apply(void 0,t):e}function Ro(e,t){if(t===0)return e;var r;return function(o){clearTimeout(r),r=setTimeout(function(){e(o)},t)}}function ni(e){return e.split(/\s+/).filter(Boolean)}function it(e){return[].concat(e)}function Vo(e,t){e.indexOf(t)===-1&&e.push(t)}function si(e){return e.filter(function(t,r){return e.indexOf(t)===r})}function li(e){return e.split("-")[0]}function $t(e){return[].slice.call(e)}function qo(e){return Object.keys(e).reduce(function(t,r){return e[r]!==void 0&&(t[r]=e[r]),t},{})}function xt(){return document.createElement("div")}function Ft(e){return["Element","Fragment"].some(function(t){return Or(e,t)})}function di(e){return Or(e,"NodeList")}function ci(e){return Or(e,"MouseEvent")}function pi(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function mi(e){return Ft(e)?[e]:di(e)?$t(e):Array.isArray(e)?e:$t(document.querySelectorAll(e))}function wr(e,t){e.forEach(function(r){r&&(r.style.transitionDuration=t+"ms")})}function Ho(e,t){e.forEach(function(r){r&&r.setAttribute("data-state",t)})}function ui(e){var t,r=it(e),o=r[0];return o!=null&&(t=o.ownerDocument)!=null&&t.body?o.ownerDocument:document}function hi(e,t){var r=t.clientX,o=t.clientY;return e.every(function(a){var i=a.popperRect,s=a.popperState,d=a.props,l=d.interactiveBorder,m=li(s.placement),c=s.modifiersData.offset;if(!c)return!0;var v=m==="bottom"?c.top.y:0,y=m==="top"?c.bottom.y:0,f=m==="right"?c.left.x:0,E=m==="left"?c.right.x:0,w=i.top-o+v>l,k=o-i.bottom-y>l,L=i.left-r+f>l,T=r-i.right-E>l;return w||k||L||T})}function kr(e,t,r){var o=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(a){e[o](a,r)})}function $o(e,t){for(var r=t;r;){var o;if(e.contains(r))return!0;r=r.getRootNode==null||(o=r.getRootNode())==null?void 0:o.host}return!1}var Se={isTouch:!1},Fo=0;function fi(){Se.isTouch||(Se.isTouch=!0,window.performance&&document.addEventListener("mousemove",Qo))}function Qo(){var e=performance.now();e-Fo<20&&(Se.isTouch=!1,document.removeEventListener("mousemove",Qo)),Fo=e}function gi(){var e=document.activeElement;if(pi(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function bi(){document.addEventListener("touchstart",fi,Xe),window.addEventListener("blur",gi)}var vi=typeof window!="undefined"&&typeof document!="undefined",yi=vi?!!window.msCrypto:!1;var xi={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},_i={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},xe=Object.assign({appendTo:Jo,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},xi,_i),wi=Object.keys(xe),ki=function(t){var r=Object.keys(t);r.forEach(function(o){xe[o]=t[o]})};function ea(e){var t=e.plugins||[],r=t.reduce(function(o,a){var i=a.name,s=a.defaultValue;if(i){var d;o[i]=e[i]!==void 0?e[i]:(d=xe[i])!=null?d:s}return o},{});return Object.assign({},e,r)}function Si(e,t){var r=t?Object.keys(ea(Object.assign({},xe,{plugins:t}))):wi,o=r.reduce(function(a,i){var s=(e.getAttribute("data-tippy-"+i)||"").trim();if(!s)return a;if(i==="content")a[i]=s;else try{a[i]=JSON.parse(s)}catch(d){a[i]=s}return a},{});return o}function Uo(e,t){var r=Object.assign({},t,{content:Zo(t.content,[e])},t.ignoreAttributes?{}:Si(e,t.plugins));return r.aria=Object.assign({},xe.aria,r.aria),r.aria={expanded:r.aria.expanded==="auto"?t.interactive:r.aria.expanded,content:r.aria.content==="auto"?t.interactive?null:"describedby":r.aria.content},r}var Ei=function(){return"innerHTML"};function Er(e,t){e[Ei()]=t}function Wo(e){var t=xt();return e===!0?t.className=Yo:(t.className=Ko,Ft(e)?t.appendChild(e):Er(t,e)),t}function Go(e,t){Ft(t.content)?(Er(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?Er(e,t.content):e.textContent=t.content)}function Dr(e){var t=e.firstElementChild,r=$t(t.children);return{box:t,content:r.find(function(o){return o.classList.contains(Xo)}),arrow:r.find(function(o){return o.classList.contains(Yo)||o.classList.contains(Ko)}),backdrop:r.find(function(o){return o.classList.contains(ii)})}}function ta(e){var t=xt(),r=xt();r.className=ai,r.setAttribute("data-state","hidden"),r.setAttribute("tabindex","-1");var o=xt();o.className=Xo,o.setAttribute("data-state","hidden"),Go(o,e.props),t.appendChild(r),r.appendChild(o),a(e.props,e.props);function a(i,s){var d=Dr(t),l=d.box,m=d.content,c=d.arrow;s.theme?l.setAttribute("data-theme",s.theme):l.removeAttribute("data-theme"),typeof s.animation=="string"?l.setAttribute("data-animation",s.animation):l.removeAttribute("data-animation"),s.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof s.maxWidth=="number"?s.maxWidth+"px":s.maxWidth,s.role?l.setAttribute("role",s.role):l.removeAttribute("role"),(i.content!==s.content||i.allowHTML!==s.allowHTML)&&Go(m,e.props),s.arrow?c?i.arrow!==s.arrow&&(l.removeChild(c),l.appendChild(Wo(s.arrow))):l.appendChild(Wo(s.arrow)):c&&l.removeChild(c)}return{popper:t,onUpdate:a}}ta.$$tippy=!0;var Di=1,Ht=[],Sr=[];function Oi(e,t){var r=Uo(e,Object.assign({},xe,ea(qo(t)))),o,a,i,s=!1,d=!1,l=!1,m=!1,c,v,y,f=[],E=Ro(Dt,r.interactiveDebounce),w,k=Di++,L=null,T=si(r.plugins),B={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},n={id:k,reference:e,popper:xt(),popperInstance:L,props:r,state:B,plugins:T,clearDelayTimeouts:jt,setProps:Ct,setContent:Mt,show:ba,hide:va,hideWithInteractivity:ya,enable:mt,disable:Tt,unmount:xa,destroy:_a};if(!r.render)return n;var b=r.render(n),h=b.popper,A=b.onUpdate;h.setAttribute("data-tippy-root",""),h.id="tippy-"+n.id,n.popper=h,e._tippy=n,h._tippy=n;var S=T.map(function(p){return p.fn(n)}),C=e.hasAttribute("aria-expanded");return Je(),u(),X(),U("onCreate",[n]),r.showOnCreate&&pt(),h.addEventListener("mouseenter",function(){n.props.interactive&&n.state.isVisible&&n.clearDelayTimeouts()}),h.addEventListener("mouseleave",function(){n.props.interactive&&n.props.trigger.indexOf("mouseenter")>=0&&re().addEventListener("mousemove",E)}),n;function M(){var p=n.props.touch;return Array.isArray(p)?p:[p,0]}function z(){return M()[0]==="hold"}function P(){var p;return!!((p=n.props.render)!=null&&p.$$tippy)}function V(){return w||e}function re(){var p=V().parentNode;return p?ui(p):document}function oe(){return Dr(h)}function F(p){return n.state.isMounted&&!n.state.isVisible||Se.isTouch||c&&c.type==="focus"?0:_r(n.props.delay,p?0:1,xe.delay)}function X(p){p===void 0&&(p=!1),h.style.pointerEvents=n.props.interactive&&!p?"":"none",h.style.zIndex=""+n.props.zIndex}function U(p,_,O){if(O===void 0&&(O=!0),S.forEach(function(I){I[p]&&I[p].apply(I,_)}),O){var R;(R=n.props)[p].apply(R,_)}}function Q(){var p=n.props.aria;if(p.content){var _="aria-"+p.content,O=h.id,R=it(n.props.triggerTarget||e);R.forEach(function(I){var ne=I.getAttribute(_);if(n.state.isVisible)I.setAttribute(_,ne?ne+" "+O:O);else{var pe=ne&&ne.replace(O,"").trim();pe?I.setAttribute(_,pe):I.removeAttribute(_)}})}}function u(){if(!(C||!n.props.aria.expanded)){var p=it(n.props.triggerTarget||e);p.forEach(function(_){n.props.interactive?_.setAttribute("aria-expanded",n.state.isVisible&&_===V()?"true":"false"):_.removeAttribute("aria-expanded")})}}function g(){re().removeEventListener("mousemove",E),Ht=Ht.filter(function(p){return p!==E})}function x(p){if(!(Se.isTouch&&(l||p.type==="mousedown"))){var _=p.composedPath&&p.composedPath()[0]||p.target;if(!(n.props.interactive&&$o(h,_))){if(it(n.props.triggerTarget||e).some(function(O){return $o(O,_)})){if(Se.isTouch||n.state.isVisible&&n.props.trigger.indexOf("click")>=0)return}else U("onClickOutside",[n,p]);n.props.hideOnClick===!0&&(n.clearDelayTimeouts(),n.hide(),d=!0,setTimeout(function(){d=!1}),n.state.isMounted||Y())}}}function D(){l=!0}function N(){l=!1}function W(){var p=re();p.addEventListener("mousedown",x,!0),p.addEventListener("touchend",x,Xe),p.addEventListener("touchstart",N,Xe),p.addEventListener("touchmove",D,Xe)}function Y(){var p=re();p.removeEventListener("mousedown",x,!0),p.removeEventListener("touchend",x,Xe),p.removeEventListener("touchstart",N,Xe),p.removeEventListener("touchmove",D,Xe)}function Te(p,_){Ke(p,function(){!n.state.isVisible&&h.parentNode&&h.parentNode.contains(h)&&_()})}function Ee(p,_){Ke(p,_)}function Ke(p,_){var O=oe().box;function R(I){I.target===O&&(kr(O,"remove",R),_())}if(p===0)return _();kr(O,"remove",v),kr(O,"add",R),v=R}function je(p,_,O){O===void 0&&(O=!1);var R=it(n.props.triggerTarget||e);R.forEach(function(I){I.addEventListener(p,_,O),f.push({node:I,eventType:p,handler:_,options:O})})}function Je(){z()&&(je("touchstart",lt,{passive:!0}),je("touchend",Ot,{passive:!0})),ni(n.props.trigger).forEach(function(p){if(p!=="manual")switch(je(p,lt),p){case"mouseenter":je("mouseleave",Ot);break;case"focus":je(yi?"focusout":"blur",dt);break;case"focusin":je("focusout",dt);break}})}function Et(){f.forEach(function(p){var _=p.node,O=p.eventType,R=p.handler,I=p.options;_.removeEventListener(O,R,I)}),f=[]}function lt(p){var _,O=!1;if(!(!n.state.isEnabled||ct(p)||d)){var R=((_=c)==null?void 0:_.type)==="focus";c=p,w=p.currentTarget,u(),!n.state.isVisible&&ci(p)&&Ht.forEach(function(I){return I(p)}),p.type==="click"&&(n.props.trigger.indexOf("mouseenter")<0||s)&&n.props.hideOnClick!==!1&&n.state.isVisible?O=!0:pt(p),p.type==="click"&&(s=!O),O&&!R&&Pe(p)}}function Dt(p){var _=p.target,O=V().contains(_)||h.contains(_);if(!(p.type==="mousemove"&&O)){var R=Ce().concat(h).map(function(I){var ne,pe=I._tippy,Ze=(ne=pe.popperInstance)==null?void 0:ne.state;return Ze?{popperRect:I.getBoundingClientRect(),popperState:Ze,props:r}:null}).filter(Boolean);hi(R,p)&&(g(),Pe(p))}}function Ot(p){var _=ct(p)||n.props.trigger.indexOf("click")>=0&&s;if(!_){if(n.props.interactive){n.hideWithInteractivity(p);return}Pe(p)}}function dt(p){n.props.trigger.indexOf("focusin")<0&&p.target!==V()||n.props.interactive&&p.relatedTarget&&h.contains(p.relatedTarget)||Pe(p)}function ct(p){return Se.isTouch?z()!==p.type.indexOf("touch")>=0:!1}function Lt(){At();var p=n.props,_=p.popperOptions,O=p.placement,R=p.offset,I=p.getReferenceClientRect,ne=p.moveTransition,pe=P()?Dr(h).arrow:null,Ze=I?{getBoundingClientRect:I,contextElement:I.contextElement||V()}:e,fo={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(Bt){var Qe=Bt.state;if(P()){var wa=oe(),ir=wa.box;["placement","reference-hidden","escaped"].forEach(function(It){It==="placement"?ir.setAttribute("data-placement",Qe.placement):Qe.attributes.popper["data-popper-"+It]?ir.setAttribute("data-"+It,""):ir.removeAttribute("data-"+It)}),Qe.attributes.popper={}}}},Re=[{name:"offset",options:{offset:R}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!ne}},fo];P()&&pe&&Re.push({name:"arrow",options:{element:pe,padding:3}}),Re.push.apply(Re,(_==null?void 0:_.modifiers)||[]),n.popperInstance=xr(Ze,h,Object.assign({},_,{placement:O,onFirstUpdate:y,modifiers:Re}))}function At(){n.popperInstance&&(n.popperInstance.destroy(),n.popperInstance=null)}function De(){var p=n.props.appendTo,_,O=V();n.props.interactive&&p===Jo||p==="parent"?_=O.parentNode:_=Zo(p,[O]),_.contains(h)||_.appendChild(h),n.state.isMounted=!0,Lt()}function Ce(){return $t(h.querySelectorAll("[data-tippy-root]"))}function pt(p){n.clearDelayTimeouts(),p&&U("onTrigger",[n,p]),W();var _=F(!0),O=M(),R=O[0],I=O[1];Se.isTouch&&R==="hold"&&I&&(_=I),_?o=setTimeout(function(){n.show()},_):n.show()}function Pe(p){if(n.clearDelayTimeouts(),U("onUntrigger",[n,p]),!n.state.isVisible){Y();return}if(!(n.props.trigger.indexOf("mouseenter")>=0&&n.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(p.type)>=0&&s)){var _=F(!1);_?a=setTimeout(function(){n.state.isVisible&&n.hide()},_):i=requestAnimationFrame(function(){n.hide()})}}function mt(){n.state.isEnabled=!0}function Tt(){n.hide(),n.state.isEnabled=!1}function jt(){clearTimeout(o),clearTimeout(a),cancelAnimationFrame(i)}function Ct(p){if(!n.state.isDestroyed){U("onBeforeUpdate",[n,p]),Et();var _=n.props,O=Uo(e,Object.assign({},_,qo(p),{ignoreAttributes:!0}));n.props=O,Je(),_.interactiveDebounce!==O.interactiveDebounce&&(g(),E=Ro(Dt,O.interactiveDebounce)),_.triggerTarget&&!O.triggerTarget?it(_.triggerTarget).forEach(function(R){R.removeAttribute("aria-expanded")}):O.triggerTarget&&e.removeAttribute("aria-expanded"),u(),X(),A&&A(_,O),n.popperInstance&&(Lt(),Ce().forEach(function(R){requestAnimationFrame(R._tippy.popperInstance.forceUpdate)})),U("onAfterUpdate",[n,p])}}function Mt(p){n.setProps({content:p})}function ba(){var p=n.state.isVisible,_=n.state.isDestroyed,O=!n.state.isEnabled,R=Se.isTouch&&!n.props.touch,I=_r(n.props.duration,0,xe.duration);if(!(p||_||O||R)&&!V().hasAttribute("disabled")&&(U("onShow",[n],!1),n.props.onShow(n)!==!1)){if(n.state.isVisible=!0,P()&&(h.style.visibility="visible"),X(),W(),n.state.isMounted||(h.style.transition="none"),P()){var ne=oe(),pe=ne.box,Ze=ne.content;wr([pe,Ze],0)}y=function(){var Re;if(!(!n.state.isVisible||m)){if(m=!0,h.offsetHeight,h.style.transition=n.props.moveTransition,P()&&n.props.animation){var ar=oe(),Bt=ar.box,Qe=ar.content;wr([Bt,Qe],I),Ho([Bt,Qe],"visible")}Q(),u(),Vo(Sr,n),(Re=n.popperInstance)==null||Re.forceUpdate(),U("onMount",[n]),n.props.animation&&P()&&Ee(I,function(){n.state.isShown=!0,U("onShown",[n])})}},De()}}function va(){var p=!n.state.isVisible,_=n.state.isDestroyed,O=!n.state.isEnabled,R=_r(n.props.duration,1,xe.duration);if(!(p||_||O)&&(U("onHide",[n],!1),n.props.onHide(n)!==!1)){if(n.state.isVisible=!1,n.state.isShown=!1,m=!1,s=!1,P()&&(h.style.visibility="hidden"),g(),Y(),X(!0),P()){var I=oe(),ne=I.box,pe=I.content;n.props.animation&&(wr([ne,pe],R),Ho([ne,pe],"hidden"))}Q(),u(),n.props.animation?P()&&Te(R,n.unmount):n.unmount()}}function ya(p){re().addEventListener("mousemove",E),Vo(Ht,E),E(p)}function xa(){n.state.isVisible&&n.hide(),n.state.isMounted&&(At(),Ce().forEach(function(p){p._tippy.unmount()}),h.parentNode&&h.parentNode.removeChild(h),Sr=Sr.filter(function(p){return p!==n}),n.state.isMounted=!1,U("onHidden",[n]))}function _a(){n.state.isDestroyed||(n.clearDelayTimeouts(),n.unmount(),Et(),delete e._tippy,n.state.isDestroyed=!0,U("onDestroy",[n]))}}function _t(e,t){t===void 0&&(t={});var r=xe.plugins.concat(t.plugins||[]);bi();var o=Object.assign({},t,{plugins:r}),a=mi(e);if(0)var i,s;var d=a.reduce(function(l,m){var c=m&&Oi(m,o);return c&&l.push(c),l},[]);return Ft(e)?d[0]:d}_t.defaultProps=xe;_t.setDefaultProps=ki;_t.currentInput=Se;var hp=Object.assign({},ut,{effect:function(t){var r=t.state,o={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,o.popper),r.styles=o,r.elements.arrow&&Object.assign(r.elements.arrow.style,o.arrow)}});_t.setDefaultProps({render:ta});var ra=_t;var Ut={bpXS:{min:0,max:600},bpSM:{min:601,max:900},bpMED:{min:901,max:1020},bpLG:{min:1021,max:1200},bpXL:{min:1201}};var Lr={};j(Lr,{default:()=>Ai});var Ai={};var Ar={};j(Ar,{default:()=>ji});var ji={};var Tr={};j(Tr,{default:()=>Mi});var Mi={};var jr={};j(jr,{default:()=>Ii});var Ii={};var Cr={};j(Cr,{default:()=>zi});var zi={};var Mr={};j(Mr,{default:()=>Ri});var Ri={};function Wt(){let e=getComputedStyle(document.body).fontSize;return e=e===""?-1:e,parseFloat(e)}function Vi(e,t){let r=e.min,o=e.max;Wt()>0&&Wt()!==16&&(r=r/16*Wt(),o=o/16*Wt());let i=r||0,s=o||Number.POSITIVE_INFINITY;return i<=t&&t<=s}function qi(e){let t={};e=e||window.innerWidth;let r;for(r in Ut)t[r]=Vi(Ut[r],e);return t}var Gt="mobile",Hi="tablet",$i="desktop";function Br(e){let t=!1,r=qi();return(e===Gt&&r.bpXS||e===Hi&&r.bpSM||e===$i&&(r.bpMED||r.bpLG||r.bpXL))&&(t=!0),t}var fe="data-js-hook",Xt="behavior_",Ir="state_";function ie(){let e={};function t(a,i){return{}.hasOwnProperty.call(e,a)?e[a].push(i):e[a]=[i],this}function r(a,i){if(!{}.hasOwnProperty.call(e,a))return this;let s=e[a].indexOf(i);return s!==-1&&e[a].splice(s,1),this}function o(a,i){if(!{}.hasOwnProperty.call(e,a))return this;i=i||{};let s=e[a];for(let d=0,l=s.length;de,this}function Ye(e,t){if(!e)return!1;let r=e.getAttribute(fe);return r?(r=r.split(" "),r.indexOf(t)>-1):!1}function le(e,t){if(Ye(e,t))return t;if(t.indexOf(" ")!==-1){let o=fe+" values cannot contain spaces!";throw new Error(o)}let r=e.getAttribute(fe);return r!==null&&(t=r+" "+t),e.setAttribute(fe,t),t}var Nr=Ir+"atomic_init";function Fi(e,t){if(!e||!e.classList){let r=e+' is not valid. Check that element is a DOM node with class "'+t+'"';throw new Error(r)}return e}function Ui(e,t){let r=e.classList.contains(t)?e:e.querySelector("."+t);if(!r){let o=t+" not found on or in passed DOM node.";throw new Error(o)}return r}function _e(e,t){return Fi(e,t),Ui(e,t)}function ge(e){return Ye(e,Nr)?!1:(le(e,Nr),!0)}function de(e,t,r,o={}){let i=(r||document).querySelectorAll(e),s=[],d,l;for(let m=0,c=i.length;m>>0;Y--;){for(W=!1,D=x[Y],N=D.parentElement;N!==u;)N.getAttribute(fe)&&N.getAttribute(fe).split(" ").indexOf(wt)!==-1?(W=!0,N=u):N=N.parentElement;W||g.unshift(x[Y])}return g}function B(u=!1){return i=u?m:s,o.forEach(g=>{n("expanded",g,u),g.addEventListener("click",S.bind(this)),g.addEventListener("touchstart",b,{passive:!0}),g.addEventListener("mouseover",h.bind(this)),g.addEventListener("mouseout",A.bind(this))}),a.setAttribute("data-open",u?"true":"false"),t&&!u&&a.setAttribute("hidden",""),F(),this}function n(u,g,x){let D=String(x);return g.setAttribute("aria-"+u,D),D}function b(){L=!0}function h(u){k||(L||this.dispatchEvent("triggerover",{target:this,trigger:u.target,type:"triggerover"}),L=!1)}function A(u){k||this.dispatchEvent("triggerout",{target:this,trigger:u.target,type:"triggerout"})}function S(u){if(!k)switch(this.dispatchEvent("triggerclick",{target:this,trigger:u.target,type:"triggerclick"}),u.preventDefault(),i){case s:case d:this.expand();break;case l:case m:this.collapse();break}}function C(){if(c==null||c.halt(),i===l||i===m)return this;if(i=l,t&&a.removeAttribute("hidden"),this.dispatchEvent("expandbegin",{target:this,type:"expandbegin"}),!v||!y)return E(),this;let u=c==null?void 0:c.isAnimated();return u&&c.addEventListener(q.END_EVENT,E),v(),u||E(),this}function M(){if(c==null||c.halt(),i===d||i===s)return this;for(let g=0,x=o.length;gw,this.getTransition=()=>c,this.getDom=oe,this.isAnimating=()=>i===l||i===d,this.isExpanded=()=>i===m,this.resume=F,this.setData=U,this.suspend=X,Ie.BASE_CLASS=wt,this}var Kt={CSS_PROPERTY:"opacity",BASE_CLASS:"u-alpha-transition",ALPHA_100:"u-alpha-100",ALPHA_0:"u-alpha-0"};function oa(e){let t=new ie,r=new q(e,Kt,this);function o(s){return r.init(s),this}function a(){return r.applyClass(Kt.ALPHA_100),this}function i(){return r.applyClass(Kt.ALPHA_0),this}return this.addEventListener=t.addEventListener,this.dispatchEvent=t.dispatchEvent,this.removeEventListener=t.removeEventListener,this.animateOff=r.animateOff,this.animateOn=r.animateOn,this.halt=r.halt,this.isAnimated=r.isAnimated,this.remove=r.remove,this.setElement=r.setElement,this.fadeIn=a,this.fadeOut=i,this.init=o,this}oa.CLASSES=Kt;function q(e,t,r){let o=t,a=e;if(!r)throw new Error("Child transition argument must be defined!");let i=r,s,d,l,m=!1,c=!1,v=!1;if(typeof o.CSS_PROPERTY=="undefined"||typeof o.BASE_CLASS=="undefined")throw new Error("Transitions require CSS_PROPERTY and BASE_CLASS to be passed into BaseTransition.");function y(){d&&m?(a.addEventListener(d,l),i.dispatchEvent(q.BEGIN_EVENT,{target:i,type:q.BEGIN_EVENT}),a.classList.add(q.ANIMATING_CLASS),c=!0):(i.dispatchEvent(q.BEGIN_EVENT,{target:i,type:q.BEGIN_EVENT}),l())}function f(){a.removeEventListener(d,l)}function E(S){return S&&S.propertyName!==o.CSS_PROPERTY?!1:(f(),a.classList.remove(q.ANIMATING_CLASS),i.dispatchEvent(q.END_EVENT,{target:i,type:q.END_EVENT}),c=!1,!0)}function w(){let S;for(S in o)({}).hasOwnProperty.call(o,S)&&o[S]!==o.BASE_CLASS&&a.classList.contains(o[S])&&a.classList.remove(o[S])}function k(){c&&(a.style.webkitTransitionDuration="0",a.style.mozTransitionDuration="0",a.style.oTransitionDuration="0",a.style.transitionDuration="0",a.removeEventListener(d,l),l(),a.style.webkitTransitionDuration="",a.style.mozTransitionDuration="",a.style.oTransitionDuration="",a.style.transitionDuration="")}function L(){k(),w(),a.classList.remove(o.BASE_CLASS)}function T(){a.classList.remove(q.NO_ANIMATION_CLASS),m=!0}function B(){a.classList.add(q.NO_ANIMATION_CLASS),m=!1}function n(S){if(!S){let P="Element does not have TransitionEnd event. It may be null!";throw new Error(P)}let C,M={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},z;for(z in M)if({}.hasOwnProperty.call(M,z)&&typeof S.style[z]!="undefined"){C=M[z];break}return C}function b(S){L(),T(),a=S,a.classList.add(o.BASE_CLASS),d=n(a)}function h(S){if(m=!a.classList.contains(q.NO_ANIMATION_CLASS),l=E.bind(this),b(a),!S)throw new Error("Transition needs to be passed an initial CSS class on initialization!");return a.classList.add(S),this}function A(S){return v||(w(),v=!0),a.classList.contains(S)?!1:(f(),a.classList.remove(s),s=S,y(),a.classList.add(s),!0)}return this.animateOff=B,this.animateOn=T,this.applyClass=A,this.halt=k,this.init=h,this.isAnimated=()=>m,this.remove=L,this.setElement=b,this}q.BEGIN_EVENT="transitionbegin";q.END_EVENT="transitionend";q.NO_ANIMATION_CLASS="u-no-animation";q.ANIMATING_CLASS="u-is-animating";var kt={CSS_PROPERTY:"max-height",BASE_CLASS:"u-max-height-transition",MH_DEFAULT:"u-max-height-default",MH_SUMMARY:"u-max-height-summary",MH_ZERO:"u-max-height-zero"};function ce(e){let t=new ie,r=new q(e,kt,this),o=0;function a(){let y=e.scrollHeight+"px";e.style.maxHeight=y}function i(){window.removeEventListener("load",i),a()}function s(v){return r.init(v),window.addEventListener("load",i),window.addEventListener("resize",()=>{a()}),this}function d(){return a(),r.applyClass(kt.MH_DEFAULT),(!o||e.scrollHeight>o)&&(o=e.scrollHeight),this}function l(){return r.applyClass(kt.MH_SUMMARY),o=e.scrollHeight,this}function m(){return r.applyClass(kt.MH_ZERO),o=e.scrollHeight,this}function c(){return e.style.maxHeight="",r.remove()}return this.addEventListener=t.addEventListener,this.dispatchEvent=t.dispatchEvent,this.removeEventListener=t.removeEventListener,this.animateOff=r.animateOff,this.animateOn=r.animateOn,this.halt=r.halt,this.isAnimated=r.isAnimated,this.setElement=r.setElement,this.refresh=a,this.remove=c,this.init=s,this.maxHeightDefault=d,this.maxHeightSummary=l,this.maxHeightZero=m,this}ce.CLASSES=kt;var Ne={CSS_PROPERTY:"transform",BASE_CLASS:"u-move-transition",MOVE_TO_ORIGIN:"u-move-to-origin",MOVE_LEFT:"u-move-left",MOVE_LEFT_2X:"u-move-left-2x",MOVE_LEFT_3X:"u-move-left-3x",MOVE_RIGHT:"u-move-right",MOVE_UP:"u-move-up"};function aa(e){let t=new ie,r=new q(e,Ne,this);function o(l){return r.init(l),this}function a(){return r.applyClass(Ne.MOVE_TO_ORIGIN),this}function i(l){l=l||1;let m=[Ne.MOVE_LEFT,Ne.MOVE_LEFT_2X,Ne.MOVE_LEFT_3X];return r.applyClass(m[l-1]),this}function s(){return r.applyClass(Ne.MOVE_RIGHT),this}function d(){return r.applyClass(Ne.MOVE_UP),this}return this.addEventListener=t.addEventListener,this.dispatchEvent=t.dispatchEvent,this.removeEventListener=t.removeEventListener,this.animateOff=r.animateOff,this.animateOn=r.animateOn,this.halt=r.halt,this.isAnimated=r.isAnimated,this.setElement=r.setElement,this.remove=r.remove,this.init=o,this.moveLeft=()=>i(1),this.moveLeft2=()=>i(2),this.moveLeft3=()=>i(3),this.moveRight=s,this.moveToOrigin=a,this.moveUp=d,this}aa.CLASSES=Ne;var nt="o-expandable";function ze(e){let t=_e(e,nt),r,o,a,i,s;function d(){if(!ge(t))return this;r=t.querySelector(`.${nt}__header`),o=t.querySelector(`.${nt}__content`),a=t.querySelector(`.${nt}__label`);let c=t.classList.contains(`${nt}--onload-open`);le(t,"behavior_flyout-menu"),le(r,"behavior_flyout-menu_trigger"),le(o,"behavior_flyout-menu_content");let v=c?ce.CLASSES.MH_DEFAULT:ce.CLASSES.MH_ZERO;return i=new ce(o).init(v),s=new Ie(t),s.setTransition(i,i.maxHeightZero,i.maxHeightDefault),s.init(c),s.addEventListener("expandbegin",()=>{o.classList.remove("u-hidden"),this.dispatchEvent("expandbegin",{target:this})}),s.addEventListener("collapseend",()=>{o.classList.add("u-hidden")}),this}function l(){return a.textContent.trim()}this.init=d,this.expand=()=>s.expand(),this.collapse=()=>s.collapse(),this.isExpanded=()=>s.isExpanded(),this.refresh=()=>s.getTransition().refresh(),this.getLabelText=l;let m=new ie;return this.addEventListener=m.addEventListener,this.removeEventListener=m.removeEventListener,this.dispatchEvent=m.dispatchEvent,this}ze.BASE_CLASS=nt;ze.init=e=>de(`.${ze.BASE_CLASS}`,ze,e);var Jt="o-expandable-group";function Zt(e){let t=_e(e,Jt),r=t.classList.contains(`${Jt}--accordion`),o,a;function i(d){let l=d.target;a&&a!==l&&a.collapse(),a=l}function s(d){return ge(t)?(r&&(o=d,o.forEach(l=>{l.addEventListener("expandbegin",i)})),this):this}return this.init=s,this}Zt.BASE_CLASS=Jt;Zt.init=e=>{(e||document).querySelectorAll(`.${Jt}`).forEach(o=>{let a=de(`.${ze.BASE_CLASS}`,ze,o);new Zt(o).init(a)})};var st="o-summary";function Qt(e){let t=_e(e,st),r=t.classList.contains(`${st}--mobile`),o=t.querySelector(`.${st}__content`),a=t.querySelector(`.${st}__btn`),i,s,d;function l(){return ge(t)?(window.addEventListener("load",m),this):this}function m(){window.removeEventListener("load",m),d=!f(),le(t,"behavior_flyout-menu"),le(o,"behavior_flyout-menu_content"),le(a,"behavior_flyout-menu_trigger"),s=new Ie(t,!1),i=new ce(o),i.init(d?ce.CLASSES.MH_SUMMARY:ce.CLASSES.MH_DEFAULT),s.setTransition(i,i.maxHeightSummary,i.maxHeightDefault),s.addEventListener("triggerclick",E),s.init(),y(),window.addEventListener("resize",y),"onorientationchange"in window&&window.addEventListener("orientationchange",y),t.addEventListener("focusin",c),o.addEventListener("click",v)}function c(b){!d&&b.target!==a&&(a.click(),t.removeEventListener("focusin",c))}function v(b){b.target.tagName!=="A"&&s.isExpanded()&&i.refresh()}function y(){f()?B():T()}function f(){return r&&!Br(Gt)||o.scrollHeight<=88}function E(){s.addEventListener("expandend",w)}function w(){L(),window.removeEventListener("resize",y),window.removeEventListener("orientationchange",y),s.removeEventListener("expandend",w),s.suspend(),i.remove()}function k(){a.classList.remove("u-hidden")}function L(){a.classList.add("u-hidden")}function T(){return d&&(s.collapse(),i.animateOn(),k(),d=!1),!d}function B(){return d||(i.animateOff(),s.expand(),L(),d=!0),d}let n=new ie;return this.addEventListener=n.addEventListener,this.removeEventListener=n.removeEventListener,this.dispatchEvent=n.dispatchEvent,this.init=l,this}Qt.BASE_CLASS=st;Qt.init=e=>de(`.${st}`,Qt,e);var St="o-summary-minimal";function er(e){let t=_e(e,St),r=t.querySelector(`.${St}__content`),o=t.querySelector(`.${St}__btn`),a,i;function s(){return ge(t)?(le(t,"behavior_flyout-menu"),le(r,"behavior_flyout-menu_content"),le(o,"behavior_flyout-menu_trigger"),window.addEventListener("load",d),this):this}function d(){window.removeEventListener("load",d),i=new Ie(t,!1),a=new ce(r),a.init(ce.CLASSES.MH_SUMMARY),i.setTransition(a,a.maxHeightSummary,a.maxHeightDefault),i.init(),t.addEventListener("focusin",l),r.addEventListener("click",m),i.collapse(),a.animateOn()}function l(v){v.target!==o&&(o.click(),t.removeEventListener("focusin",l))}function m(v){v.target.tagName!=="A"&&i.isExpanded()&&a.refresh()}let c=new ie;return this.addEventListener=c.addEventListener,this.removeEventListener=c.removeEventListener,this.dispatchEvent=c.dispatchEvent,this.init=s,this}er.BASE_CLASS=St;er.init=e=>de(`.${St}`,er,e);var Pr={};j(Pr,{default:()=>Zi});var Zi={};var Rr={};j(Rr,{default:()=>en});var en={};var Vr={};j(Vr,{default:()=>rn});var rn={};var qr={};j(qr,{default:()=>an});var an={};var Hr={};j(Hr,{default:()=>sn});var sn={};var $r={};j($r,{default:()=>dn});var dn={};var Fr={};j(Fr,{default:()=>pn});var pn={};var Ur={};j(Ur,{default:()=>un});var un={};var Wr={};j(Wr,{default:()=>fn});var fn={};var gn;function bn(e){return e.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")}function vn(e,t){return RegExp(bn(t.trim()),"i").test(e)}function yn(e,t,r){let o=e,a=t,i=(r==null?void 0:r.maxSelections)||5,s=[],d=[],l=[],m=[],c=-1;function v(b){return a+"-"+b.value.trim().replace(/\s+/g,"-").toLowerCase()}function y(){return d.length>=i}function f(b){let h,A=[],S=!1;for(let C=0,M=b.length;C0&&(l=s.reduce(function(h,A,S){return k(h,A,S,b)},[])),c=-1,l}function T(b){return s[b]}function B(b){let h=l.length,A=h===0?s.length:h;b<0?c=-1:b>=A?c=A-1:c=b}function n(){return c}return this.init=E,this.toggleOption=w,this.getSelectedIndices=function(){return d},this.isAtMaxSelections=y,this.filterIndices=L,this.clearFilter=function(){return l=m=[],gn},this.getFilterIndices=function(){return l},this.getLastFilterIndices=function(){return m},this.getIndex=n,this.setIndex=B,this.resetIndex=function(){return c=-1,c},this.getOption=T,this}var la=yn;function we(e,t,r){let o=document.createElement(e);return Object.keys(r).forEach(a=>{let i=r[a];a in o?o[a]=i:o.setAttribute(a,i)}),t&&t.appendChild(o),o}var da='';var Sn=da,ke="o-multiselect",En="a-checkbox",Dn="a-text-input",ca="prev",tr="next",Gr="Enter",On=" ",pa="Escape",Ln="ArrowUp",ma="ArrowDown",ua="Tab",ha={renderTags:!0,maxSelections:5};function rr(e){e.classList.add(ke);let t=_e(e,ke),r=!1,o,a,i,s,d,l,m,c,v,y,f,E=[],w;function k(){f.classList.remove("u-no-results"),f.classList.add("u-filtered");let u=i.getLastFilterIndices();for(let g=0,x=u.length;g0?(k(),!0):(T(),!1)}function n(u){L(),i.resetIndex();let g=i.filterIndices(u);B(g)}function b(){return l.classList.add("u-active"),y.classList.remove("u-invisible"),y.setAttribute("aria-hidden",!1),w.dispatchEvent("expandbegin",{target:w}),w}function h(){return l.classList.remove("u-active"),y.classList.add("u-invisible"),y.setAttribute("aria-hidden",!0),i.resetIndex(),w.dispatchEvent("collapsebegin",{target:w}),w}function A(u){u===tr?i.setIndex(i.getIndex()+1):u===ca&&i.setIndex(i.getIndex()-1);let g=i.getIndex();if(g>-1){let x=g,D=i.getFilterIndices();D.length>0&&(x=D[g]);let W=i.getOption(x).value,Te=f.querySelector('[data-option="'+W+'"]').querySelector("input");r=!0,Te.focus()}else r=!1,v.focus()}function S(){v.value="",L()}function C(u){let g=u.target;g.tagName==="BUTTON"&&(u.preventDefault(),g.removeEventListener("click",C),g.querySelector("label").click())}function M(u){if(u.key===On||u.key===Gr){let g=u.target.querySelector("label");f.querySelector("#"+g.getAttribute("for")).click()}}function z(u){return o+"-"+u.value.trim().replace(/[^\w]/g,"-").toLowerCase()}function P(u,g){let x=z(g),D=we("li",null,{"data-option":g.value}),N=we("button",D,{type:"button",class:"a-tag-filter",innerHTML:""});u.appendChild(D),N.addEventListener("click",C),N.addEventListener("keydown",M)}function V(u){let g=i.getOption(u)||i.getOption(i.getIndex());if(g){if(g.checked){f.classList.contains("u-max-selections")&&f.classList.remove("u-max-selections");let x='[data-option="'+g.value+'"]',D=m.querySelector(x);typeof D!="undefined"&&D&&(m==null||m.removeChild(D))}else d!=null&&d.renderTags&&m&&P(m,g);i.toggleOption(u),i.isAtMaxSelections()&&f.classList.add("u-max-selections"),w.dispatchEvent("selectionsupdated",{target:w})}i.resetIndex(),r=!1,y.getAttribute("aria-hidden")==="false"&&v.focus()}function re(u){V(Number(u.target.getAttribute("data-index"))),S()}function oe(){c.addEventListener("mousemove",function(x){let D=x.target;x.offsetX>D.offsetWidth-35?D.style.cursor="pointer":D.style.cursor="auto"}),c.addEventListener("mouseup",function(x){let D=x.target;x.offsetX>D.offsetWidth-35&&y.offsetHeight===140&&v.blur()}),v.addEventListener("input",function(){n(this.value)}),v.addEventListener("focus",function(){y.getAttribute("aria-hidden")==="true"&&b()}),v.addEventListener("blur",function(){!r&&y.getAttribute("aria-hidden")==="false"&&h()}),v.addEventListener("keydown",function(x){let D=x.key;y.getAttribute("aria-hidden")==="true"&&D!==ua&&b(),D===Gr?(x.preventDefault(),A(tr)):D===pa?(S(),h()):D===ma?A(tr):D===ua&&!x.shiftKey&&y.getAttribute("aria-hidden")==="false"&&h()}),f.addEventListener("mousedown",function(){r=!0}),f.addEventListener("keydown",function(x){let D=x.key,N=x.target,W=N.checked;if(D===Gr){x.preventDefault(),N.checked=!W;let Y=new Event("change",{bubbles:!1,cancelable:!0});N.dispatchEvent(Y)}else D===pa?(v.focus(),h()):D===Ln?A(ca):D===ma&&A(tr)}),y.addEventListener("mousedown",function(x){x.target.tagName==="LABEL"&&(r=!0)});let u=f.querySelectorAll("input");for(let x=0,D=u.length;x0){i=new la(s,o,d).init();let g=F();t.parentNode.removeChild(t),t=g,ge(t),oe()}return this}function U(){return i}this.init=X,this.expand=b,this.collapse=h;let Q=new ie;return this.addEventListener=Q.addEventListener,this.removeEventListener=Q.removeEventListener,this.dispatchEvent=Q.dispatchEvent,this.getModel=U,this.updateSelections=V,this.selectionClickHandler=C,this.selectionKeyDownHandler=M,this}rr.BASE_CLASS=ke;rr.init=e=>de(`.${ke}`,rr,void 0,e);var Xr={};j(Xr,{default:()=>Tn});var Tn={};var Yr={};j(Yr,{default:()=>Cn});var Cn={};var Kr={};j(Kr,{default:()=>Bn});var Bn={};var Jr={};j(Jr,{default:()=>Nn});var Nn={};var Zr={};j(Zr,{default:()=>Pn});var Pn={};var Qr={};j(Qr,{default:()=>Vn});var Vn={};var eo={};j(eo,{default:()=>Hn});var Hn={};var to={};j(to,{default:()=>Fn});var Fn={};var ro={};j(ro,{default:()=>Wn});var Wn={};var oo={};j(oo,{default:()=>Xn});var Xn={};var ao={};j(ao,{default:()=>Kn});var Kn={};var io={};j(io,{default:()=>Zn});var Zn={};var no={};j(no,{default:()=>es});var es={};var so={};j(so,{default:()=>rs});var rs={};var lo={};j(lo,{default:()=>as});var as={};var co={};j(co,{default:()=>ns});var ns={};var po={};j(po,{default:()=>ls});var ls={};var mo={};j(mo,{default:()=>cs});var cs={};var uo={};j(uo,{default:()=>ms});var ms={};var ho={};j(ho,{default:()=>hs});var hs={};var fa={};j(fa,{default:()=>gs});var gs={};var ga="data-tooltip";function or(e){let t=e.getAttribute(ga);function r(){ra(e,{theme:"cfpb",maxWidth:450,content:function(o){let a=o.parentElement.querySelector(`#${t}`),i=document.createElement("div"),s=document.importNode(a.content,!0);return i.appendChild(s),i},plugins:[{name:"hideOnEsc",defaultValue:!0,fn({hide:o}){function a(i){i.key==="Escape"&&o()}return{onShow(){document.body.addEventListener("keydown",a)},onHide(){document.body.removeEventListener("keydown",a)}}}}]})}return this.init=r,this}or.BASE_ATTRIBUTE=ga;or.init=e=>de(`[${or.BASE_ATTRIBUTE}]`,or,e);})();
+//# sourceMappingURL=index.js.map
diff --git a/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js.map b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js.map
new file mode 100644
index 0000000000..2a16b40a3b
--- /dev/null
+++ b/packages/cfpb-design-system/dist/components/cfpb-tooltips/index.js.map
@@ -0,0 +1,7 @@
+{
+ "version": 3,
+ "sources": ["../../../../../node_modules/@popperjs/core/lib/enums.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../../../../../node_modules/@popperjs/core/lib/utils/math.js", "../../../../../node_modules/@popperjs/core/lib/utils/userAgent.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/contains.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../../../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../../../../../node_modules/@popperjs/core/lib/utils/within.js", "../../../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../../../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../../../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/arrow.js", "../../../../../node_modules/@popperjs/core/lib/utils/getVariation.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../../../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../../../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../../../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../../../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../../../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../../../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/flip.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/hide.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/offset.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../../../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../../../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../../../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../../../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../../../../../node_modules/@popperjs/core/lib/utils/debounce.js", "../../../../../node_modules/@popperjs/core/lib/utils/mergeByName.js", "../../../../../node_modules/@popperjs/core/lib/createPopper.js", "../../../../../node_modules/@popperjs/core/lib/popper.js", "../../../../../node_modules/tippy.js/src/constants.ts", "../../../../../node_modules/tippy.js/src/utils.ts", "../../../../../node_modules/tippy.js/src/dom-utils.ts", "../../../../../node_modules/tippy.js/src/bindGlobalEventListeners.ts", "../../../../../node_modules/tippy.js/src/browser.ts", "../../../../../node_modules/tippy.js/src/validation.ts", "../../../../../node_modules/tippy.js/src/props.ts", "../../../../../node_modules/tippy.js/src/template.ts", "../../../../../node_modules/tippy.js/src/createTippy.ts", "../../../../../node_modules/tippy.js/src/index.ts", "../../../../../node_modules/tippy.js/src/addons/createSingleton.ts", "../../../../../node_modules/tippy.js/src/addons/delegate.ts", "../../../../../node_modules/tippy.js/src/plugins/animateFill.ts", "../../../../../node_modules/tippy.js/src/plugins/followCursor.ts", "../../../../../node_modules/tippy.js/src/plugins/inlinePositioning.ts", "../../../../../node_modules/tippy.js/src/plugins/sticky.ts", "../../../../../node_modules/tippy.js/build/base.js", "../../../../../packages/cfpb-design-system/src/abstracts/vars-breakpoints.js", "../../../../../packages/cfpb-design-system/src/base/normalize.scss", "../../../../../packages/cfpb-design-system/src/base/base.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-group.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-buttons/button-link.scss", "../../../../../packages/cfpb-design-system/src/utilities/utilities.scss", "../../../../../packages/cfpb-design-system/src/utilities/breakpoint-state.js", "../../../../../packages/cfpb-design-system/src/utilities/standard-type.js", "../../../../../packages/cfpb-design-system/src/utilities/event-observer.js", "../../../../../packages/cfpb-design-system/src/utilities/data-hook.js", "../../../../../packages/cfpb-design-system/src/utilities/atomic-helpers.js", "../../../../../packages/cfpb-design-system/src/utilities/behavior/behavior.js", "../../../../../packages/cfpb-design-system/src/utilities/type-checkers.js", "../../../../../packages/cfpb-design-system/src/utilities/media-helpers.js", "../../../../../packages/cfpb-design-system/src/utilities/behavior/flyout-menu.js", "../../../../../packages/cfpb-design-system/src/utilities/transition/alpha-transition.js", "../../../../../packages/cfpb-design-system/src/utilities/transition/base-transition.js", "../../../../../packages/cfpb-design-system/src/utilities/transition/max-height-transition.js", "../../../../../packages/cfpb-design-system/src/utilities/transition/move-transition.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/expandable-group.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-expandables/summary-minimal.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form-alert.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/form-field.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/label.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/range.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/search-input.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/select.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/tag.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/text-input.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect-model.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect-utils.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-icons/icons/error.svg", "../../../../../packages/cfpb-design-system/src/components/cfpb-forms/multiselect.js", "../../../../../packages/cfpb-design-system/src/components/cfpb-icons/icon.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/card.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/card-group.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/email-signup.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/featured-content-module.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/hero.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/layout.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/text-introduction.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-layout/well.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-notifications/banner.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-notifications/notification.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-pagination/pagination.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-tables/table.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/date.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/link.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/list.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/meta-header.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/pull-quote.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/slug-header.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-typography/tagline.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-tooltips/tooltip.scss", "../../../../../packages/cfpb-design-system/src/components/cfpb-tooltips/index.js"],
+ "sourcesContent": ["export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];", "export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}", "export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}", "import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };", "import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};", "import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}", "export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;", "export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}", "import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}", "import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}", "import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}", "import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}", "import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}", "import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}", "import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}", "import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}", "export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}", "import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}", "export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}", "import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}", "export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}", "import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};", "export default function getVariation(placement) {\n return placement.split('-')[1];\n}", "import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};", "import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};", "var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}", "var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}", "import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}", "import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}", "import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}", "import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}", "import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}", "import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}", "export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}", "import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}", "import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}", "import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}", "import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}", "import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases \u2013 research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};", "import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};", "import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};", "import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};", "export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}", "import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};", "export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}", "import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}", "import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}", "import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}", "export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}", "export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}", "import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update \u2013 it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update \u2013 it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };", "import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";", "export const ROUND_ARROW =\n '';\n\nexport const BOX_CLASS = `__NAMESPACE_PREFIX__-box`;\nexport const CONTENT_CLASS = `__NAMESPACE_PREFIX__-content`;\nexport const BACKDROP_CLASS = `__NAMESPACE_PREFIX__-backdrop`;\nexport const ARROW_CLASS = `__NAMESPACE_PREFIX__-arrow`;\nexport const SVG_ARROW_CLASS = `__NAMESPACE_PREFIX__-svg-arrow`;\n\nexport const TOUCH_OPTIONS = {passive: true, capture: true};\n\nexport const TIPPY_DEFAULT_APPEND_TO = () => document.body;\n", "import {BasePlacement, Placement} from './types';\n\nexport function hasOwnProperty(\n obj: Record,\n key: string\n): boolean {\n return {}.hasOwnProperty.call(obj, key);\n}\n\nexport function getValueAtIndexOrReturn(\n value: T | [T | null, T | null],\n index: number,\n defaultValue: T | [T, T]\n): T {\n if (Array.isArray(value)) {\n const v = value[index];\n return v == null\n ? Array.isArray(defaultValue)\n ? defaultValue[index]\n : defaultValue\n : v;\n }\n\n return value;\n}\n\nexport function isType(value: any, type: string): boolean {\n const str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(`${type}]`) > -1;\n}\n\nexport function invokeWithArgsOrReturn(value: any, args: any[]): any {\n return typeof value === 'function' ? value(...args) : value;\n}\n\nexport function debounce(\n fn: (arg: T) => void,\n ms: number\n): (arg: T) => void {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n let timeout: any;\n\n return (arg): void => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(arg);\n }, ms);\n };\n}\n\nexport function removeProperties(obj: T, keys: string[]): Partial {\n const clone = {...obj};\n keys.forEach((key) => {\n delete (clone as any)[key];\n });\n return clone;\n}\n\nexport function splitBySpaces(value: string): string[] {\n return value.split(/\\s+/).filter(Boolean);\n}\n\nexport function normalizeToArray(value: T | T[]): T[] {\n return ([] as T[]).concat(value);\n}\n\nexport function pushIfUnique(arr: T[], value: T): void {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\n\nexport function appendPxIfNumber(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function unique(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n}\n\nexport function getNumber(value: string | number): number {\n return typeof value === 'number' ? value : parseFloat(value);\n}\n\nexport function getBasePlacement(placement: Placement): BasePlacement {\n return placement.split('-')[0] as BasePlacement;\n}\n\nexport function arrayFrom(value: ArrayLike): any[] {\n return [].slice.call(value);\n}\n\nexport function removeUndefinedProps(\n obj: Record\n): Partial> {\n return Object.keys(obj).reduce((acc, key) => {\n if (obj[key] !== undefined) {\n (acc as any)[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n", "import {ReferenceElement, Targets} from './types';\nimport {PopperTreeData} from './types-internal';\nimport {arrayFrom, isType, normalizeToArray, getBasePlacement} from './utils';\n\nexport function div(): HTMLDivElement {\n return document.createElement('div');\n}\n\nexport function isElement(value: unknown): value is Element | DocumentFragment {\n return ['Element', 'Fragment'].some((type) => isType(value, type));\n}\n\nexport function isNodeList(value: unknown): value is NodeList {\n return isType(value, 'NodeList');\n}\n\nexport function isMouseEvent(value: unknown): value is MouseEvent {\n return isType(value, 'MouseEvent');\n}\n\nexport function isReferenceElement(value: any): value is ReferenceElement {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\n\nexport function getArrayOfElements(value: Targets): Element[] {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\n\nexport function setTransitionDuration(\n els: (HTMLDivElement | null)[],\n value: number\n): void {\n els.forEach((el) => {\n if (el) {\n el.style.transitionDuration = `${value}ms`;\n }\n });\n}\n\nexport function setVisibilityState(\n els: (HTMLDivElement | null)[],\n state: 'visible' | 'hidden'\n): void {\n els.forEach((el) => {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\n\nexport function getOwnerDocument(\n elementOrElements: Element | Element[]\n): Document {\n const [element] = normalizeToArray(elementOrElements);\n\n // Elements created via a have an ownerDocument with no reference to the body\n return element?.ownerDocument?.body ? element.ownerDocument : document;\n}\n\nexport function isCursorOutsideInteractiveBorder(\n popperTreeData: PopperTreeData[],\n event: MouseEvent\n): boolean {\n const {clientX, clientY} = event;\n\n return popperTreeData.every(({popperRect, popperState, props}) => {\n const {interactiveBorder} = props;\n const basePlacement = getBasePlacement(popperState.placement);\n const offsetData = popperState.modifiersData.offset;\n\n if (!offsetData) {\n return true;\n }\n\n const topDistance = basePlacement === 'bottom' ? offsetData.top!.y : 0;\n const bottomDistance = basePlacement === 'top' ? offsetData.bottom!.y : 0;\n const leftDistance = basePlacement === 'right' ? offsetData.left!.x : 0;\n const rightDistance = basePlacement === 'left' ? offsetData.right!.x : 0;\n\n const exceedsTop =\n popperRect.top - clientY + topDistance > interactiveBorder;\n const exceedsBottom =\n clientY - popperRect.bottom - bottomDistance > interactiveBorder;\n const exceedsLeft =\n popperRect.left - clientX + leftDistance > interactiveBorder;\n const exceedsRight =\n clientX - popperRect.right - rightDistance > interactiveBorder;\n\n return exceedsTop || exceedsBottom || exceedsLeft || exceedsRight;\n });\n}\n\nexport function updateTransitionEndListener(\n box: HTMLDivElement,\n action: 'add' | 'remove',\n listener: (event: TransitionEvent) => void\n): void {\n const method = `${action}EventListener` as\n | 'addEventListener'\n | 'removeEventListener';\n\n // some browsers apparently support `transition` (unprefixed) but only fire\n // `webkitTransitionEnd`...\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n box[method](event, listener as EventListener);\n });\n}\n\n/**\n * Compared to xxx.contains, this function works for dom structures with shadow\n * dom\n */\nexport function actualContains(parent: Element, child: Element): boolean {\n let target = child;\n while (target) {\n if (parent.contains(target)) {\n return true;\n }\n target = (target.getRootNode?.() as any)?.host;\n }\n return false;\n}\n", "import {TOUCH_OPTIONS} from './constants';\nimport {isReferenceElement} from './dom-utils';\n\nexport const currentInput = {isTouch: false};\nlet lastMouseMoveTime = 0;\n\n/**\n * When a `touchstart` event is fired, it's assumed the user is using touch\n * input. We'll bind a `mousemove` event listener to listen for mouse input in\n * the future. This way, the `isTouch` property is fully dynamic and will handle\n * hybrid devices that use a mix of touch + mouse input.\n */\nexport function onDocumentTouchStart(): void {\n if (currentInput.isTouch) {\n return;\n }\n\n currentInput.isTouch = true;\n\n if (window.performance) {\n document.addEventListener('mousemove', onDocumentMouseMove);\n }\n}\n\n/**\n * When two `mousemove` event are fired consecutively within 20ms, it's assumed\n * the user is using mouse input again. `mousemove` can fire on touch devices as\n * well, but very rarely that quickly.\n */\nexport function onDocumentMouseMove(): void {\n const now = performance.now();\n\n if (now - lastMouseMoveTime < 20) {\n currentInput.isTouch = false;\n\n document.removeEventListener('mousemove', onDocumentMouseMove);\n }\n\n lastMouseMoveTime = now;\n}\n\n/**\n * When an element is in focus and has a tippy, leaving the tab/window and\n * returning causes it to show again. For mouse users this is unexpected, but\n * for keyboard use it makes sense.\n * TODO: find a better technique to solve this problem\n */\nexport function onWindowBlur(): void {\n const activeElement = document.activeElement as HTMLElement | null;\n\n if (isReferenceElement(activeElement)) {\n const instance = activeElement._tippy!;\n\n if (activeElement.blur && !instance.state.isVisible) {\n activeElement.blur();\n }\n }\n}\n\nexport default function bindGlobalEventListeners(): void {\n document.addEventListener('touchstart', onDocumentTouchStart, TOUCH_OPTIONS);\n window.addEventListener('blur', onWindowBlur);\n}\n", "export const isBrowser =\n typeof window !== 'undefined' && typeof document !== 'undefined';\n\nexport const isIE11 = isBrowser\n ? // @ts-ignore\n !!window.msCrypto\n : false;\n", "import {Targets} from './types';\n\nexport function createMemoryLeakWarning(method: string): string {\n const txt = method === 'destroy' ? 'n already-' : ' ';\n\n return [\n `${method}() was called on a${txt}destroyed instance. This is a no-op but`,\n 'indicates a potential memory leak.',\n ].join(' ');\n}\n\nexport function clean(value: string): string {\n const spacesAndTabs = /[ \\t]{2,}/g;\n const lineStartWithSpaces = /^[ \\t]*/gm;\n\n return value\n .replace(spacesAndTabs, ' ')\n .replace(lineStartWithSpaces, '')\n .trim();\n}\n\nfunction getDevMessage(message: string): string {\n return clean(`\n %ctippy.js\n\n %c${clean(message)}\n\n %c👷 This is a development-only message. It will be removed in production.\n `);\n}\n\nexport function getFormattedMessage(message: string): string[] {\n return [\n getDevMessage(message),\n // title\n 'color: #00C584; font-size: 1.3em; font-weight: bold;',\n // message\n 'line-height: 1.5',\n // footer\n 'color: #a6a095;',\n ];\n}\n\n// Assume warnings and errors never have the same message\nlet visitedMessages: Set;\nif (__DEV__) {\n resetVisitedMessages();\n}\n\nexport function resetVisitedMessages(): void {\n visitedMessages = new Set();\n}\n\nexport function warnWhen(condition: boolean, message: string): void {\n if (condition && !visitedMessages.has(message)) {\n visitedMessages.add(message);\n console.warn(...getFormattedMessage(message));\n }\n}\n\nexport function errorWhen(condition: boolean, message: string): void {\n if (condition && !visitedMessages.has(message)) {\n visitedMessages.add(message);\n console.error(...getFormattedMessage(message));\n }\n}\n\nexport function validateTargets(targets: Targets): void {\n const didPassFalsyValue = !targets;\n const didPassPlainObject =\n Object.prototype.toString.call(targets) === '[object Object]' &&\n !(targets as any).addEventListener;\n\n errorWhen(\n didPassFalsyValue,\n [\n 'tippy() was passed',\n '`' + String(targets) + '`',\n 'as its targets (first) argument. Valid types are: String, Element,',\n 'Element[], or NodeList.',\n ].join(' ')\n );\n\n errorWhen(\n didPassPlainObject,\n [\n 'tippy() was passed a plain object which is not supported as an argument',\n 'for virtual positioning. Use props.getReferenceClientRect instead.',\n ].join(' ')\n );\n}\n", "import {DefaultProps, Plugin, Props, ReferenceElement, Tippy} from './types';\nimport {\n hasOwnProperty,\n removeProperties,\n invokeWithArgsOrReturn,\n} from './utils';\nimport {warnWhen} from './validation';\nimport {TIPPY_DEFAULT_APPEND_TO} from './constants';\n\nconst pluginProps = {\n animateFill: false,\n followCursor: false,\n inlinePositioning: false,\n sticky: false,\n};\n\nconst renderProps = {\n allowHTML: false,\n animation: 'fade',\n arrow: true,\n content: '',\n inertia: false,\n maxWidth: 350,\n role: 'tooltip',\n theme: '',\n zIndex: 9999,\n};\n\nexport const defaultProps: DefaultProps = {\n appendTo: TIPPY_DEFAULT_APPEND_TO,\n aria: {\n content: 'auto',\n expanded: 'auto',\n },\n delay: 0,\n duration: [300, 250],\n getReferenceClientRect: null,\n hideOnClick: true,\n ignoreAttributes: false,\n interactive: false,\n interactiveBorder: 2,\n interactiveDebounce: 0,\n moveTransition: '',\n offset: [0, 10],\n onAfterUpdate() {},\n onBeforeUpdate() {},\n onCreate() {},\n onDestroy() {},\n onHidden() {},\n onHide() {},\n onMount() {},\n onShow() {},\n onShown() {},\n onTrigger() {},\n onUntrigger() {},\n onClickOutside() {},\n placement: 'top',\n plugins: [],\n popperOptions: {},\n render: null,\n showOnCreate: false,\n touch: true,\n trigger: 'mouseenter focus',\n triggerTarget: null,\n ...pluginProps,\n ...renderProps,\n};\n\nconst defaultKeys = Object.keys(defaultProps);\n\nexport const setDefaultProps: Tippy['setDefaultProps'] = (partialProps) => {\n /* istanbul ignore else */\n if (__DEV__) {\n validateProps(partialProps, []);\n }\n\n const keys = Object.keys(partialProps) as Array;\n keys.forEach((key) => {\n (defaultProps as any)[key] = partialProps[key];\n });\n};\n\nexport function getExtendedPassedProps(\n passedProps: Partial & Record\n): Partial {\n const plugins = passedProps.plugins || [];\n const pluginProps = plugins.reduce>((acc, plugin) => {\n const {name, defaultValue} = plugin;\n\n if (name) {\n acc[name] =\n passedProps[name] !== undefined\n ? passedProps[name]\n : (defaultProps as any)[name] ?? defaultValue;\n }\n\n return acc;\n }, {});\n\n return {\n ...passedProps,\n ...pluginProps,\n };\n}\n\nexport function getDataAttributeProps(\n reference: ReferenceElement,\n plugins: Plugin[]\n): Record {\n const propKeys = plugins\n ? Object.keys(getExtendedPassedProps({...defaultProps, plugins}))\n : defaultKeys;\n\n const props = propKeys.reduce(\n (acc: Partial & Record, key) => {\n const valueAsString = (\n reference.getAttribute(`data-tippy-${key}`) || ''\n ).trim();\n\n if (!valueAsString) {\n return acc;\n }\n\n if (key === 'content') {\n acc[key] = valueAsString;\n } else {\n try {\n acc[key] = JSON.parse(valueAsString);\n } catch (e) {\n acc[key] = valueAsString;\n }\n }\n\n return acc;\n },\n {}\n );\n\n return props;\n}\n\nexport function evaluateProps(\n reference: ReferenceElement,\n props: Props\n): Props {\n const out = {\n ...props,\n content: invokeWithArgsOrReturn(props.content, [reference]),\n ...(props.ignoreAttributes\n ? {}\n : getDataAttributeProps(reference, props.plugins)),\n };\n\n out.aria = {\n ...defaultProps.aria,\n ...out.aria,\n };\n\n out.aria = {\n expanded:\n out.aria.expanded === 'auto' ? props.interactive : out.aria.expanded,\n content:\n out.aria.content === 'auto'\n ? props.interactive\n ? null\n : 'describedby'\n : out.aria.content,\n };\n\n return out;\n}\n\nexport function validateProps(\n partialProps: Partial = {},\n plugins: Plugin[] = []\n): void {\n const keys = Object.keys(partialProps) as Array;\n keys.forEach((prop) => {\n const nonPluginProps = removeProperties(\n defaultProps,\n Object.keys(pluginProps)\n );\n\n let didPassUnknownProp = !hasOwnProperty(nonPluginProps, prop);\n\n // Check if the prop exists in `plugins`\n if (didPassUnknownProp) {\n didPassUnknownProp =\n plugins.filter((plugin) => plugin.name === prop).length === 0;\n }\n\n warnWhen(\n didPassUnknownProp,\n [\n `\\`${prop}\\``,\n \"is not a valid prop. You may have spelled it incorrectly, or if it's\",\n 'a plugin, forgot to pass it in an array as props.plugins.',\n '\\n\\n',\n 'All props: https://atomiks.github.io/tippyjs/v6/all-props/\\n',\n 'Plugins: https://atomiks.github.io/tippyjs/v6/plugins/',\n ].join(' ')\n );\n });\n}\n", "import {\n ARROW_CLASS,\n BACKDROP_CLASS,\n BOX_CLASS,\n CONTENT_CLASS,\n SVG_ARROW_CLASS,\n} from './constants';\nimport {div, isElement} from './dom-utils';\nimport {Instance, PopperElement, Props} from './types';\nimport {PopperChildren} from './types-internal';\nimport {arrayFrom} from './utils';\n\n// Firefox extensions don't allow .innerHTML = \"...\" property. This tricks it.\nconst innerHTML = (): 'innerHTML' => 'innerHTML';\n\nfunction dangerouslySetInnerHTML(element: Element, html: string): void {\n element[innerHTML()] = html;\n}\n\nfunction createArrowElement(value: Props['arrow']): HTMLDivElement {\n const arrow = div();\n\n if (value === true) {\n arrow.className = ARROW_CLASS;\n } else {\n arrow.className = SVG_ARROW_CLASS;\n\n if (isElement(value)) {\n arrow.appendChild(value);\n } else {\n dangerouslySetInnerHTML(arrow, value as string);\n }\n }\n\n return arrow;\n}\n\nexport function setContent(content: HTMLDivElement, props: Props): void {\n if (isElement(props.content)) {\n dangerouslySetInnerHTML(content, '');\n content.appendChild(props.content);\n } else if (typeof props.content !== 'function') {\n if (props.allowHTML) {\n dangerouslySetInnerHTML(content, props.content);\n } else {\n content.textContent = props.content;\n }\n }\n}\n\nexport function getChildren(popper: PopperElement): PopperChildren {\n const box = popper.firstElementChild as HTMLDivElement;\n const boxChildren = arrayFrom(box.children);\n\n return {\n box,\n content: boxChildren.find((node) => node.classList.contains(CONTENT_CLASS)),\n arrow: boxChildren.find(\n (node) =>\n node.classList.contains(ARROW_CLASS) ||\n node.classList.contains(SVG_ARROW_CLASS)\n ),\n backdrop: boxChildren.find((node) =>\n node.classList.contains(BACKDROP_CLASS)\n ),\n };\n}\n\nexport function render(\n instance: Instance\n): {\n popper: PopperElement;\n onUpdate?: (prevProps: Props, nextProps: Props) => void;\n} {\n const popper = div();\n\n const box = div();\n box.className = BOX_CLASS;\n box.setAttribute('data-state', 'hidden');\n box.setAttribute('tabindex', '-1');\n\n const content = div();\n content.className = CONTENT_CLASS;\n content.setAttribute('data-state', 'hidden');\n\n setContent(content, instance.props);\n\n popper.appendChild(box);\n box.appendChild(content);\n\n onUpdate(instance.props, instance.props);\n\n function onUpdate(prevProps: Props, nextProps: Props): void {\n const {box, content, arrow} = getChildren(popper);\n\n if (nextProps.theme) {\n box.setAttribute('data-theme', nextProps.theme);\n } else {\n box.removeAttribute('data-theme');\n }\n\n if (typeof nextProps.animation === 'string') {\n box.setAttribute('data-animation', nextProps.animation);\n } else {\n box.removeAttribute('data-animation');\n }\n\n if (nextProps.inertia) {\n box.setAttribute('data-inertia', '');\n } else {\n box.removeAttribute('data-inertia');\n }\n\n box.style.maxWidth =\n typeof nextProps.maxWidth === 'number'\n ? `${nextProps.maxWidth}px`\n : nextProps.maxWidth;\n\n if (nextProps.role) {\n box.setAttribute('role', nextProps.role);\n } else {\n box.removeAttribute('role');\n }\n\n if (\n prevProps.content !== nextProps.content ||\n prevProps.allowHTML !== nextProps.allowHTML\n ) {\n setContent(content, instance.props);\n }\n\n if (nextProps.arrow) {\n if (!arrow) {\n box.appendChild(createArrowElement(nextProps.arrow));\n } else if (prevProps.arrow !== nextProps.arrow) {\n box.removeChild(arrow);\n box.appendChild(createArrowElement(nextProps.arrow));\n }\n } else if (arrow) {\n box.removeChild(arrow!);\n }\n }\n\n return {\n popper,\n onUpdate,\n };\n}\n\n// Runtime check to identify if the render function is the default one; this\n// way we can apply default CSS transitions logic and it can be tree-shaken away\nrender.$$tippy = true;\n", "import {createPopper, StrictModifiers, Modifier} from '@popperjs/core';\nimport {currentInput} from './bindGlobalEventListeners';\nimport {isIE11} from './browser';\nimport {TIPPY_DEFAULT_APPEND_TO, TOUCH_OPTIONS} from './constants';\nimport {\n actualContains,\n div,\n getOwnerDocument,\n isCursorOutsideInteractiveBorder,\n isMouseEvent,\n setTransitionDuration,\n setVisibilityState,\n updateTransitionEndListener,\n} from './dom-utils';\nimport {defaultProps, evaluateProps, getExtendedPassedProps} from './props';\nimport {getChildren} from './template';\nimport {\n Content,\n Instance,\n LifecycleHooks,\n PopperElement,\n Props,\n ReferenceElement,\n} from './types';\nimport {ListenerObject, PopperTreeData, PopperChildren} from './types-internal';\nimport {\n arrayFrom,\n debounce,\n getValueAtIndexOrReturn,\n invokeWithArgsOrReturn,\n normalizeToArray,\n pushIfUnique,\n splitBySpaces,\n unique,\n removeUndefinedProps,\n} from './utils';\nimport {createMemoryLeakWarning, errorWhen, warnWhen} from './validation';\n\nlet idCounter = 1;\nlet mouseMoveListeners: ((event: MouseEvent) => void)[] = [];\n\n// Used by `hideAll()`\nexport let mountedInstances: Instance[] = [];\n\nexport default function createTippy(\n reference: ReferenceElement,\n passedProps: Partial\n): Instance {\n const props = evaluateProps(reference, {\n ...defaultProps,\n ...getExtendedPassedProps(removeUndefinedProps(passedProps)),\n });\n\n // ===========================================================================\n // 🔒 Private members\n // ===========================================================================\n let showTimeout: any;\n let hideTimeout: any;\n let scheduleHideAnimationFrame: number;\n let isVisibleFromClick = false;\n let didHideDueToDocumentMouseDown = false;\n let didTouchMove = false;\n let ignoreOnFirstUpdate = false;\n let lastTriggerEvent: Event | undefined;\n let currentTransitionEndListener: (event: TransitionEvent) => void;\n let onFirstUpdate: () => void;\n let listeners: ListenerObject[] = [];\n let debouncedOnMouseMove = debounce(onMouseMove, props.interactiveDebounce);\n let currentTarget: Element;\n\n // ===========================================================================\n // 🔑 Public members\n // ===========================================================================\n const id = idCounter++;\n const popperInstance = null;\n const plugins = unique(props.plugins);\n\n const state = {\n // Is the instance currently enabled?\n isEnabled: true,\n // Is the tippy currently showing and not transitioning out?\n isVisible: false,\n // Has the instance been destroyed?\n isDestroyed: false,\n // Is the tippy currently mounted to the DOM?\n isMounted: false,\n // Has the tippy finished transitioning in?\n isShown: false,\n };\n\n const instance: Instance = {\n // properties\n id,\n reference,\n popper: div(),\n popperInstance,\n props,\n state,\n plugins,\n // methods\n clearDelayTimeouts,\n setProps,\n setContent,\n show,\n hide,\n hideWithInteractivity,\n enable,\n disable,\n unmount,\n destroy,\n };\n\n // TODO: Investigate why this early return causes a TDZ error in the tests —\n // it doesn't seem to happen in the browser\n /* istanbul ignore if */\n if (!props.render) {\n if (__DEV__) {\n errorWhen(true, 'render() function has not been supplied.');\n }\n\n return instance;\n }\n\n // ===========================================================================\n // Initial mutations\n // ===========================================================================\n const {popper, onUpdate} = props.render(instance);\n\n popper.setAttribute('data-__NAMESPACE_PREFIX__-root', '');\n popper.id = `__NAMESPACE_PREFIX__-${instance.id}`;\n\n instance.popper = popper;\n reference._tippy = instance;\n popper._tippy = instance;\n\n const pluginsHooks = plugins.map((plugin) => plugin.fn(instance));\n const hasAriaExpanded = reference.hasAttribute('aria-expanded');\n\n addListeners();\n handleAriaExpandedAttribute();\n handleStyles();\n\n invokeHook('onCreate', [instance]);\n\n if (props.showOnCreate) {\n scheduleShow();\n }\n\n // Prevent a tippy with a delay from hiding if the cursor left then returned\n // before it started hiding\n popper.addEventListener('mouseenter', () => {\n if (instance.props.interactive && instance.state.isVisible) {\n instance.clearDelayTimeouts();\n }\n });\n\n popper.addEventListener('mouseleave', () => {\n if (\n instance.props.interactive &&\n instance.props.trigger.indexOf('mouseenter') >= 0\n ) {\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n }\n });\n\n return instance;\n\n // ===========================================================================\n // 🔒 Private methods\n // ===========================================================================\n function getNormalizedTouchSettings(): [string | boolean, number] {\n const {touch} = instance.props;\n return Array.isArray(touch) ? touch : [touch, 0];\n }\n\n function getIsCustomTouchBehavior(): boolean {\n return getNormalizedTouchSettings()[0] === 'hold';\n }\n\n function getIsDefaultRenderFn(): boolean {\n // @ts-ignore\n return !!instance.props.render?.$$tippy;\n }\n\n function getCurrentTarget(): Element {\n return currentTarget || reference;\n }\n\n function getDocument(): Document {\n const parent = getCurrentTarget().parentNode as Element;\n return parent ? getOwnerDocument(parent) : document;\n }\n\n function getDefaultTemplateChildren(): PopperChildren {\n return getChildren(popper);\n }\n\n function getDelay(isShow: boolean): number {\n // For touch or keyboard input, force `0` delay for UX reasons\n // Also if the instance is mounted but not visible (transitioning out),\n // ignore delay\n if (\n (instance.state.isMounted && !instance.state.isVisible) ||\n currentInput.isTouch ||\n (lastTriggerEvent && lastTriggerEvent.type === 'focus')\n ) {\n return 0;\n }\n\n return getValueAtIndexOrReturn(\n instance.props.delay,\n isShow ? 0 : 1,\n defaultProps.delay\n );\n }\n\n function handleStyles(fromHide = false): void {\n popper.style.pointerEvents =\n instance.props.interactive && !fromHide ? '' : 'none';\n popper.style.zIndex = `${instance.props.zIndex}`;\n }\n\n function invokeHook(\n hook: keyof LifecycleHooks,\n args: [Instance, any?],\n shouldInvokePropsHook = true\n ): void {\n pluginsHooks.forEach((pluginHooks) => {\n if (pluginHooks[hook]) {\n pluginHooks[hook]!(...args);\n }\n });\n\n if (shouldInvokePropsHook) {\n instance.props[hook](...args);\n }\n }\n\n function handleAriaContentAttribute(): void {\n const {aria} = instance.props;\n\n if (!aria.content) {\n return;\n }\n\n const attr = `aria-${aria.content}`;\n const id = popper.id;\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n\n nodes.forEach((node) => {\n const currentValue = node.getAttribute(attr);\n\n if (instance.state.isVisible) {\n node.setAttribute(attr, currentValue ? `${currentValue} ${id}` : id);\n } else {\n const nextValue = currentValue && currentValue.replace(id, '').trim();\n\n if (nextValue) {\n node.setAttribute(attr, nextValue);\n } else {\n node.removeAttribute(attr);\n }\n }\n });\n }\n\n function handleAriaExpandedAttribute(): void {\n if (hasAriaExpanded || !instance.props.aria.expanded) {\n return;\n }\n\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n\n nodes.forEach((node) => {\n if (instance.props.interactive) {\n node.setAttribute(\n 'aria-expanded',\n instance.state.isVisible && node === getCurrentTarget()\n ? 'true'\n : 'false'\n );\n } else {\n node.removeAttribute('aria-expanded');\n }\n });\n }\n\n function cleanupInteractiveMouseListeners(): void {\n getDocument().removeEventListener('mousemove', debouncedOnMouseMove);\n mouseMoveListeners = mouseMoveListeners.filter(\n (listener) => listener !== debouncedOnMouseMove\n );\n }\n\n function onDocumentPress(event: MouseEvent | TouchEvent): void {\n // Moved finger to scroll instead of an intentional tap outside\n if (currentInput.isTouch) {\n if (didTouchMove || event.type === 'mousedown') {\n return;\n }\n }\n\n const actualTarget =\n (event.composedPath && event.composedPath()[0]) || event.target;\n\n // Clicked on interactive popper\n if (\n instance.props.interactive &&\n actualContains(popper, actualTarget as Element)\n ) {\n return;\n }\n\n // Clicked on the event listeners target\n if (\n normalizeToArray(instance.props.triggerTarget || reference).some((el) =>\n actualContains(el, actualTarget as Element)\n )\n ) {\n if (currentInput.isTouch) {\n return;\n }\n\n if (\n instance.state.isVisible &&\n instance.props.trigger.indexOf('click') >= 0\n ) {\n return;\n }\n } else {\n invokeHook('onClickOutside', [instance, event]);\n }\n\n if (instance.props.hideOnClick === true) {\n instance.clearDelayTimeouts();\n instance.hide();\n\n // `mousedown` event is fired right before `focus` if pressing the\n // currentTarget. This lets a tippy with `focus` trigger know that it\n // should not show\n didHideDueToDocumentMouseDown = true;\n setTimeout(() => {\n didHideDueToDocumentMouseDown = false;\n });\n\n // The listener gets added in `scheduleShow()`, but this may be hiding it\n // before it shows, and hide()'s early bail-out behavior can prevent it\n // from being cleaned up\n if (!instance.state.isMounted) {\n removeDocumentPress();\n }\n }\n }\n\n function onTouchMove(): void {\n didTouchMove = true;\n }\n\n function onTouchStart(): void {\n didTouchMove = false;\n }\n\n function addDocumentPress(): void {\n const doc = getDocument();\n doc.addEventListener('mousedown', onDocumentPress, true);\n doc.addEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.addEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.addEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function removeDocumentPress(): void {\n const doc = getDocument();\n doc.removeEventListener('mousedown', onDocumentPress, true);\n doc.removeEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.removeEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.removeEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function onTransitionedOut(duration: number, callback: () => void): void {\n onTransitionEnd(duration, () => {\n if (\n !instance.state.isVisible &&\n popper.parentNode &&\n popper.parentNode.contains(popper)\n ) {\n callback();\n }\n });\n }\n\n function onTransitionedIn(duration: number, callback: () => void): void {\n onTransitionEnd(duration, callback);\n }\n\n function onTransitionEnd(duration: number, callback: () => void): void {\n const box = getDefaultTemplateChildren().box;\n\n function listener(event: TransitionEvent): void {\n if (event.target === box) {\n updateTransitionEndListener(box, 'remove', listener);\n callback();\n }\n }\n\n // Make callback synchronous if duration is 0\n // `transitionend` won't fire otherwise\n if (duration === 0) {\n return callback();\n }\n\n updateTransitionEndListener(box, 'remove', currentTransitionEndListener);\n updateTransitionEndListener(box, 'add', listener);\n\n currentTransitionEndListener = listener;\n }\n\n function on(\n eventType: string,\n handler: EventListener,\n options: boolean | Record = false\n ): void {\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n nodes.forEach((node) => {\n node.addEventListener(eventType, handler, options);\n listeners.push({node, eventType, handler, options});\n });\n }\n\n function addListeners(): void {\n if (getIsCustomTouchBehavior()) {\n on('touchstart', onTrigger, {passive: true});\n on('touchend', onMouseLeave as EventListener, {passive: true});\n }\n\n splitBySpaces(instance.props.trigger).forEach((eventType) => {\n if (eventType === 'manual') {\n return;\n }\n\n on(eventType, onTrigger);\n\n switch (eventType) {\n case 'mouseenter':\n on('mouseleave', onMouseLeave as EventListener);\n break;\n case 'focus':\n on(isIE11 ? 'focusout' : 'blur', onBlurOrFocusOut as EventListener);\n break;\n case 'focusin':\n on('focusout', onBlurOrFocusOut as EventListener);\n break;\n }\n });\n }\n\n function removeListeners(): void {\n listeners.forEach(({node, eventType, handler, options}: ListenerObject) => {\n node.removeEventListener(eventType, handler, options);\n });\n listeners = [];\n }\n\n function onTrigger(event: Event): void {\n let shouldScheduleClickHide = false;\n\n if (\n !instance.state.isEnabled ||\n isEventListenerStopped(event) ||\n didHideDueToDocumentMouseDown\n ) {\n return;\n }\n\n const wasFocused = lastTriggerEvent?.type === 'focus';\n\n lastTriggerEvent = event;\n currentTarget = event.currentTarget as Element;\n\n handleAriaExpandedAttribute();\n\n if (!instance.state.isVisible && isMouseEvent(event)) {\n // If scrolling, `mouseenter` events can be fired if the cursor lands\n // over a new target, but `mousemove` events don't get fired. This\n // causes interactive tooltips to get stuck open until the cursor is\n // moved\n mouseMoveListeners.forEach((listener) => listener(event));\n }\n\n // Toggle show/hide when clicking click-triggered tooltips\n if (\n event.type === 'click' &&\n (instance.props.trigger.indexOf('mouseenter') < 0 ||\n isVisibleFromClick) &&\n instance.props.hideOnClick !== false &&\n instance.state.isVisible\n ) {\n shouldScheduleClickHide = true;\n } else {\n scheduleShow(event);\n }\n\n if (event.type === 'click') {\n isVisibleFromClick = !shouldScheduleClickHide;\n }\n\n if (shouldScheduleClickHide && !wasFocused) {\n scheduleHide(event);\n }\n }\n\n function onMouseMove(event: MouseEvent): void {\n const target = event.target as Node;\n const isCursorOverReferenceOrPopper =\n getCurrentTarget().contains(target) || popper.contains(target);\n\n if (event.type === 'mousemove' && isCursorOverReferenceOrPopper) {\n return;\n }\n\n const popperTreeData = getNestedPopperTree()\n .concat(popper)\n .map((popper) => {\n const instance = popper._tippy!;\n const state = instance.popperInstance?.state;\n\n if (state) {\n return {\n popperRect: popper.getBoundingClientRect(),\n popperState: state,\n props,\n };\n }\n\n return null;\n })\n .filter(Boolean) as PopperTreeData[];\n\n if (isCursorOutsideInteractiveBorder(popperTreeData, event)) {\n cleanupInteractiveMouseListeners();\n scheduleHide(event);\n }\n }\n\n function onMouseLeave(event: MouseEvent): void {\n const shouldBail =\n isEventListenerStopped(event) ||\n (instance.props.trigger.indexOf('click') >= 0 && isVisibleFromClick);\n\n if (shouldBail) {\n return;\n }\n\n if (instance.props.interactive) {\n instance.hideWithInteractivity(event);\n return;\n }\n\n scheduleHide(event);\n }\n\n function onBlurOrFocusOut(event: FocusEvent): void {\n if (\n instance.props.trigger.indexOf('focusin') < 0 &&\n event.target !== getCurrentTarget()\n ) {\n return;\n }\n\n // If focus was moved to within the popper\n if (\n instance.props.interactive &&\n event.relatedTarget &&\n popper.contains(event.relatedTarget as Element)\n ) {\n return;\n }\n\n scheduleHide(event);\n }\n\n function isEventListenerStopped(event: Event): boolean {\n return currentInput.isTouch\n ? getIsCustomTouchBehavior() !== event.type.indexOf('touch') >= 0\n : false;\n }\n\n function createPopperInstance(): void {\n destroyPopperInstance();\n\n const {\n popperOptions,\n placement,\n offset,\n getReferenceClientRect,\n moveTransition,\n } = instance.props;\n\n const arrow = getIsDefaultRenderFn() ? getChildren(popper).arrow : null;\n\n const computedReference = getReferenceClientRect\n ? {\n getBoundingClientRect: getReferenceClientRect,\n contextElement:\n getReferenceClientRect.contextElement || getCurrentTarget(),\n }\n : reference;\n\n const tippyModifier: Modifier<'$$tippy', Record> = {\n name: '$$tippy',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn({state}) {\n if (getIsDefaultRenderFn()) {\n const {box} = getDefaultTemplateChildren();\n\n ['placement', 'reference-hidden', 'escaped'].forEach((attr) => {\n if (attr === 'placement') {\n box.setAttribute('data-placement', state.placement);\n } else {\n if (state.attributes.popper[`data-popper-${attr}`]) {\n box.setAttribute(`data-${attr}`, '');\n } else {\n box.removeAttribute(`data-${attr}`);\n }\n }\n });\n\n state.attributes.popper = {};\n }\n },\n };\n\n type TippyModifier = Modifier<'$$tippy', Record>;\n type ExtendedModifiers = StrictModifiers | Partial;\n\n const modifiers: Array = [\n {\n name: 'offset',\n options: {\n offset,\n },\n },\n {\n name: 'preventOverflow',\n options: {\n padding: {\n top: 2,\n bottom: 2,\n left: 5,\n right: 5,\n },\n },\n },\n {\n name: 'flip',\n options: {\n padding: 5,\n },\n },\n {\n name: 'computeStyles',\n options: {\n adaptive: !moveTransition,\n },\n },\n tippyModifier,\n ];\n\n if (getIsDefaultRenderFn() && arrow) {\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 3,\n },\n });\n }\n\n modifiers.push(...(popperOptions?.modifiers || []));\n\n instance.popperInstance = createPopper(\n computedReference,\n popper,\n {\n ...popperOptions,\n placement,\n onFirstUpdate,\n modifiers,\n }\n );\n }\n\n function destroyPopperInstance(): void {\n if (instance.popperInstance) {\n instance.popperInstance.destroy();\n instance.popperInstance = null;\n }\n }\n\n function mount(): void {\n const {appendTo} = instance.props;\n\n let parentNode: any;\n\n // By default, we'll append the popper to the triggerTargets's parentNode so\n // it's directly after the reference element so the elements inside the\n // tippy can be tabbed to\n // If there are clipping issues, the user can specify a different appendTo\n // and ensure focus management is handled correctly manually\n const node = getCurrentTarget();\n\n if (\n (instance.props.interactive && appendTo === TIPPY_DEFAULT_APPEND_TO) ||\n appendTo === 'parent'\n ) {\n parentNode = node.parentNode;\n } else {\n parentNode = invokeWithArgsOrReturn(appendTo, [node]);\n }\n\n // The popper element needs to exist on the DOM before its position can be\n // updated as Popper needs to read its dimensions\n if (!parentNode.contains(popper)) {\n parentNode.appendChild(popper);\n }\n\n instance.state.isMounted = true;\n\n createPopperInstance();\n\n /* istanbul ignore else */\n if (__DEV__) {\n // Accessibility check\n warnWhen(\n instance.props.interactive &&\n appendTo === defaultProps.appendTo &&\n node.nextElementSibling !== popper,\n [\n 'Interactive tippy element may not be accessible via keyboard',\n 'navigation because it is not directly after the reference element',\n 'in the DOM source order.',\n '\\n\\n',\n 'Using a wrapper
or tag around the reference element',\n 'solves this by creating a new parentNode context.',\n '\\n\\n',\n 'Specifying `appendTo: document.body` silences this warning, but it',\n 'assumes you are using a focus management solution to handle',\n 'keyboard navigation.',\n '\\n\\n',\n 'See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity',\n ].join(' ')\n );\n }\n }\n\n function getNestedPopperTree(): PopperElement[] {\n return arrayFrom(\n popper.querySelectorAll('[data-__NAMESPACE_PREFIX__-root]')\n );\n }\n\n function scheduleShow(event?: Event): void {\n instance.clearDelayTimeouts();\n\n if (event) {\n invokeHook('onTrigger', [instance, event]);\n }\n\n addDocumentPress();\n\n let delay = getDelay(true);\n const [touchValue, touchDelay] = getNormalizedTouchSettings();\n\n if (currentInput.isTouch && touchValue === 'hold' && touchDelay) {\n delay = touchDelay;\n }\n\n if (delay) {\n showTimeout = setTimeout(() => {\n instance.show();\n }, delay);\n } else {\n instance.show();\n }\n }\n\n function scheduleHide(event: Event): void {\n instance.clearDelayTimeouts();\n\n invokeHook('onUntrigger', [instance, event]);\n\n if (!instance.state.isVisible) {\n removeDocumentPress();\n\n return;\n }\n\n // For interactive tippies, scheduleHide is added to a document.body handler\n // from onMouseLeave so must intercept scheduled hides from mousemove/leave\n // events when trigger contains mouseenter and click, and the tip is\n // currently shown as a result of a click.\n if (\n instance.props.trigger.indexOf('mouseenter') >= 0 &&\n instance.props.trigger.indexOf('click') >= 0 &&\n ['mouseleave', 'mousemove'].indexOf(event.type) >= 0 &&\n isVisibleFromClick\n ) {\n return;\n }\n\n const delay = getDelay(false);\n\n if (delay) {\n hideTimeout = setTimeout(() => {\n if (instance.state.isVisible) {\n instance.hide();\n }\n }, delay);\n } else {\n // Fixes a `transitionend` problem when it fires 1 frame too\n // late sometimes, we don't want hide() to be called.\n scheduleHideAnimationFrame = requestAnimationFrame(() => {\n instance.hide();\n });\n }\n }\n\n // ===========================================================================\n // 🔑 Public methods\n // ===========================================================================\n function enable(): void {\n instance.state.isEnabled = true;\n }\n\n function disable(): void {\n // Disabling the instance should also hide it\n // https://github.com/atomiks/tippy.js-react/issues/106\n instance.hide();\n instance.state.isEnabled = false;\n }\n\n function clearDelayTimeouts(): void {\n clearTimeout(showTimeout);\n clearTimeout(hideTimeout);\n cancelAnimationFrame(scheduleHideAnimationFrame);\n }\n\n function setProps(partialProps: Partial): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('setProps'));\n }\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n invokeHook('onBeforeUpdate', [instance, partialProps]);\n\n removeListeners();\n\n const prevProps = instance.props;\n const nextProps = evaluateProps(reference, {\n ...prevProps,\n ...removeUndefinedProps(partialProps),\n ignoreAttributes: true,\n });\n\n instance.props = nextProps;\n\n addListeners();\n\n if (prevProps.interactiveDebounce !== nextProps.interactiveDebounce) {\n cleanupInteractiveMouseListeners();\n debouncedOnMouseMove = debounce(\n onMouseMove,\n nextProps.interactiveDebounce\n );\n }\n\n // Ensure stale aria-expanded attributes are removed\n if (prevProps.triggerTarget && !nextProps.triggerTarget) {\n normalizeToArray(prevProps.triggerTarget).forEach((node) => {\n node.removeAttribute('aria-expanded');\n });\n } else if (nextProps.triggerTarget) {\n reference.removeAttribute('aria-expanded');\n }\n\n handleAriaExpandedAttribute();\n handleStyles();\n\n if (onUpdate) {\n onUpdate(prevProps, nextProps);\n }\n\n if (instance.popperInstance) {\n createPopperInstance();\n\n // Fixes an issue with nested tippies if they are all getting re-rendered,\n // and the nested ones get re-rendered first.\n // https://github.com/atomiks/tippyjs-react/issues/177\n // TODO: find a cleaner / more efficient solution(!)\n getNestedPopperTree().forEach((nestedPopper) => {\n // React (and other UI libs likely) requires a rAF wrapper as it flushes\n // its work in one\n requestAnimationFrame(nestedPopper._tippy!.popperInstance!.forceUpdate);\n });\n }\n\n invokeHook('onAfterUpdate', [instance, partialProps]);\n }\n\n function setContent(content: Content): void {\n instance.setProps({content});\n }\n\n function show(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('show'));\n }\n\n // Early bail-out\n const isAlreadyVisible = instance.state.isVisible;\n const isDestroyed = instance.state.isDestroyed;\n const isDisabled = !instance.state.isEnabled;\n const isTouchAndTouchDisabled =\n currentInput.isTouch && !instance.props.touch;\n const duration = getValueAtIndexOrReturn(\n instance.props.duration,\n 0,\n defaultProps.duration\n );\n\n if (\n isAlreadyVisible ||\n isDestroyed ||\n isDisabled ||\n isTouchAndTouchDisabled\n ) {\n return;\n }\n\n // Normalize `disabled` behavior across browsers.\n // Firefox allows events on disabled elements, but Chrome doesn't.\n // Using a wrapper element (i.e. ) is recommended.\n if (getCurrentTarget().hasAttribute('disabled')) {\n return;\n }\n\n invokeHook('onShow', [instance], false);\n if (instance.props.onShow(instance) === false) {\n return;\n }\n\n instance.state.isVisible = true;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'visible';\n }\n\n handleStyles();\n addDocumentPress();\n\n if (!instance.state.isMounted) {\n popper.style.transition = 'none';\n }\n\n // If flipping to the opposite side after hiding at least once, the\n // animation will use the wrong placement without resetting the duration\n if (getIsDefaultRenderFn()) {\n const {box, content} = getDefaultTemplateChildren();\n setTransitionDuration([box, content], 0);\n }\n\n onFirstUpdate = (): void => {\n if (!instance.state.isVisible || ignoreOnFirstUpdate) {\n return;\n }\n\n ignoreOnFirstUpdate = true;\n\n // reflow\n void popper.offsetHeight;\n\n popper.style.transition = instance.props.moveTransition;\n\n if (getIsDefaultRenderFn() && instance.props.animation) {\n const {box, content} = getDefaultTemplateChildren();\n setTransitionDuration([box, content], duration);\n setVisibilityState([box, content], 'visible');\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n\n pushIfUnique(mountedInstances, instance);\n\n // certain modifiers (e.g. `maxSize`) require a second update after the\n // popper has been positioned for the first time\n instance.popperInstance?.forceUpdate();\n\n invokeHook('onMount', [instance]);\n\n if (instance.props.animation && getIsDefaultRenderFn()) {\n onTransitionedIn(duration, () => {\n instance.state.isShown = true;\n invokeHook('onShown', [instance]);\n });\n }\n };\n\n mount();\n }\n\n function hide(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('hide'));\n }\n\n // Early bail-out\n const isAlreadyHidden = !instance.state.isVisible;\n const isDestroyed = instance.state.isDestroyed;\n const isDisabled = !instance.state.isEnabled;\n const duration = getValueAtIndexOrReturn(\n instance.props.duration,\n 1,\n defaultProps.duration\n );\n\n if (isAlreadyHidden || isDestroyed || isDisabled) {\n return;\n }\n\n invokeHook('onHide', [instance], false);\n if (instance.props.onHide(instance) === false) {\n return;\n }\n\n instance.state.isVisible = false;\n instance.state.isShown = false;\n ignoreOnFirstUpdate = false;\n isVisibleFromClick = false;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'hidden';\n }\n\n cleanupInteractiveMouseListeners();\n removeDocumentPress();\n handleStyles(true);\n\n if (getIsDefaultRenderFn()) {\n const {box, content} = getDefaultTemplateChildren();\n\n if (instance.props.animation) {\n setTransitionDuration([box, content], duration);\n setVisibilityState([box, content], 'hidden');\n }\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n\n if (instance.props.animation) {\n if (getIsDefaultRenderFn()) {\n onTransitionedOut(duration, instance.unmount);\n }\n } else {\n instance.unmount();\n }\n }\n\n function hideWithInteractivity(event: MouseEvent): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(\n instance.state.isDestroyed,\n createMemoryLeakWarning('hideWithInteractivity')\n );\n }\n\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n pushIfUnique(mouseMoveListeners, debouncedOnMouseMove);\n debouncedOnMouseMove(event);\n }\n\n function unmount(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('unmount'));\n }\n\n if (instance.state.isVisible) {\n instance.hide();\n }\n\n if (!instance.state.isMounted) {\n return;\n }\n\n destroyPopperInstance();\n\n // If a popper is not interactive, it will be appended outside the popper\n // tree by default. This seems mainly for interactive tippies, but we should\n // find a workaround if possible\n getNestedPopperTree().forEach((nestedPopper) => {\n nestedPopper._tippy!.unmount();\n });\n\n if (popper.parentNode) {\n popper.parentNode.removeChild(popper);\n }\n\n mountedInstances = mountedInstances.filter((i) => i !== instance);\n\n instance.state.isMounted = false;\n invokeHook('onHidden', [instance]);\n }\n\n function destroy(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('destroy'));\n }\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n instance.clearDelayTimeouts();\n instance.unmount();\n\n removeListeners();\n\n delete reference._tippy;\n\n instance.state.isDestroyed = true;\n\n invokeHook('onDestroy', [instance]);\n }\n}\n", "import bindGlobalEventListeners, {\n currentInput,\n} from './bindGlobalEventListeners';\nimport createTippy, {mountedInstances} from './createTippy';\nimport {getArrayOfElements, isElement, isReferenceElement} from './dom-utils';\nimport {defaultProps, setDefaultProps, validateProps} from './props';\nimport {HideAll, HideAllOptions, Instance, Props, Targets} from './types';\nimport {validateTargets, warnWhen} from './validation';\n\nfunction tippy(\n targets: Targets,\n optionalProps: Partial = {}\n): Instance | Instance[] {\n const plugins = defaultProps.plugins.concat(optionalProps.plugins || []);\n\n /* istanbul ignore else */\n if (__DEV__) {\n validateTargets(targets);\n validateProps(optionalProps, plugins);\n }\n\n bindGlobalEventListeners();\n\n const passedProps: Partial = {...optionalProps, plugins};\n\n const elements = getArrayOfElements(targets);\n\n /* istanbul ignore else */\n if (__DEV__) {\n const isSingleContentElement = isElement(passedProps.content);\n const isMoreThanOneReferenceElement = elements.length > 1;\n warnWhen(\n isSingleContentElement && isMoreThanOneReferenceElement,\n [\n 'tippy() was passed an Element as the `content` prop, but more than',\n 'one tippy instance was created by this invocation. This means the',\n 'content element will only be appended to the last tippy instance.',\n '\\n\\n',\n 'Instead, pass the .innerHTML of the element, or use a function that',\n 'returns a cloned version of the element instead.',\n '\\n\\n',\n '1) content: element.innerHTML\\n',\n '2) content: () => element.cloneNode(true)',\n ].join(' ')\n );\n }\n\n const instances = elements.reduce(\n (acc, reference): Instance[] => {\n const instance = reference && createTippy(reference, passedProps);\n\n if (instance) {\n acc.push(instance);\n }\n\n return acc;\n },\n []\n );\n\n return isElement(targets) ? instances[0] : instances;\n}\n\ntippy.defaultProps = defaultProps;\ntippy.setDefaultProps = setDefaultProps;\ntippy.currentInput = currentInput;\n\nexport default tippy;\n\nexport const hideAll: HideAll = ({\n exclude: excludedReferenceOrInstance,\n duration,\n}: HideAllOptions = {}) => {\n mountedInstances.forEach((instance) => {\n let isExcluded = false;\n\n if (excludedReferenceOrInstance) {\n isExcluded = isReferenceElement(excludedReferenceOrInstance)\n ? instance.reference === excludedReferenceOrInstance\n : instance.popper === (excludedReferenceOrInstance as Instance).popper;\n }\n\n if (!isExcluded) {\n const originalDuration = instance.props.duration;\n\n instance.setProps({duration});\n instance.hide();\n\n if (!instance.state.isDestroyed) {\n instance.setProps({duration: originalDuration});\n }\n }\n });\n};\n", "import tippy from '..';\nimport {div} from '../dom-utils';\nimport {\n CreateSingleton,\n Plugin,\n CreateSingletonProps,\n ReferenceElement,\n CreateSingletonInstance,\n Instance,\n Props,\n} from '../types';\nimport {normalizeToArray, removeProperties} from '../utils';\nimport {errorWhen} from '../validation';\nimport {applyStyles, Modifier} from '@popperjs/core';\n\n// The default `applyStyles` modifier has a cleanup function that gets called\n// every time the popper is destroyed (i.e. a new target), removing the styles\n// and causing transitions to break for singletons when the console is open, but\n// most notably for non-transform styles being used, `gpuAcceleration: false`.\nconst applyStylesModifier: Modifier<'applyStyles', Record> = {\n ...applyStyles,\n effect({state}) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n // intentionally return no cleanup function\n // return () => { ... }\n },\n};\n\nconst createSingleton: CreateSingleton = (\n tippyInstances,\n optionalProps = {}\n) => {\n /* istanbul ignore else */\n if (__DEV__) {\n errorWhen(\n !Array.isArray(tippyInstances),\n [\n 'The first argument passed to createSingleton() must be an array of',\n 'tippy instances. The passed value was',\n String(tippyInstances),\n ].join(' ')\n );\n }\n\n let individualInstances = tippyInstances;\n let references: Array = [];\n let triggerTargets: Array = [];\n let currentTarget: Element | null;\n let overrides = optionalProps.overrides;\n let interceptSetPropsCleanups: Array<() => void> = [];\n let shownOnCreate = false;\n\n function setTriggerTargets(): void {\n triggerTargets = individualInstances\n .map((instance) =>\n normalizeToArray(instance.props.triggerTarget || instance.reference)\n )\n .reduce((acc, item) => acc.concat(item), []);\n }\n\n function setReferences(): void {\n references = individualInstances.map((instance) => instance.reference);\n }\n\n function enableInstances(isEnabled: boolean): void {\n individualInstances.forEach((instance) => {\n if (isEnabled) {\n instance.enable();\n } else {\n instance.disable();\n }\n });\n }\n\n function interceptSetProps(singleton: Instance): Array<() => void> {\n return individualInstances.map((instance) => {\n const originalSetProps = instance.setProps;\n\n instance.setProps = (props): void => {\n originalSetProps(props);\n\n if (instance.reference === currentTarget) {\n singleton.setProps(props);\n }\n };\n\n return (): void => {\n instance.setProps = originalSetProps;\n };\n });\n }\n\n // have to pass singleton, as it maybe undefined on first call\n function prepareInstance(\n singleton: Instance,\n target: ReferenceElement\n ): void {\n const index = triggerTargets.indexOf(target);\n\n // bail-out\n if (target === currentTarget) {\n return;\n }\n\n currentTarget = target;\n\n const overrideProps: Partial = (overrides || [])\n .concat('content')\n .reduce((acc, prop) => {\n (acc as any)[prop] = individualInstances[index].props[prop];\n return acc;\n }, {});\n\n singleton.setProps({\n ...overrideProps,\n getReferenceClientRect:\n typeof overrideProps.getReferenceClientRect === 'function'\n ? overrideProps.getReferenceClientRect\n : (): ClientRect => references[index]?.getBoundingClientRect(),\n });\n }\n\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n\n const plugin: Plugin = {\n fn() {\n return {\n onDestroy(): void {\n enableInstances(true);\n },\n onHidden(): void {\n currentTarget = null;\n },\n onClickOutside(instance): void {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n currentTarget = null;\n }\n },\n onShow(instance): void {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n prepareInstance(instance, references[0]);\n }\n },\n onTrigger(instance, event): void {\n prepareInstance(instance, event.currentTarget as Element);\n },\n };\n },\n };\n\n const singleton = tippy(div(), {\n ...removeProperties(optionalProps, ['overrides']),\n plugins: [plugin, ...(optionalProps.plugins || [])],\n triggerTarget: triggerTargets,\n popperOptions: {\n ...optionalProps.popperOptions,\n modifiers: [\n ...(optionalProps.popperOptions?.modifiers || []),\n applyStylesModifier,\n ],\n },\n }) as CreateSingletonInstance;\n\n const originalShow = singleton.show;\n\n singleton.show = (target?: ReferenceElement | Instance | number): void => {\n originalShow();\n\n // first time, showOnCreate or programmatic call with no params\n // default to showing first instance\n if (!currentTarget && target == null) {\n return prepareInstance(singleton, references[0]);\n }\n\n // triggered from event (do nothing as prepareInstance already called by onTrigger)\n // programmatic call with no params when already visible (do nothing again)\n if (currentTarget && target == null) {\n return;\n }\n\n // target is index of instance\n if (typeof target === 'number') {\n return (\n references[target] && prepareInstance(singleton, references[target])\n );\n }\n\n // target is a child tippy instance\n if (individualInstances.indexOf(target as Instance) >= 0) {\n const ref = (target as Instance).reference;\n return prepareInstance(singleton, ref);\n }\n\n // target is a ReferenceElement\n if (references.indexOf(target as ReferenceElement) >= 0) {\n return prepareInstance(singleton, target as ReferenceElement);\n }\n };\n\n singleton.showNext = (): void => {\n const first = references[0];\n if (!currentTarget) {\n return singleton.show(0);\n }\n const index = references.indexOf(currentTarget);\n singleton.show(references[index + 1] || first);\n };\n\n singleton.showPrevious = (): void => {\n const last = references[references.length - 1];\n if (!currentTarget) {\n return singleton.show(last);\n }\n const index = references.indexOf(currentTarget);\n const target = references[index - 1] || last;\n singleton.show(target);\n };\n\n const originalSetProps = singleton.setProps;\n\n singleton.setProps = (props): void => {\n overrides = props.overrides || overrides;\n originalSetProps(props);\n };\n\n singleton.setInstances = (nextInstances): void => {\n enableInstances(true);\n interceptSetPropsCleanups.forEach((fn) => fn());\n\n individualInstances = nextInstances;\n\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n interceptSetPropsCleanups = interceptSetProps(singleton);\n\n singleton.setProps({triggerTarget: triggerTargets});\n };\n\n interceptSetPropsCleanups = interceptSetProps(singleton);\n\n return singleton;\n};\n\nexport default createSingleton;\n", "import tippy from '..';\nimport {TOUCH_OPTIONS} from '../constants';\nimport {defaultProps} from '../props';\nimport {Instance, Props, Targets} from '../types';\nimport {ListenerObject} from '../types-internal';\nimport {normalizeToArray, removeProperties} from '../utils';\nimport {errorWhen} from '../validation';\n\nconst BUBBLING_EVENTS_MAP = {\n mouseover: 'mouseenter',\n focusin: 'focus',\n click: 'click',\n};\n\n/**\n * Creates a delegate instance that controls the creation of tippy instances\n * for child elements (`target` CSS selector).\n */\nfunction delegate(\n targets: Targets,\n props: Partial & {target: string}\n): Instance | Instance[] {\n /* istanbul ignore else */\n if (__DEV__) {\n errorWhen(\n !(props && props.target),\n [\n 'You must specity a `target` prop indicating a CSS selector string matching',\n 'the target elements that should receive a tippy.',\n ].join(' ')\n );\n }\n\n let listeners: ListenerObject[] = [];\n let childTippyInstances: Instance[] = [];\n let disabled = false;\n\n const {target} = props;\n\n const nativeProps = removeProperties(props, ['target']);\n const parentProps = {...nativeProps, trigger: 'manual', touch: false};\n const childProps = {\n touch: defaultProps.touch,\n ...nativeProps,\n showOnCreate: true,\n };\n\n const returnValue = tippy(targets, parentProps);\n const normalizedReturnValue = normalizeToArray(returnValue);\n\n function onTrigger(event: Event): void {\n if (!event.target || disabled) {\n return;\n }\n\n const targetNode = (event.target as Element).closest(target);\n\n if (!targetNode) {\n return;\n }\n\n // Get relevant trigger with fallbacks:\n // 1. Check `data-tippy-trigger` attribute on target node\n // 2. Fallback to `trigger` passed to `delegate()`\n // 3. Fallback to `defaultProps.trigger`\n const trigger =\n targetNode.getAttribute('data-tippy-trigger') ||\n props.trigger ||\n defaultProps.trigger;\n\n // @ts-ignore\n if (targetNode._tippy) {\n return;\n }\n\n if (event.type === 'touchstart' && typeof childProps.touch === 'boolean') {\n return;\n }\n\n if (\n event.type !== 'touchstart' &&\n trigger.indexOf((BUBBLING_EVENTS_MAP as any)[event.type]) < 0\n ) {\n return;\n }\n\n const instance = tippy(targetNode, childProps);\n\n if (instance) {\n childTippyInstances = childTippyInstances.concat(instance);\n }\n }\n\n function on(\n node: Element,\n eventType: string,\n handler: EventListener,\n options: boolean | Record = false\n ): void {\n node.addEventListener(eventType, handler, options);\n listeners.push({node, eventType, handler, options});\n }\n\n function addEventListeners(instance: Instance): void {\n const {reference} = instance;\n\n on(reference, 'touchstart', onTrigger, TOUCH_OPTIONS);\n on(reference, 'mouseover', onTrigger);\n on(reference, 'focusin', onTrigger);\n on(reference, 'click', onTrigger);\n }\n\n function removeEventListeners(): void {\n listeners.forEach(({node, eventType, handler, options}: ListenerObject) => {\n node.removeEventListener(eventType, handler, options);\n });\n listeners = [];\n }\n\n function applyMutations(instance: Instance): void {\n const originalDestroy = instance.destroy;\n const originalEnable = instance.enable;\n const originalDisable = instance.disable;\n\n instance.destroy = (shouldDestroyChildInstances = true): void => {\n if (shouldDestroyChildInstances) {\n childTippyInstances.forEach((instance) => {\n instance.destroy();\n });\n }\n\n childTippyInstances = [];\n\n removeEventListeners();\n originalDestroy();\n };\n\n instance.enable = (): void => {\n originalEnable();\n childTippyInstances.forEach((instance) => instance.enable());\n disabled = false;\n };\n\n instance.disable = (): void => {\n originalDisable();\n childTippyInstances.forEach((instance) => instance.disable());\n disabled = true;\n };\n\n addEventListeners(instance);\n }\n\n normalizedReturnValue.forEach(applyMutations);\n\n return returnValue;\n}\n\nexport default delegate;\n", "import {BACKDROP_CLASS} from '../constants';\nimport {div, setVisibilityState} from '../dom-utils';\nimport {getChildren} from '../template';\nimport {AnimateFill} from '../types';\nimport {errorWhen} from '../validation';\n\nconst animateFill: AnimateFill = {\n name: 'animateFill',\n defaultValue: false,\n fn(instance) {\n // @ts-ignore\n if (!instance.props.render?.$$tippy) {\n if (__DEV__) {\n errorWhen(\n instance.props.animateFill,\n 'The `animateFill` plugin requires the default render function.'\n );\n }\n\n return {};\n }\n\n const {box, content} = getChildren(instance.popper);\n\n const backdrop = instance.props.animateFill\n ? createBackdropElement()\n : null;\n\n return {\n onCreate(): void {\n if (backdrop) {\n box.insertBefore(backdrop, box.firstElementChild!);\n box.setAttribute('data-animatefill', '');\n box.style.overflow = 'hidden';\n\n instance.setProps({arrow: false, animation: 'shift-away'});\n }\n },\n onMount(): void {\n if (backdrop) {\n const {transitionDuration} = box.style;\n const duration = Number(transitionDuration.replace('ms', ''));\n\n // The content should fade in after the backdrop has mostly filled the\n // tooltip element. `clip-path` is the other alternative but is not\n // well-supported and is buggy on some devices.\n content.style.transitionDelay = `${Math.round(duration / 10)}ms`;\n\n backdrop.style.transitionDuration = transitionDuration;\n setVisibilityState([backdrop], 'visible');\n }\n },\n onShow(): void {\n if (backdrop) {\n backdrop.style.transitionDuration = '0ms';\n }\n },\n onHide(): void {\n if (backdrop) {\n setVisibilityState([backdrop], 'hidden');\n }\n },\n };\n },\n};\n\nexport default animateFill;\n\nfunction createBackdropElement(): HTMLDivElement {\n const backdrop = div();\n backdrop.className = BACKDROP_CLASS;\n setVisibilityState([backdrop], 'hidden');\n return backdrop;\n}\n", "import {getOwnerDocument, isMouseEvent} from '../dom-utils';\nimport {FollowCursor, Instance} from '../types';\n\nlet mouseCoords = {clientX: 0, clientY: 0};\nlet activeInstances: Array<{instance: Instance; doc: Document}> = [];\n\nfunction storeMouseCoords({clientX, clientY}: MouseEvent): void {\n mouseCoords = {clientX, clientY};\n}\n\nfunction addMouseCoordsListener(doc: Document): void {\n doc.addEventListener('mousemove', storeMouseCoords);\n}\n\nfunction removeMouseCoordsListener(doc: Document): void {\n doc.removeEventListener('mousemove', storeMouseCoords);\n}\n\nconst followCursor: FollowCursor = {\n name: 'followCursor',\n defaultValue: false,\n fn(instance) {\n const reference = instance.reference;\n const doc = getOwnerDocument(instance.props.triggerTarget || reference);\n\n let isInternalUpdate = false;\n let wasFocusEvent = false;\n let isUnmounted = true;\n let prevProps = instance.props;\n\n function getIsInitialBehavior(): boolean {\n return (\n instance.props.followCursor === 'initial' && instance.state.isVisible\n );\n }\n\n function addListener(): void {\n doc.addEventListener('mousemove', onMouseMove);\n }\n\n function removeListener(): void {\n doc.removeEventListener('mousemove', onMouseMove);\n }\n\n function unsetGetReferenceClientRect(): void {\n isInternalUpdate = true;\n instance.setProps({getReferenceClientRect: null});\n isInternalUpdate = false;\n }\n\n function onMouseMove(event: MouseEvent): void {\n // If the instance is interactive, avoid updating the position unless it's\n // over the reference element\n const isCursorOverReference = event.target\n ? reference.contains(event.target as Node)\n : true;\n const {followCursor} = instance.props;\n const {clientX, clientY} = event;\n\n const rect = reference.getBoundingClientRect();\n const relativeX = clientX - rect.left;\n const relativeY = clientY - rect.top;\n\n if (isCursorOverReference || !instance.props.interactive) {\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect() {\n const rect = reference.getBoundingClientRect();\n\n let x = clientX;\n let y = clientY;\n\n if (followCursor === 'initial') {\n x = rect.left + relativeX;\n y = rect.top + relativeY;\n }\n\n const top = followCursor === 'horizontal' ? rect.top : y;\n const right = followCursor === 'vertical' ? rect.right : x;\n const bottom = followCursor === 'horizontal' ? rect.bottom : y;\n const left = followCursor === 'vertical' ? rect.left : x;\n\n return {\n width: right - left,\n height: bottom - top,\n top,\n right,\n bottom,\n left,\n };\n },\n });\n }\n }\n\n function create(): void {\n if (instance.props.followCursor) {\n activeInstances.push({instance, doc});\n addMouseCoordsListener(doc);\n }\n }\n\n function destroy(): void {\n activeInstances = activeInstances.filter(\n (data) => data.instance !== instance\n );\n\n if (activeInstances.filter((data) => data.doc === doc).length === 0) {\n removeMouseCoordsListener(doc);\n }\n }\n\n return {\n onCreate: create,\n onDestroy: destroy,\n onBeforeUpdate(): void {\n prevProps = instance.props;\n },\n onAfterUpdate(_, {followCursor}): void {\n if (isInternalUpdate) {\n return;\n }\n\n if (\n followCursor !== undefined &&\n prevProps.followCursor !== followCursor\n ) {\n destroy();\n\n if (followCursor) {\n create();\n\n if (\n instance.state.isMounted &&\n !wasFocusEvent &&\n !getIsInitialBehavior()\n ) {\n addListener();\n }\n } else {\n removeListener();\n unsetGetReferenceClientRect();\n }\n }\n },\n onMount(): void {\n if (instance.props.followCursor && !wasFocusEvent) {\n if (isUnmounted) {\n onMouseMove(mouseCoords as MouseEvent);\n isUnmounted = false;\n }\n\n if (!getIsInitialBehavior()) {\n addListener();\n }\n }\n },\n onTrigger(_, event): void {\n if (isMouseEvent(event)) {\n mouseCoords = {clientX: event.clientX, clientY: event.clientY};\n }\n wasFocusEvent = event.type === 'focus';\n },\n onHidden(): void {\n if (instance.props.followCursor) {\n unsetGetReferenceClientRect();\n removeListener();\n isUnmounted = true;\n }\n },\n };\n },\n};\n\nexport default followCursor;\n", "import {Modifier, Placement} from '@popperjs/core';\nimport {isMouseEvent} from '../dom-utils';\nimport {BasePlacement, InlinePositioning, Props} from '../types';\nimport {arrayFrom, getBasePlacement} from '../utils';\n\nfunction getProps(props: Props, modifier: Modifier): Partial {\n return {\n popperOptions: {\n ...props.popperOptions,\n modifiers: [\n ...(props.popperOptions?.modifiers || []).filter(\n ({name}) => name !== modifier.name\n ),\n modifier,\n ],\n },\n };\n}\n\nconst inlinePositioning: InlinePositioning = {\n name: 'inlinePositioning',\n defaultValue: false,\n fn(instance) {\n const {reference} = instance;\n\n function isEnabled(): boolean {\n return !!instance.props.inlinePositioning;\n }\n\n let placement: Placement;\n let cursorRectIndex = -1;\n let isInternalUpdate = false;\n let triedPlacements: Array = [];\n\n const modifier: Modifier<\n 'tippyInlinePositioning',\n Record\n > = {\n name: 'tippyInlinePositioning',\n enabled: true,\n phase: 'afterWrite',\n fn({state}) {\n if (isEnabled()) {\n if (triedPlacements.indexOf(state.placement) !== -1) {\n triedPlacements = [];\n }\n\n if (\n placement !== state.placement &&\n triedPlacements.indexOf(state.placement) === -1\n ) {\n triedPlacements.push(state.placement);\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect: () =>\n getReferenceClientRect(state.placement),\n });\n }\n\n placement = state.placement;\n }\n },\n };\n\n function getReferenceClientRect(placement: Placement): Partial {\n return getInlineBoundingClientRect(\n getBasePlacement(placement),\n reference.getBoundingClientRect(),\n arrayFrom(reference.getClientRects()),\n cursorRectIndex\n );\n }\n\n function setInternalProps(partialProps: Partial): void {\n isInternalUpdate = true;\n instance.setProps(partialProps);\n isInternalUpdate = false;\n }\n\n function addModifier(): void {\n if (!isInternalUpdate) {\n setInternalProps(getProps(instance.props, modifier));\n }\n }\n\n return {\n onCreate: addModifier,\n onAfterUpdate: addModifier,\n onTrigger(_, event): void {\n if (isMouseEvent(event)) {\n const rects = arrayFrom(instance.reference.getClientRects());\n const cursorRect = rects.find(\n (rect) =>\n rect.left - 2 <= event.clientX &&\n rect.right + 2 >= event.clientX &&\n rect.top - 2 <= event.clientY &&\n rect.bottom + 2 >= event.clientY\n );\n const index = rects.indexOf(cursorRect);\n cursorRectIndex = index > -1 ? index : cursorRectIndex;\n }\n },\n onHidden(): void {\n cursorRectIndex = -1;\n },\n };\n },\n};\n\nexport default inlinePositioning;\n\nexport function getInlineBoundingClientRect(\n currentBasePlacement: BasePlacement | null,\n boundingRect: DOMRect,\n clientRects: DOMRect[],\n cursorRectIndex: number\n): {\n top: number;\n bottom: number;\n left: number;\n right: number;\n width: number;\n height: number;\n} {\n // Not an inline element, or placement is not yet known\n if (clientRects.length < 2 || currentBasePlacement === null) {\n return boundingRect;\n }\n\n // There are two rects and they are disjoined\n if (\n clientRects.length === 2 &&\n cursorRectIndex >= 0 &&\n clientRects[0].left > clientRects[1].right\n ) {\n return clientRects[cursorRectIndex] || boundingRect;\n }\n\n switch (currentBasePlacement) {\n case 'top':\n case 'bottom': {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = currentBasePlacement === 'top';\n\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n\n return {top, bottom, left, right, width, height};\n }\n case 'left':\n case 'right': {\n const minLeft = Math.min(...clientRects.map((rects) => rects.left));\n const maxRight = Math.max(...clientRects.map((rects) => rects.right));\n const measureRects = clientRects.filter((rect) =>\n currentBasePlacement === 'left'\n ? rect.left === minLeft\n : rect.right === maxRight\n );\n\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n\n return {top, bottom, left, right, width, height};\n }\n default: {\n return boundingRect;\n }\n }\n}\n", "import {VirtualElement} from '@popperjs/core';\nimport {ReferenceElement, Sticky} from '../types';\n\nconst sticky: Sticky = {\n name: 'sticky',\n defaultValue: false,\n fn(instance) {\n const {reference, popper} = instance;\n\n function getReference(): ReferenceElement | VirtualElement {\n return instance.popperInstance\n ? instance.popperInstance.state.elements.reference\n : reference;\n }\n\n function shouldCheck(value: 'reference' | 'popper'): boolean {\n return instance.props.sticky === true || instance.props.sticky === value;\n }\n\n let prevRefRect: ClientRect | null = null;\n let prevPopRect: ClientRect | null = null;\n\n function updatePosition(): void {\n const currentRefRect = shouldCheck('reference')\n ? getReference().getBoundingClientRect()\n : null;\n const currentPopRect = shouldCheck('popper')\n ? popper.getBoundingClientRect()\n : null;\n\n if (\n (currentRefRect && areRectsDifferent(prevRefRect, currentRefRect)) ||\n (currentPopRect && areRectsDifferent(prevPopRect, currentPopRect))\n ) {\n if (instance.popperInstance) {\n instance.popperInstance.update();\n }\n }\n\n prevRefRect = currentRefRect;\n prevPopRect = currentPopRect;\n\n if (instance.state.isMounted) {\n requestAnimationFrame(updatePosition);\n }\n }\n\n return {\n onMount(): void {\n if (instance.props.sticky) {\n updatePosition();\n }\n },\n };\n },\n};\n\nexport default sticky;\n\nfunction areRectsDifferent(\n rectA: ClientRect | null,\n rectB: ClientRect | null\n): boolean {\n if (rectA && rectB) {\n return (\n rectA.top !== rectB.top ||\n rectA.right !== rectB.right ||\n rectA.bottom !== rectB.bottom ||\n rectA.left !== rectB.left\n );\n }\n\n return true;\n}\n", "import tippy from '../src';\nimport {render} from '../src/template';\n\ntippy.setDefaultProps({render});\n\nexport {default, hideAll} from '../src';\nexport {default as createSingleton} from '../src/addons/createSingleton';\nexport {default as delegate} from '../src/addons/delegate';\nexport {default as animateFill} from '../src/plugins/animateFill';\nexport {default as followCursor} from '../src/plugins/followCursor';\nexport {default as inlinePositioning} from '../src/plugins/inlinePositioning';\nexport {default as sticky} from '../src/plugins/sticky';\nexport {ROUND_ARROW as roundArrow} from '../src/constants';\n", "/* ==========================================================================\n Design System\n Breakpoint JavaScript variables.\n All values are pixel based.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.scss as well.\n ========================================================================== */\n\nexport const varsBreakpoints = {\n bpXS: {\n min: 0,\n max: 600,\n },\n bpSM: {\n min: 601,\n max: 900,\n },\n bpMED: {\n min: 901,\n max: 1020,\n },\n bpLG: {\n min: 1021,\n max: 1200,\n },\n bpXL: {\n min: 1201,\n },\n};\n", "@charset \"UTF-8\";\n/*! normalize.css v2.1.3 | MIT License | git.io/normalize */\n/* ==========================================================================\n Base\n ========================================================================== */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n * user zoom.\n */\nhtml {\n font-family: sans-serif; /* 1 */\n -webkit-text-size-adjust: 100%;\n text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\nbody {\n margin: 0;\n}\n\n/* ==========================================================================\n Links\n ========================================================================== */\n/**\n * Address `outline` inconsistency between Chrome and other browsers.\n */\na:focus {\n outline: thin dotted;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n outline: 0;\n}\n\n/* ==========================================================================\n Typography\n ========================================================================== */\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n/**\n * Correct font family set oddly in Safari 5 and Chrome.\n */\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n font-size: 1em;\n}\n\n/**\n * Improve readability of pre-formatted text in all browsers.\n */\npre {\n white-space: pre-wrap;\n}\n\n/**\n * Set consistent quote types.\n */\nq {\n quotes: \"\u201C\" \"\u201D\" \"\u2018\" \"\u2019\";\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n/* ==========================================================================\n Figures\n ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\nfigure {\n margin: 0;\n}\n\n/* ==========================================================================\n Forms\n ========================================================================== */\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n border: 0; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * 1. Correct font family not being inherited in all browsers.\n * 2. Correct font size not being inherited in all browsers.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\nbutton,\ninput,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 2 */\n margin: 0; /* 3 */\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\nbutton,\ninput {\n line-height: normal;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.\n * Correct `select` style inheritance in Firefox 4+ and Opera.\n */\nbutton,\nselect {\n text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n * and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n * `input` and others.\n */\nbutton,\nhtml input[type=button],\ninput[type=reset],\ninput[type=submit] {\n appearance: button; /* 2 */\n cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n/**\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=checkbox],\ninput[type=radio] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome.\n */\ninput[type=search] {\n appearance: textfield; /* 1 */\n box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari 5 and Chrome\n * on OS X.\n */\ninput[type=search]::-webkit-search-cancel-button,\ninput[type=search]::-webkit-search-decoration {\n appearance: none;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n/**\n * 1. Remove default vertical scrollbar in IE 8/9.\n * 2. Improve readability and alignment in all browsers.\n */\ntextarea {\n overflow: auto; /* 1 */\n vertical-align: top; /* 2 */\n}\n\n/* ==========================================================================\n Tables\n ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\nbody {\n color: var(--black);\n font-family: var(--font-stack);\n font-size: 100%;\n line-height: 1.375;\n -webkit-font-smoothing: antialiased;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n font-family: var(--font-stack);\n}\n\n/*\n * On iOS Safari the input is collapsed till it's clicked.\n * This sets the default min width and height to what it would be if the\n * appearance was a textfield.\n */\ninput[type=date] {\n display: revert;\n min-width: 100px;\n min-height: 35px;\n padding-top: 0;\n padding-bottom: 0;\n}\ninput[type=date].a-text-input--full {\n min-width: 100%;\n}\n\nstrong,\nb {\n font-weight: 600;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n margin-top: 0;\n}\n\nh1,\n.h1 {\n font-size: 2.125em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.4411764706em;\n}\np + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\np + .h1,\nul + .h1,\nol + .h1,\ndl + .h1,\nfigure + .h1,\nimg + .h1,\ntable + .h1,\nblockquote + .h1 {\n margin-top: 1.7647058824em;\n}\n@media only all and (max-width: 37.5em) {\n p + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\n p + .h1,\n ul + .h1,\n ol + .h1,\n dl + .h1,\n figure + .h1,\n img + .h1,\n table + .h1,\n blockquote + .h1 {\n margin-top: 1.7307692308em;\n }\n h2 + h1, .h2 + h1, h3 + h1, .h3 + h1, h4 + h1, .h4 + h1, h5 + h1, .h5 + h1, h6 + h1, .h6 + h1,\n h2 + .h1,\n .h2 + .h1,\n h3 + .h1,\n .h3 + .h1,\n h4 + .h1,\n .h4 + .h1,\n h5 + .h1,\n .h5 + .h1,\n h6 + .h1,\n .h6 + .h1 {\n margin-top: 1.1538461538em;\n }\n}\n@media only all and (max-width: 37.5em) {\n h1,\n .h1 {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n }\n p + h1, ul + h1, ol + h1, dl + h1, figure + h1, img + h1, table + h1, blockquote + h1,\n p + .h1,\n ul + .h1,\n ol + .h1,\n dl + .h1,\n figure + .h1,\n img + .h1,\n table + .h1,\n blockquote + .h1 {\n margin-top: 1.7307692308em;\n }\n h1 + h1, .h1 + h1, h3 + h1, .h3 + h1, h4 + h1, .h4 + h1, h5 + h1, .h5 + h1, h6 + h1, .h6 + h1,\n h1 + .h1,\n .h1 + .h1,\n h3 + .h1,\n .h3 + .h1,\n h4 + .h1,\n .h4 + .h1,\n h5 + .h1,\n .h5 + .h1,\n h6 + .h1,\n .h6 + .h1 {\n margin-top: 1.1538461538em;\n }\n}\n\nh2,\n.h2 {\n font-size: 1.625em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.5769230769em;\n}\np + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2,\np + .h2,\nul + .h2,\nol + .h2,\ndl + .h2,\nfigure + .h2,\nimg + .h2,\ntable + .h2,\nblockquote + .h2 {\n margin-top: 1.7307692308em;\n}\nh1 + h2, .h1 + h2, h3 + h2, .h3 + h2, h4 + h2, .h4 + h2, h5 + h2, .h5 + h2, h6 + h2, .h6 + h2,\nh1 + .h2,\n.h1 + .h2,\nh3 + .h2,\n.h3 + .h2,\nh4 + .h2,\n.h4 + .h2,\nh5 + .h2,\n.h5 + .h2,\nh6 + .h2,\n.h6 + .h2 {\n margin-top: 1.1538461538em;\n}\n@media only all and (max-width: 37.5em) {\n p + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2,\n p + .h2,\n ul + .h2,\n ol + .h2,\n dl + .h2,\n figure + .h2,\n img + .h2,\n table + .h2,\n blockquote + .h2 {\n margin-top: 1.3636363636em;\n }\n}\n@media only all and (max-width: 37.5em) {\n h2,\n .h2 {\n font-size: 1.375em;\n font-weight: 600;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n }\n p + h2, ul + h2, ol + h2, dl + h2, figure + h2, img + h2, table + h2, blockquote + h2, h1 + h2, .h1 + h2, h2 + h2, .h2 + h2, h4 + h2, .h4 + h2, h5 + h2, .h5 + h2, h6 + h2, .h6 + h2,\n p + .h2,\n ul + .h2,\n ol + .h2,\n dl + .h2,\n figure + .h2,\n img + .h2,\n table + .h2,\n blockquote + .h2,\n h1 + .h2,\n .h1 + .h2,\n h2 + .h2,\n .h2 + .h2,\n h4 + .h2,\n .h4 + .h2,\n h5 + .h2,\n .h5 + .h2,\n h6 + .h2,\n .h6 + .h2 {\n margin-top: 1.3636363636em;\n }\n}\n\nh3,\n.h3 {\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.6818181818em;\n}\np + h3, ul + h3, ol + h3, dl + h3, figure + h3, img + h3, table + h3, blockquote + h3, h1 + h3, .h1 + h3, h2 + h3, .h2 + h3, h4 + h3, .h4 + h3, h5 + h3, .h5 + h3, h6 + h3, .h6 + h3,\np + .h3,\nul + .h3,\nol + .h3,\ndl + .h3,\nfigure + .h3,\nimg + .h3,\ntable + .h3,\nblockquote + .h3,\nh1 + .h3,\n.h1 + .h3,\nh2 + .h3,\n.h2 + .h3,\nh4 + .h3,\n.h4 + .h3,\nh5 + .h3,\n.h5 + .h3,\nh6 + .h3,\n.h6 + .h3 {\n margin-top: 1.3636363636em;\n}\n@media only all and (max-width: 37.5em) {\n h3,\n .h3 {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.8333333333em;\n }\n p + h3, ul + h3, ol + h3, dl + h3, figure + h3, img + h3, table + h3, blockquote + h3, h1 + h3, .h1 + h3, h2 + h3, .h2 + h3, h3 + h3, .h3 + h3, h5 + h3, .h5 + h3, h6 + h3, .h6 + h3,\n p + .h3,\n ul + .h3,\n ol + .h3,\n dl + .h3,\n figure + .h3,\n img + .h3,\n table + .h3,\n blockquote + .h3,\n h1 + .h3,\n .h1 + .h3,\n h2 + .h3,\n .h2 + .h3,\n h3 + .h3,\n .h3 + .h3,\n h5 + .h3,\n .h5 + .h3,\n h6 + .h3,\n .h6 + .h3 {\n margin-top: 1.6666666667em;\n }\n}\n\nh4,\n.h4 {\n font-size: 1.125em;\n font-weight: 500;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n margin-bottom: 0.8333333333em;\n}\np + h4, ul + h4, ol + h4, dl + h4, figure + h4, img + h4, table + h4, blockquote + h4, h1 + h4, .h1 + h4, h2 + h4, .h2 + h4, h3 + h4, .h3 + h4, h5 + h4, .h5 + h4, h6 + h4, .h6 + h4,\np + .h4,\nul + .h4,\nol + .h4,\ndl + .h4,\nfigure + .h4,\nimg + .h4,\ntable + .h4,\nblockquote + .h4,\nh1 + .h4,\n.h1 + .h4,\nh2 + .h4,\n.h2 + .h4,\nh3 + .h4,\n.h3 + .h4,\nh5 + .h4,\n.h5 + .h4,\nh6 + .h4,\n.h6 + .h4 {\n margin-top: 1.6666666667em;\n}\n@media only all and (max-width: 37.5em) {\n h4,\n .h4 {\n margin-bottom: 0.625em;\n font-size: 1em;\n line-height: 1.125;\n }\n}\n\nh5,\n.h5 {\n font-size: 0.875em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.0714285714em;\n}\np + h5, ul + h5, ol + h5, dl + h5, figure + h5, img + h5, table + h5, blockquote + h5, h1 + h5, .h1 + h5, h2 + h5, .h2 + h5, h3 + h5, .h3 + h5, h4 + h5, .h4 + h5, h6 + h5, .h6 + h5,\np + .h5,\nul + .h5,\nol + .h5,\ndl + .h5,\nfigure + .h5,\nimg + .h5,\ntable + .h5,\nblockquote + .h5,\nh1 + .h5,\n.h1 + .h5,\nh2 + .h5,\n.h2 + .h5,\nh3 + .h5,\n.h3 + .h5,\nh4 + .h5,\n.h4 + .h5,\nh6 + .h5,\n.h6 + .h5 {\n margin-top: 2.1428571429em;\n}\n\nh6,\n.h6 {\n font-size: 0.75em;\n font-weight: 600;\n letter-spacing: 1px;\n line-height: 1.25;\n text-transform: uppercase;\n margin-bottom: 1.25em;\n}\np + h6, ul + h6, ol + h6, dl + h6, figure + h6, img + h6, table + h6, blockquote + h6, h1 + h6, .h1 + h6, h2 + h6, .h2 + h6, h3 + h6, .h3 + h6, h4 + h6, .h4 + h6, h5 + h6, .h5 + h6,\np + .h6,\nul + .h6,\nol + .h6,\ndl + .h6,\nfigure + .h6,\nimg + .h6,\ntable + .h6,\nblockquote + .h6,\nh1 + .h6,\n.h1 + .h6,\nh2 + .h6,\n.h2 + .h6,\nh3 + .h6,\n.h3 + .h6,\nh4 + .h6,\n.h4 + .h6,\nh5 + .h6,\n.h5 + .h6 {\n margin-top: 2.5em;\n}\n\n.lead-paragraph {\n margin-top: 0;\n margin-bottom: 15px;\n font-size: 1.375em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\n@media only all and (max-width: 37.5em) {\n .lead-paragraph {\n font-size: 1.125em;\n font-weight: normal;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n }\n}\n\n.superheading {\n margin-bottom: 0.4166666667em;\n font-size: 3em;\n font-weight: normal;\n line-height: 1.25;\n}\n\np,\nul,\nol,\ndl,\nfigure,\ntable,\nblockquote {\n margin-top: 0;\n margin-bottom: 0.9375em;\n}\np:last-child,\nul:last-child,\nol:last-child,\ndl:last-child,\nfigure:last-child,\ntable:last-child,\nblockquote:last-child {\n margin-bottom: 0;\n}\n\np + ul,\np + ol {\n margin-top: -0.3125em;\n}\n\nul ul,\nol ol,\nul ol,\nol ul {\n margin-top: 0.5em;\n}\n\nli {\n margin-bottom: 0.5em;\n}\nli:last-child, nav li {\n margin-bottom: 0;\n}\n\na {\n border-width: 0;\n border-style: dotted;\n border-color: var(--pacific);\n color: var(--pacific);\n text-decoration: none;\n}\na:visited, a.visited {\n border-color: var(--teal);\n color: var(--teal);\n}\na:hover, a.hover {\n border-style: solid;\n border-color: var(--pacific-dark);\n color: var(--pacific-dark);\n}\na:focus, a.focus {\n border-style: solid;\n outline: thin dotted;\n outline-offset: 1px;\n}\na:active, a.active {\n border-style: solid;\n border-color: var(--navy);\n color: var(--navy);\n}\n\np a,\nli a,\ndd a {\n border-bottom-width: 1px;\n}\n\nnav a {\n border-bottom-width: 0;\n}\n\nul {\n padding-left: 1.125em;\n list-style: square;\n}\n\nul ul {\n list-style-type: circle;\n}\n\nol {\n padding-left: 1.3125em;\n}\nol li:nth-last-child(n+10),\nol li:nth-last-child(n+10) ~ li {\n margin-left: 0.5625rem;\n}\n\nol ol {\n list-style-type: lower-alpha;\n}\nol ol li {\n margin-left: 0 !important;\n}\n\nol ol ol {\n list-style-type: lower-roman;\n}\n\nnav ul,\nnav ol,\nnav ul ul,\nnav ol ol {\n list-style: none;\n list-style-image: none;\n}\n\ncaption {\n margin-bottom: 0.625em;\n text-align: left;\n}\n\nth,\ntd {\n padding: 0.625em;\n}\nthead th,\nthead td {\n padding: 0.7142857143em;\n background: var(--gray-5);\n color: var(--black);\n font-size: 1em;\n vertical-align: top;\n}\n\nthead,\ntbody tr {\n border-bottom: 1px solid var(--gray);\n}\n\nth {\n font-weight: 600;\n text-align: left;\n}\nthead th h2,\nthead th .h2,\nthead th h3,\nthead th .h3,\nthead th h4,\nthead th .h4,\nthead th h5,\nthead th .h5,\nthead th h6,\nthead th .h6 {\n margin: 0;\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n text-transform: inherit;\n}\n\nblockquote {\n margin-right: 0.9375em;\n margin-left: 0.9375em;\n}\n@media only all and (min-width: 37.5625em) {\n blockquote {\n margin-right: 1.875em;\n margin-left: 1.875em;\n }\n}\n\nimg {\n max-width: 100%;\n}\n\nfigure {\n margin-right: 0;\n margin-left: 0;\n}\nfigure img {\n vertical-align: middle;\n}\n\npre,\ncode {\n background: var(--gray-5);\n border-radius: 4px;\n color: var(--black);\n font-family: \"Input Mono\", Consolas, Monaco, \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2307692308em 0.2307692308em 0;\n font-size: 0.8125em;\n}\n\npre {\n display: block;\n padding: 0.625em 0.9375em;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n}\npre code {\n padding: 0;\n background-color: transparent;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Button Styling\n ========================================================================== */\nbutton.a-btn::-moz-focus-inner,\ninput.a-btn::-moz-focus-inner {\n border: 0;\n}\n\n.a-btn {\n appearance: none;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n padding: 0.5em 0.875em;\n border: 0;\n margin: 0;\n border-radius: 0.25em;\n cursor: pointer;\n font-size: 1em;\n font-weight: 500;\n line-height: normal;\n text-align: center;\n text-decoration: none;\n transition: background-color 0.1s;\n width: -moz-fit-content;\n width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n justify-content: center;\n}\n.a-btn, .a-btn:link, .a-btn:visited {\n background-color: var(--pacific);\n color: var(--white);\n}\n.a-btn:hover, .a-btn.hover, .a-btn:focus, .a-btn.focus {\n background-color: var(--pacific-dark);\n color: var(--white);\n}\n.a-btn:focus, .a-btn.focus {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.a-btn:active, .a-btn.active {\n background-color: var(--navy);\n}\n.a-btn--secondary, .a-btn--secondary:link, .a-btn--secondary:visited {\n background-color: var(--gray);\n color: var(--white);\n}\n.a-btn--secondary:hover, .a-btn--secondary.hover, .a-btn--secondary:focus, .a-btn--secondary.focus {\n background-color: var(--gray-dark);\n}\n.a-btn--secondary:focus, .a-btn--secondary.focus {\n outline-color: var(--gray);\n}\n.a-btn--secondary:active, .a-btn--secondary.active {\n background-color: var(--black);\n}\n.a-btn--warning, .a-btn--warning:link, .a-btn--warning:visited {\n background-color: var(--red-mid-dark);\n color: var(--white);\n}\n.a-btn--warning:hover, .a-btn--warning.hover, .a-btn--warning:focus, .a-btn--warning.focus {\n background-color: var(--red-dark);\n}\n.a-btn--warning:focus, .a-btn--warning.focus {\n outline-color: var(--red-mid-dark);\n}\n.a-btn--warning:active, .a-btn--warning.active {\n background-color: var(--gray-dark);\n}\n.a-btn--disabled, .a-btn--disabled:link, .a-btn--disabled:visited, .a-btn--disabled:hover, .a-btn--disabled.hover, .a-btn--disabled:focus, .a-btn--disabled.focus, .a-btn--disabled:active, .a-btn--disabled.active, .a-btn[disabled], .a-btn[disabled]:link, .a-btn[disabled]:visited, .a-btn[disabled]:hover, .a-btn[disabled].hover, .a-btn[disabled]:focus, .a-btn[disabled].focus, .a-btn[disabled]:active, .a-btn[disabled].active {\n background-color: var(--gray-20);\n color: var(--gray-dark);\n cursor: default;\n cursor: not-allowed;\n}\n.a-btn--disabled:focus, .a-btn--disabled.focus, .a-btn[disabled]:focus, .a-btn[disabled].focus {\n outline-color: var(--gray-20);\n}\n@media only all and (max-width: 37.5em) {\n .a-btn--full-on-xs {\n display: block;\n width: 100%;\n }\n}\n.a-btn:has(svg + span) span {\n order: 3;\n}\n.a-btn:has(span + svg) svg {\n order: 3;\n}\n.a-btn:not(.a-btn--hide-icon):has(svg + span)::before, .a-btn:not(.a-btn--hide-icon):has(span + svg)::before {\n content: \"\";\n border-left: 1px solid var(--pacific-60);\n order: 2;\n place-self: normal;\n}\n.a-btn--secondary:has(svg)::before {\n border-color: var(--gray-40) !important;\n}\n.a-btn--warning:has(svg)::before {\n border-color: var(--red-60) !important;\n}\n.a-btn--disabled:has(svg)::before, .a-btn[disabled]:has(svg)::before {\n border-color: var(--gray-60) !important;\n}\n.a-btn--hide-icon svg {\n display: none;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.m-btn-group {\n display: flex;\n gap: 0.625rem;\n flex-wrap: wrap;\n align-items: center;\n width: -moz-fit-content;\n width: fit-content;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Button Styling\n ========================================================================== */\n/*\nLink text and underline.\n$v: Link link and visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n*/\n.a-btn--link {\n padding: 1.5px 0;\n border-radius: 0;\n text-decoration-line: underline;\n text-decoration-thickness: 1px;\n text-decoration-style: dotted;\n text-underline-offset: 4.5px;\n}\n.a-btn--link:has(svg) {\n gap: 0.3125rem;\n}\n.a-btn--link:has(svg)::before {\n display: none;\n}\n\n.a-btn--link, .a-btn--link:link, .a-btn--link:visited {\n text-decoration-color: var(--pacific);\n background-color: transparent;\n color: var(--pacific);\n}\n.a-btn--link:hover, .a-btn--link.hover {\n text-decoration-color: var(--pacific-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--pacific-dark);\n}\n.a-btn--link:focus, .a-btn--link.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--pacific);\n color: var(--pacific);\n}\n.a-btn--link:active, .a-btn--link.active {\n text-decoration-color: var(--navy);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--navy);\n}\n\n.a-btn--link.a-btn--secondary, .a-btn--link.a-btn--secondary:link, .a-btn--link.a-btn--secondary:visited {\n text-decoration-color: var(--gray);\n background-color: transparent;\n color: var(--gray);\n}\n.a-btn--link.a-btn--secondary:hover, .a-btn--link.a-btn--secondary.hover {\n text-decoration-color: var(--gray-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--gray-dark);\n}\n.a-btn--link.a-btn--secondary:focus, .a-btn--link.a-btn--secondary.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--gray);\n color: var(--gray);\n}\n.a-btn--link.a-btn--secondary:active, .a-btn--link.a-btn--secondary.active {\n text-decoration-color: var(--black);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--black);\n}\n\n.a-btn--link.a-btn--warning, .a-btn--link.a-btn--warning:link, .a-btn--link.a-btn--warning:visited {\n text-decoration-color: var(--red-mid-dark);\n background-color: transparent;\n color: var(--red-mid-dark);\n}\n.a-btn--link.a-btn--warning:hover, .a-btn--link.a-btn--warning.hover {\n text-decoration-color: var(--red-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--red-dark);\n}\n.a-btn--link.a-btn--warning:focus, .a-btn--link.a-btn--warning.focus {\n text-decoration-style: solid;\n background-color: transparent;\n outline: 1px dotted var(--red-mid-dark);\n color: var(--red-mid-dark);\n}\n.a-btn--link.a-btn--warning:active, .a-btn--link.a-btn--warning.active {\n text-decoration-color: var(--gray-dark);\n text-decoration-style: solid;\n background-color: transparent;\n color: var(--gray-dark);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}", "/* ==========================================================================\n Get Breakpoint State\n ========================================================================== */\n\nimport { varsBreakpoints } from '../abstracts/vars-breakpoints.js';\n\n/**\n * @returns {number} The base font size set on the body element.\n */\nfunction _getBodyBaseFontSize() {\n let fontSize = getComputedStyle(document.body).fontSize;\n fontSize = fontSize === '' ? -1 : fontSize;\n return parseFloat(fontSize);\n}\n\n/**\n * @param {object} breakpointRange - Object containing breakpoint constants.\n * For example, for `bpXS` the value `{ min: 0, max: 600 }` would be passed.\n * @param {number} width - Current window width.\n * @returns {boolean} Whether the passed width is within a breakpoint range.\n */\nfunction _inBreakpointRange(breakpointRange, width) {\n let breakpointRangeMin = breakpointRange.min;\n let breakpointRangeMax = breakpointRange.max;\n\n // Whether the user has set a custom size for the font in their browser.\n const useEmsConversation =\n _getBodyBaseFontSize() > 0 && _getBodyBaseFontSize() !== 16;\n if (useEmsConversation) {\n /* 16 = base font size without adjustments.\n The CSS converts breakpoints to ems, which then change the width of the\n pixel width of the breakpoint. In JavaScript, the breakpoints are defined\n in pixels, so we first convert them to ems using the 16px base font size\n and then multiply them by any adjustments set by customizations of the\n font size in the user's browser. */\n breakpointRangeMin = (breakpointRangeMin / 16) * _getBodyBaseFontSize();\n breakpointRangeMax = (breakpointRangeMax / 16) * _getBodyBaseFontSize();\n }\n\n const min = breakpointRangeMin || 0;\n const max = breakpointRangeMax || Number.POSITIVE_INFINITY;\n\n return min <= width && width <= max;\n}\n\n/**\n * @param {number} width - Current window width.\n * @returns {object} An object literal with boolean\n * bpXS, bpSM, bpMED, bpLG, bpXL properties.\n */\nfunction getBreakpointState(width) {\n const breakpointState = {};\n width = width || window.innerWidth;\n\n let rangeKey;\n\n for (rangeKey in varsBreakpoints) {\n breakpointState[rangeKey] = _inBreakpointRange(\n varsBreakpoints[rangeKey],\n width,\n );\n }\n\n return breakpointState;\n}\n\n// Constants for breakpoint groupings.\nconst MOBILE = 'mobile';\nconst TABLET = 'tablet';\nconst DESKTOP = 'desktop';\n\n/**\n * Checks whether the current breakpoint is in a particular breakpoint group.\n * @param {string} breakpointGroup - Breakpoint group names.\n * @returns {boolean} True if in the breakpoint group, otherwise false.\n */\nfunction viewportIsIn(breakpointGroup) {\n let response = false;\n const currentBreakpoint = getBreakpointState();\n\n if (\n (breakpointGroup === MOBILE && currentBreakpoint.bpXS) ||\n (breakpointGroup === TABLET && currentBreakpoint.bpSM) ||\n (breakpointGroup === DESKTOP &&\n (currentBreakpoint.bpMED ||\n currentBreakpoint.bpLG ||\n currentBreakpoint.bpXL))\n ) {\n response = true;\n }\n\n return response;\n}\n\n// Expose public methods.\nexport { MOBILE, TABLET, DESKTOP, getBreakpointState, viewportIsIn };\n", "/**\n * @constant\n * @type {string}\n * @description\n * Constant for the name of the data-* attribute set on\n * HTML DOM elements for access by JavaScript.\n */\nconst JS_HOOK = 'data-js-hook';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag prefix for settings that describe what JavaScript\n * behaviors should be attached to a component.\n * This would be set in the markup and initialized when\n * the JavaScript loads.\n * @example\n * A component may flag that it has certain JavaScript behaviors attached,\n * such as:\n * `data-js-hook=\"behavior_flyout-menu behavior_clearable-input\"`,\n * which defines that two scripts (FlyoutMenu) and (ClearableInput)\n * should access this DOM element and initialize its behaviors.\n */\nconst BEHAVIOR_PREFIX = 'behavior_';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag prefix for settings related to changes in a components\n * state set in the data-* JavaScript hook.\n * @example\n * A component may flag that it has been initialized by setting\n * `data-js-hook=\"state_atomic_init\"` after page load.\n * Which specifies that the init method of a atomic constructor\n * has been called, such as\n * `var globalSearch = new GlobalSearch( 'm-global-search' ).init()`.\n */\nconst STATE_PREFIX = 'state_';\n\nexport { JS_HOOK, BEHAVIOR_PREFIX, STATE_PREFIX };\n", "/**\n * EventObserver\n * @class\n * @classdesc Used to create an object\n * that can dispatch and listen to custom events.\n * @returns {object} An EventObserver instance.\n */\nfunction EventObserver() {\n // The events registered on this instance.\n const _events = {};\n\n /**\n * Register an event listener.\n * @param {string} event - The event name to listen for.\n * @param {Function} callback - The function called when the event has fired.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function addEventListener(event, callback) {\n if ({}.hasOwnProperty.call(_events, event)) {\n _events[event].push(callback);\n } else {\n _events[event] = [callback];\n }\n\n return this;\n }\n\n /**\n * Remove an added event listener.\n * Must match a call made to addEventListener.\n * @param {string} event - The event name to remove.\n * @param {Function} callback - The function attached to the event.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function removeEventListener(event, callback) {\n if (!{}.hasOwnProperty.call(_events, event)) {\n return this;\n }\n\n const index = _events[event].indexOf(callback);\n // Check if there are any callbacks associated with a particular event.\n if (index !== -1) {\n _events[event].splice(index, 1);\n }\n\n return this;\n }\n\n /**\n * Broadcast an event.\n * @param {string} event - The type of event to broadcast.\n * @param {object} options - The event object to pass to the event handler.\n * @returns {object} The instance this EventObserver instance is decorating.\n */\n function dispatchEvent(event, options) {\n if (!{}.hasOwnProperty.call(_events, event)) {\n return this;\n }\n\n options = options || {};\n\n const evts = _events[event];\n for (let i = 0, len = evts.length; i < len; i++) {\n evts[i].call(this, options);\n }\n\n return this;\n }\n\n this.addEventListener = addEventListener;\n this.removeEventListener = removeEventListener;\n this.dispatchEvent = dispatchEvent;\n this.getRegisteredEvents = () => _events;\n\n return this;\n}\n\nexport { EventObserver };\n", "import { JS_HOOK } from './standard-type.js';\n\n/**\n * @param {HTMLElement} element - DOM element.\n * @param {string} value - Value to check as existing as a JS data-* hook value.\n * @returns {boolean} True if the data-* hook value exists, false otherwise.\n */\nfunction contains(element, value) {\n if (!element) {\n return false;\n }\n let values = element.getAttribute(JS_HOOK);\n // If JS data-* hook is not set return immediately.\n if (!values) {\n return false;\n }\n values = values.split(' ');\n\n return values.indexOf(value) > -1 ? true : false;\n}\n\n/**\n * @param {HTMLElement} element - DOM element.\n * @param {string} value - Value to add to the element's JS data-* hook.\n * @returns {string} The value that was added.\n * @throws {Error} If supplied value contains a space,\n * meaning it would be two values, which is likely a typo.\n */\nfunction add(element, value) {\n if (contains(element, value)) return value;\n\n if (value.indexOf(' ') !== -1) {\n const msg = JS_HOOK + ' values cannot contain spaces!';\n throw new Error(msg);\n }\n\n const values = element.getAttribute(JS_HOOK);\n if (values !== null) {\n value = values + ' ' + value;\n }\n element.setAttribute(JS_HOOK, value);\n\n return value;\n}\n\nexport { add, contains };\n", "/* ==========================================================================\n Atomic Helpers.\n Utilities for helping validate atomic design element architecture.\n In descending order of scope, atomic components are:\n - Page\n - Template\n - Organism\n - Molecule\n - Atom\n ========================================================================= */\n\nimport { add, contains } from './data-hook.js';\nimport { STATE_PREFIX } from './standard-type.js';\n\n/**\n * @constant\n * @type {string}\n * @description\n * Flag that gets set on an atomic component after its .init()\n * method has been called. This is used so that an atomic\n * component won't get initialized a second time after it\n * has already been initialized.\n */\nconst INIT_FLAG = STATE_PREFIX + 'atomic_init';\n\n/**\n * @param {HTMLElement} element - The DOM element within which to search for\n * the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If DOM element passed into the atomic element is not valid.\n */\nfunction _verifyElementExists(element, baseClass) {\n if (!element || !element.classList) {\n const msg =\n element +\n ' is not valid. ' +\n 'Check that element is a DOM node with class \"' +\n baseClass +\n '\"';\n throw new Error(msg);\n }\n\n return element;\n}\n\n/**\n * @param {HTMLElement} element - The DOM element within which to search\n * for the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If baseClass was not found on the element.\n */\nfunction _verifyClassExists(element, baseClass) {\n const dom = element.classList.contains(baseClass)\n ? element\n : element.querySelector('.' + baseClass);\n if (!dom) {\n const msg = baseClass + ' not found on or in passed DOM node.';\n throw new Error(msg);\n }\n\n return dom;\n}\n\n/**\n * Check that a particular element passed into the constructor of\n * an atomic component exists and that the correct atomic class\n * is present on the element.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the atomic element class.\n * @param {string} baseClass - The CSS class name for the atomic element.\n * @returns {HTMLElement} The DOM element for the atomic element.\n * @throws {Error} If DOM element passed into the atomic element is not valid.\n */\nfunction checkDom(element, baseClass) {\n _verifyElementExists(element, baseClass);\n const dom = _verifyClassExists(element, baseClass);\n\n return dom;\n}\n\n/**\n * Set a flag on an atomic component when it is initialized.\n * Use the returned boolean to handle cases where an atomic component\n * is initializing when it has already been initialized elsewhere.\n * @param {HTMLElement} element - The DOM element for the atomic component.\n * @returns {boolean} True if the init data-js-* hook attribute was set,\n * false otherwise.\n */\nfunction setInitFlag(element) {\n if (contains(element, INIT_FLAG)) {\n return false;\n }\n\n add(element, INIT_FLAG);\n\n return true;\n}\n\n/**\n * @param {string} selector - Selector to search for in the document.\n * @param {Function} Constructor - A constructor function.\n * @param {HTMLElement} [scope] - A dom node in which to query the selector.\n * If not supplied, it defaults to the `document`.\n * @param {object} config - Configuration will be provided to the Constructor's init()\n * @returns {Array} List of instances that were instantiated.\n */\nfunction instantiateAll(selector, Constructor, scope, config = {}) {\n const base = scope || document;\n const elements = base.querySelectorAll(selector);\n const insts = [];\n let inst;\n let element;\n for (let i = 0, len = elements.length; i < len; i++) {\n element = elements[i];\n if (contains(element, INIT_FLAG) === false) {\n inst = new Constructor(element);\n inst.init(config);\n insts.push(inst);\n }\n }\n return insts;\n}\n\n// Expose public methods.\nexport { checkDom, instantiateAll, setInitFlag };\n", "/* ==========================================================================\n Dom Behaviors\n Behaviors are functionality that can be shared between different pieces\n of markup. They are not strictly atomic, though they likely are used\n on atomic components. An example of shared behavior may be a menu that\n expands and collapses and sets the aria-expanded attribute on the HTML.\n Or an input field that can be cleared by clicking an (x) button in the\n input. These are both behaviors that may appear in different parts of\n the codebase, but could share the same functionality.\n Behaviors are added through the `data-js-hook` attribute on the HTML\n and have a prefix of `behavior_`\n (both those designators are set in modules/util/standard-type.js).\n For example, `behaviors/FlyoutMenu.js` defines the behavior of\n expanding and collapsing an expandable menu. At a minimum, three things\n need to be defined: (A) The containing scope of the menu, (B) the trigger\n to activate the menu, and (C) the content to show/hide when the trigger\n is clicked. So the markup looks something like:\n
\n
\n ========================================================================== */\n\nimport { BEHAVIOR_PREFIX, JS_HOOK, contains } from '@cfpb/cfpb-design-system';\n\n/**\n * @param {string} behaviorSelector - Behavior type used to find the element\n * within the dom.\n * @param {HTMLElement} baseElement - Containing element for the behavior element.\n * @returns {Array|NodeList} behaviorElements if it exists in the dom,\n * null otherwise.\n */\nfunction _findElements(behaviorSelector, baseElement) {\n baseElement = baseElement || document;\n let behaviorElements = [];\n\n try {\n behaviorElements = baseElement.querySelectorAll(behaviorSelector);\n } catch (error) {\n const msg = `${behaviorSelector} not found in DOM! ${error}`;\n throw new Error(msg);\n }\n\n if (\n behaviorElements.length === 0 &&\n behaviorSelector.indexOf(BEHAVIOR_PREFIX) === -1\n ) {\n behaviorElements = behaviorFind(behaviorSelector, baseElement);\n }\n\n return behaviorElements;\n}\n\n/**\n * @param {( string|HTMLElement|Array|NodeList )} behaviorElement - Used to\n * query dom for elements.\n * @param {string} event - Event type to add to element.\n * @param {Function} eventHandler - Callback for event.\n * @param {HTMLElement} baseElement - Containing element\n * for the behavior element.\n * @returns {Array|NodeList} if it exists in the dom, null otherwise.\n */\nfunction behaviorAttach(behaviorElement, event, eventHandler, baseElement) {\n let behaviorElements = [];\n\n if (behaviorElement instanceof NodeList === true) {\n behaviorElements = behaviorElement;\n } else if (behaviorElement instanceof Node === true) {\n behaviorElements = [behaviorElement];\n } else if (typeof behaviorElement === 'string') {\n behaviorElements = _findElements(behaviorElement, baseElement);\n }\n\n for (let i = 0, len = behaviorElements.length; i < len; i++) {\n behaviorElements[i].addEventListener(event, eventHandler, false);\n }\n\n return behaviorElements;\n}\n\n/**\n * @param {HTMLElement} element - The DOM element within which to search\n * for the behavior in the data-js-hook attribute.\n * @param {string} behaviorDataAttr - The value in the data-js-hook.\n * This is the name of the behavior.\n * E.g. `behavior_flyout-menu`, `behavior_flyout-menu_content`.\n * @returns {HTMLElement} The DOM element that has an attached behavior.\n * @throws {Error} If data-js-hook attribute value was not found on DOM element.\n */\nfunction checkBehaviorDom(element, behaviorDataAttr) {\n // Check that the behavior is found on the passed DOM node.\n let dom;\n\n if (contains(element, behaviorDataAttr)) {\n dom = element;\n return dom;\n }\n\n /* If the passed DOM node isn't null,\n query the node to see if it's in the children. */\n if (element) {\n const selector = '[' + JS_HOOK + '=' + behaviorDataAttr + ']';\n dom = element.querySelector(selector);\n }\n\n if (!dom) {\n const msg = behaviorDataAttr + ' behavior not found on passed DOM node!';\n throw new Error(msg);\n }\n\n return dom;\n}\n\n/**\n * @param {string} behaviorSelector - Behavior type used to find\n * the element within the dom.\n * @param {HTMLElement} baseElement - Containing element\n * for the behavior element.\n * @returns {NodeList} if it exists in the dom, null otherwise.\n */\nfunction behaviorFind(behaviorSelector, baseElement) {\n behaviorSelector = JS_HOOK + '*=' + BEHAVIOR_PREFIX + behaviorSelector;\n behaviorSelector = '[' + behaviorSelector + ']';\n\n return _findElements(behaviorSelector, baseElement);\n}\n\n// Expose public methods.\nexport { behaviorAttach, checkBehaviorDom, behaviorFind };\n", "/* ==========================================================================\n Javascript Type Checkers\n\n Various utility functions to check Javascript types and primitives.\n\n Contains code copied from with moderate modifications:\n\n https://github.com/angular/angular.js/blob/master/src/Angular.js.\n Copyright (c) 2010-2015 Google, Inc. http://angularjs.org\n\n ========================================================================== */\n\nconst _toString = Object.prototype.toString;\n\n/**\n * @name isUndefined\n * @kind function\n * @description\n * Determines if a reference is undefined.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is undefined.\n */\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n\n/**\n * @name isDefined\n * @kind function\n * @description\n * Determines if a reference is defined.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is defined.\n */\nfunction isDefined(value) {\n return typeof value !== 'undefined';\n}\n\n/**\n * @name isObject\n * @kind function\n * @description\n * Determines if a reference is an `Object`.\n * Unlike `typeof` in JavaScript, `null`s are not\n * considered to be objects. Note that JavaScript arrays are objects.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is an `Object` but not `null`.\n */\nfunction isObject(value) {\n // http://jsperf.com/isobject4\n return value !== null && typeof value === 'object';\n}\n\n/**\n * @name isString\n * @kind function\n * @description\n * Determines if a reference is a `String`.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is a `String`.\n */\nfunction isString(value) {\n return _toString.call(value) === '[object String]';\n}\n\n/**\n * @name isNumber\n * @kind function\n * @description\n * Determines if a reference is a `Number`.\n *\n * This includes the \"special\" numbers `NaN`, `+Infinity` and `-Infinity`.\n *\n * If you wish to exclude these then you can use the native\n * [`isFinite'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/\n * Reference/Global_Objects/isFinite)\n * method.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is a `Number`.\n */\nfunction isNumber(value) {\n return _toString.call(value) === '[object Number]';\n}\n\n/**\n * @name isDate\n * @kind function\n * @description\n * Determines if a value is a date.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is a `Date`.\n */\nfunction isDate(value) {\n return _toString.call(value) === '[object Date]';\n}\n\n/**\n * @name isArray\n * @kind function\n * @description\n * Determines if a reference is an `Array`.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is an `Array`.\n */\nconst isArray =\n Array.isArray ||\n function isArray(value) {\n return _toString.call(value) === '[object Array]';\n };\n\n/**\n * @name isFunction\n * @kind function\n * @description\n * Determines if a reference is a `Function`.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is a `Function`.\n */\nfunction isFunction(value) {\n return _toString.call(value) === '[object Function]';\n}\n\n// TODO Fix complexity issue\n\n/**\n * @name isEmpty\n * @kind function\n * @description\n * Determines if a reference is empty.\n * @param {*} value - Reference to check.\n * @returns {boolean} True if `value` is empty.\n */\nfunction isEmpty(value) {\n return (\n isUndefined(value) ||\n value === null ||\n (isString(value) && value.length <= 0) ||\n /^\\s*$/.test(value)\n );\n}\n\n// Expose public methods.\nexport {\n isUndefined,\n isDefined,\n isObject,\n isString,\n isNumber,\n isDate,\n isArray,\n isFunction,\n isEmpty,\n};\n", "/* ==========================================================================\n Media Helpers.\n Utilities for working with different screen sizes and operating systems.\n ========================================================================= */\n\n/**\n * Query the browser's user agent string to see if it's on a mobile OS.\n * @returns {boolean} True if on a mobile user agent, false otherwise.\n */\nfunction isMobileUserAgent() {\n const regex = new RegExp(\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,\n );\n if (regex.test(navigator.userAgent)) {\n return true;\n }\n return false;\n}\n\n// Expose public methods.\nexport { isMobileUserAgent };\n", "import {\n BEHAVIOR_PREFIX,\n JS_HOOK,\n BaseTransition,\n EventObserver,\n checkBehaviorDom,\n} from '@cfpb/cfpb-design-system';\n\nconst BASE_CLASS = BEHAVIOR_PREFIX + 'flyout-menu';\nconst SEL_PREFIX = '[' + JS_HOOK + '=' + BASE_CLASS;\n\n/**\n * FlyoutMenu\n * @class\n * @classdesc Initializes new FlyoutMenu behavior.\n * Behaviors are functionality that can be shared between different pieces\n * of markup. They are not strictly atomic, though they likely are used\n * on atomic components.\n * As added JS behavior, this is added through HTML data-js-hook attributes.\n *\n * Structure is:\n * behavior_flyout-menu\n * behavior_flyout-menu_trigger\n * behavior_flyout-menu_content\n * behavior_flyout-menu_trigger (optional)\n *\n * The second trigger is optional and may be used for a button in the content\n * area, which may obscure the first trigger.\n * The flyout can be triggered through a click of either trigger.\n * @param {HTMLElement} element - The DOM element to attach FlyoutMenu behavior.\n * @param {boolean} autoHideContent - Whether to add `hidden` attribute to\n * content when it is collapsed.\n * @returns {FlyoutMenu} An instance.\n */\nfunction FlyoutMenu(element, autoHideContent = true) {\n // Verify that the expected dom attributes are present.\n const _dom = checkBehaviorDom(element, BASE_CLASS);\n const _triggerDoms = _findTriggers(element);\n const _contentDom = checkBehaviorDom(element, BASE_CLASS + '_content');\n\n // Flyouts appear in one of four states.\n let _state = 0;\n const COLLAPSED = 0;\n const COLLAPSING = 1;\n const EXPANDING = 2;\n const EXPANDED = 3;\n\n let _transition;\n let _expandTransitionMethod;\n let _collapseTransitionMethod;\n\n // Binded events.\n // Needed to add and remove events to transitions.\n const _collapseEndBinded = _collapseEnd.bind(this);\n const _expandEndBinded = _expandEnd.bind(this);\n\n /* If this menu appears in a data source,\n this can be used to store the source.\n Examples include the index in an Array,\n a key in an Hash, or a node in a Tree. */\n let _data;\n\n // Whether this instance's behaviors are suspended or not.\n let _suspended = true;\n\n /* Event immediately preceeding mouseover is touchstart,\n if that event's present we'll want to ignore mouseover\n to avoid a mouseover and click immediately after each other. */\n let _touchTriggered = false;\n\n /**\n * Iterate over dom tree and find FlyoutMenu triggers.\n * We need to exclude the ones that are nested FlyoutMenus, since those\n * will be managed by their own instance of this class.\n * @param {HTMLElement} element - The DOM element to search for triggers within.\n * @returns {Array} List of trigger DOM references within this FlyoutMenu.\n */\n function _findTriggers(element) {\n const triggersList = [];\n const triggers = element.querySelectorAll(`${SEL_PREFIX}_trigger]`);\n\n let trigger;\n let triggerParent;\n let isSubTrigger;\n // Iterate backwards ensuring that length is an UInt32.\n for (let i = triggers.length >>> 0; i--; ) {\n isSubTrigger = false;\n trigger = triggers[i];\n triggerParent = trigger.parentElement;\n while (triggerParent !== element) {\n if (\n triggerParent.getAttribute(JS_HOOK) &&\n triggerParent.getAttribute(JS_HOOK).split(' ').indexOf(BASE_CLASS) !==\n -1\n ) {\n isSubTrigger = true;\n triggerParent = element;\n } else {\n triggerParent = triggerParent.parentElement;\n }\n }\n\n if (!isSubTrigger) {\n triggersList.unshift(triggers[i]);\n }\n }\n\n return triggersList;\n }\n\n /**\n * @returns {FlyoutMenu} An instance.\n * @param {boolean} isExpanded - Whether the flyout menu is expanded at\n * initialization-time or collapsed.\n */\n function init(isExpanded = false) {\n _state = isExpanded ? EXPANDED : COLLAPSED;\n _triggerDoms.forEach((triggerDom) => {\n _setAriaAttr('expanded', triggerDom, isExpanded);\n\n triggerDom.addEventListener('click', _handleTriggerClicked.bind(this));\n triggerDom.addEventListener('touchstart', _handleTouchStart, {\n passive: true,\n });\n triggerDom.addEventListener('mouseover', _handleTriggerOver.bind(this));\n triggerDom.addEventListener('mouseout', _handleTriggerOut.bind(this));\n });\n\n _contentDom.setAttribute('data-open', isExpanded ? 'true' : 'false');\n if (autoHideContent && !isExpanded) _contentDom.setAttribute('hidden', '');\n\n resume();\n\n return this;\n }\n\n /**\n * Set an aria attribute on an HTML element.\n * @param {string} type - The aria attribute to set\n * (without the aria- prefix).\n * @param {HTMLElement} elem - The element to set.\n * @param {boolean} value - The value to set on `aria-expanded`,\n * casts to a string.\n * @returns {string} The cast value.\n */\n function _setAriaAttr(type, elem, value) {\n const strValue = String(value);\n elem.setAttribute('aria-' + type, strValue);\n return strValue;\n }\n\n /**\n * Event handler for when the search input trigger is touched.\n */\n function _handleTouchStart() {\n _touchTriggered = true;\n }\n\n /**\n * Event handler for when the trigger is hovered over.\n * @param {MouseEvent} event - The clicked flyout trigger event object.\n */\n function _handleTriggerOver(event) {\n if (_suspended) return;\n\n if (!_touchTriggered) {\n this.dispatchEvent('triggerover', {\n target: this,\n trigger: event.target,\n type: 'triggerover',\n });\n }\n\n _touchTriggered = false;\n }\n\n /**\n * Event handler for when the trigger is hovered out.\n * @param {MouseEvent} event - The clicked flyout trigger event object.\n */\n function _handleTriggerOut(event) {\n if (_suspended) return;\n\n this.dispatchEvent('triggerout', {\n target: this,\n trigger: event.target,\n type: 'triggerout',\n });\n }\n\n /**\n * Event handler for when the search input trigger is clicked,\n * which opens/closes the search input.\n * @param {MouseEvent} event - The clicked flyout trigger event object.\n */\n function _handleTriggerClicked(event) {\n if (_suspended) return;\n\n this.dispatchEvent('triggerclick', {\n target: this,\n trigger: event.target,\n type: 'triggerclick',\n });\n\n event.preventDefault();\n\n switch (_state) {\n case COLLAPSED:\n case COLLAPSING:\n this.expand();\n break;\n case EXPANDING:\n case EXPANDED:\n this.collapse();\n break;\n }\n }\n\n /**\n * Open the search box.\n * @returns {FlyoutMenu} An instance.\n */\n function expand() {\n _transition?.halt();\n if (_state === EXPANDING || _state === EXPANDED) return this;\n\n _state = EXPANDING;\n if (autoHideContent) _contentDom.removeAttribute('hidden');\n this.dispatchEvent('expandbegin', { target: this, type: 'expandbegin' });\n\n // Only use transitions if both expand and collapse are set.\n if (!_expandTransitionMethod || !_collapseTransitionMethod) {\n _expandEndBinded();\n return this;\n }\n\n const hasTransition = _transition?.isAnimated();\n if (hasTransition) {\n _transition.addEventListener(BaseTransition.END_EVENT, _expandEndBinded);\n }\n\n _expandTransitionMethod();\n\n if (!hasTransition) {\n _expandEndBinded();\n }\n\n return this;\n }\n\n /**\n * Close the search box.\n * If collapse is called when expand animation is underway,\n * save a deferred call to collapse, which is called when\n * expand completes.\n * @returns {FlyoutMenu} An instance.\n */\n function collapse() {\n _transition?.halt();\n if (_state === COLLAPSING || _state === COLLAPSED) return this;\n\n for (let i = 0, len = _triggerDoms.length; i < len; i++) {\n _setAriaAttr('expanded', _triggerDoms[i], false);\n }\n\n _contentDom.setAttribute('data-open', 'false');\n\n _state = COLLAPSING;\n this.dispatchEvent('collapsebegin', {\n target: this,\n type: 'collapsebegin',\n });\n\n // Only use transitions if both expand and collapse are set.\n if (!_collapseTransitionMethod || !_expandTransitionMethod) {\n _collapseEndBinded();\n return this;\n }\n\n const hasTransition = _transition?.isAnimated();\n if (hasTransition) {\n _transition.addEventListener(\n BaseTransition.END_EVENT,\n _collapseEndBinded,\n );\n }\n\n _collapseTransitionMethod();\n\n if (!hasTransition) {\n _collapseEndBinded();\n }\n\n return this;\n }\n\n /**\n * Expand animation has completed.\n * Call deferred collapse function,\n * if set (otherwise it will call a noop function).\n */\n function _expandEnd() {\n _state = EXPANDED;\n _contentDom.setAttribute('data-open', 'true');\n if (_transition) {\n _transition.removeEventListener(\n BaseTransition.END_EVENT,\n _expandEndBinded,\n );\n }\n this.dispatchEvent('expandend', { target: this, type: 'expandend' });\n\n for (let i = 0, len = _triggerDoms.length; i < len; i++) {\n _setAriaAttr('expanded', _triggerDoms[i], true);\n }\n }\n\n /**\n * Collapse animation has completed.\n */\n function _collapseEnd() {\n _state = COLLAPSED;\n\n if (autoHideContent) _contentDom.setAttribute('hidden', '');\n\n if (_transition) {\n _transition.removeEventListener(\n BaseTransition.END_EVENT,\n _collapseEndBinded,\n );\n }\n\n this.dispatchEvent('collapseend', { target: this, type: 'collapseend' });\n }\n\n /**\n * Set the transition that runs when this flyout is expanded/collapsed.\n * @param {BaseTransition} transition - A transition object.\n * @param {Function} collapseMethod - The collapse method to call on the transition.\n * @param {Function} expandMethod - The expand method to call on the transition.\n */\n function setTransition(transition, collapseMethod, expandMethod) {\n _transition = transition;\n\n if (collapseMethod && collapseMethod !== _collapseTransitionMethod) {\n _collapseTransitionMethod = collapseMethod;\n }\n\n if (expandMethod && expandMethod !== _expandTransitionMethod) {\n _expandTransitionMethod = expandMethod;\n }\n }\n\n /**\n * Clear the transitions attached to this FlyoutMenu instance.\n */\n function clearTransition() {\n if (_transition) {\n _transition.remove();\n }\n\n let UNDEFINED;\n\n _transition = UNDEFINED;\n\n _expandTransitionMethod = UNDEFINED;\n _collapseTransitionMethod = UNDEFINED;\n }\n\n /**\n * @returns {object}\n * Hash of container, content DOM references, and a list of trigger DOMs.\n */\n function getDom() {\n return {\n container: _dom,\n content: _contentDom,\n trigger: _triggerDoms,\n };\n }\n\n /**\n * Enable broadcasting of trigger events.\n * @returns {boolean} True if resumed, false otherwise.\n */\n function resume() {\n if (_suspended) _suspended = false;\n\n return !_suspended;\n }\n\n /**\n * Suspend broadcasting of trigger events.\n * @returns {boolean} True if suspended, false otherwise.\n */\n function suspend() {\n if (!_suspended) _suspended = true;\n\n return _suspended;\n }\n\n /**\n * @param {number | string | object} data - A data identifier\n * such as an Array index, Hash key, or Tree node.\n * @returns {FlyoutMenu} An instance.\n */\n function setData(data) {\n _data = data;\n\n return this;\n }\n\n // Attach public events.\n const eventObserver = new EventObserver();\n this.addEventListener = eventObserver.addEventListener;\n this.removeEventListener = eventObserver.removeEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n\n this.init = init;\n this.expand = expand;\n this.collapse = collapse;\n this.setTransition = setTransition;\n this.clearTransition = clearTransition;\n this.getData = () => _data;\n this.getTransition = () => _transition;\n this.getDom = getDom;\n this.isAnimating = () => _state === EXPANDING || _state === COLLAPSING;\n this.isExpanded = () => _state === EXPANDED;\n this.resume = resume;\n this.setData = setData;\n this.suspend = suspend;\n\n // Public static properties.\n FlyoutMenu.BASE_CLASS = BASE_CLASS;\n\n return this;\n}\n\nexport { FlyoutMenu };\n", "import { BaseTransition, EventObserver } from '@cfpb/cfpb-design-system';\n\n// Exported constants.\nconst CLASSES = {\n CSS_PROPERTY: 'opacity',\n BASE_CLASS: 'u-alpha-transition',\n ALPHA_100: 'u-alpha-100',\n ALPHA_0: 'u-alpha-0',\n};\n\n/**\n * AlphaTransition\n * @class\n * @classdesc Initializes new AlphaTransition behavior.\n * @param {HTMLElement} element - DOM element to apply opacity transition to.\n * @returns {AlphaTransition} An instance.\n */\nfunction AlphaTransition(element) {\n const eventObserver = new EventObserver();\n const _baseTransition = new BaseTransition(element, CLASSES, this);\n\n /**\n * @param {Function} initialClass - The initial state for this transition.\n * @returns {AlphaTransition} An instance.\n */\n function init(initialClass) {\n _baseTransition.init(initialClass);\n\n return this;\n }\n\n /**\n * Fade to 100% by applying a utility alpha class.\n * @returns {AlphaTransition} An instance.\n */\n function fadeIn() {\n _baseTransition.applyClass(CLASSES.ALPHA_100);\n\n return this;\n }\n\n /**\n * Fade to nothing by applying a utility alpha class.\n * @returns {AlphaTransition} An instance.\n */\n function fadeOut() {\n _baseTransition.applyClass(CLASSES.ALPHA_0);\n\n return this;\n }\n\n // Attach public events.\n this.addEventListener = eventObserver.addEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n this.removeEventListener = eventObserver.removeEventListener;\n\n this.animateOff = _baseTransition.animateOff;\n this.animateOn = _baseTransition.animateOn;\n this.halt = _baseTransition.halt;\n this.isAnimated = _baseTransition.isAnimated;\n this.remove = _baseTransition.remove;\n this.setElement = _baseTransition.setElement;\n\n this.fadeIn = fadeIn;\n this.fadeOut = fadeOut;\n this.init = init;\n\n return this;\n}\n\n// Public static properties.\nAlphaTransition.CLASSES = CLASSES;\n\nexport { AlphaTransition };\n", "import * as TransitionStyles from './transition.scss';\n\n/**\n * BaseTransition\n * @class\n * @classdesc Initializes new BaseTransition behavior.\n * This shouldn't be used directly, but instead should be\n * the base class used through composition by a specific transition.\n * @param {HTMLElement} element - DOM element to apply transition to.\n * @param {object} classes - The classes to apply to this transition.\n * @param {object} child - The child transition using this as a base.\n * @returns {BaseTransition} An instance.\n */\nfunction BaseTransition(element, classes, child) {\n const _classes = classes;\n let _dom = element;\n if (!child) throw new Error('Child transition argument must be defined!');\n const _child = child;\n\n let _lastClass;\n let _transitionEndEvent;\n let _transitionCompleteBinded;\n\n let _isAnimated = false;\n let _isAnimating = false;\n let _isFlushed = false;\n\n // Make sure required attributes are passed in.\n if (\n typeof _classes.CSS_PROPERTY === 'undefined' ||\n typeof _classes.BASE_CLASS === 'undefined'\n ) {\n throw new Error(\n 'Transitions require CSS_PROPERTY and BASE_CLASS ' +\n 'to be passed into BaseTransition.',\n );\n }\n\n /**\n * Add an event listener to the transition, or call the transition\n * complete handler immediately if the transition is not supported.\n */\n function _addEventListener() {\n /*\n If transition is supported and the animation is animated,\n listen for transition end event, otherwise call the handler directly.\n Some browsers (e.g. IE9/OperaMini) do not support transitionend event.\n If \"transition-duration: 0s\" is set, transitionEnd event will not\n fire, so we need to call the handler straight away.\n */\n if (_transitionEndEvent && _isAnimated) {\n _dom.addEventListener(_transitionEndEvent, _transitionCompleteBinded);\n _child.dispatchEvent(BaseTransition.BEGIN_EVENT, {\n target: _child,\n type: BaseTransition.BEGIN_EVENT,\n });\n\n _dom.classList.add(BaseTransition.ANIMATING_CLASS);\n _isAnimating = true;\n } else {\n _child.dispatchEvent(BaseTransition.BEGIN_EVENT, {\n target: _child,\n type: BaseTransition.BEGIN_EVENT,\n });\n _transitionCompleteBinded();\n }\n }\n\n /**\n * Remove an event listener to the transition.\n */\n function _removeEventListener() {\n _dom.removeEventListener(_transitionEndEvent, _transitionCompleteBinded);\n }\n\n /**\n * Handle the end of a transition.\n * @param {TransitionEvent} evt - Transition event object.\n * @returns {boolean} True if transition was cleaned up,\n * false if an outside transitioning property triggered this event handler.\n */\n function _transitionComplete(evt) {\n if (evt && evt.propertyName !== _classes.CSS_PROPERTY) {\n return false;\n }\n\n _removeEventListener();\n _dom.classList.remove(BaseTransition.ANIMATING_CLASS);\n _child.dispatchEvent(BaseTransition.END_EVENT, {\n target: _child,\n type: BaseTransition.END_EVENT,\n });\n _isAnimating = false;\n return true;\n }\n\n /**\n * Search for and remove initial BaseTransition classes that have\n * already been applied to this BaseTransition's target element.\n */\n function _flush() {\n let prop;\n for (prop in _classes) {\n if (\n {}.hasOwnProperty.call(_classes, prop) &&\n _classes[prop] !== _classes.BASE_CLASS &&\n _dom.classList.contains(_classes[prop])\n ) {\n _dom.classList.remove(_classes[prop]);\n }\n }\n }\n\n /**\n * Halt an in-progress animation and call the complete event immediately.\n */\n function halt() {\n if (!_isAnimating) {\n return;\n }\n _dom.style.webkitTransitionDuration = '0';\n _dom.style.mozTransitionDuration = '0';\n _dom.style.oTransitionDuration = '0';\n _dom.style.transitionDuration = '0';\n _dom.removeEventListener(_transitionEndEvent, _transitionCompleteBinded);\n _transitionCompleteBinded();\n _dom.style.webkitTransitionDuration = '';\n _dom.style.mozTransitionDuration = '';\n _dom.style.oTransitionDuration = '';\n _dom.style.transitionDuration = '';\n }\n\n /**\n * Remove all transition classes, if transition is initialized.\n */\n function remove() {\n halt();\n _flush();\n _dom.classList.remove(_classes.BASE_CLASS);\n }\n\n /**\n * Add a \"transition-duration: 0s\" utility CSS class.\n */\n function animateOn() {\n _dom.classList.remove(BaseTransition.NO_ANIMATION_CLASS);\n _isAnimated = true;\n }\n\n /**\n * Remove a \"transition-duration: 0s\" utility CSS class.\n */\n function animateOff() {\n _dom.classList.add(BaseTransition.NO_ANIMATION_CLASS);\n _isAnimated = false;\n }\n\n /**\n * @param {HTMLElement} elem - The element to check\n * for support of transition end event.\n * @returns {string} The browser-prefixed transition end event.\n */\n function _getTransitionEndEvent(elem) {\n if (!elem) {\n const msg = 'Element does not have TransitionEnd event. It may be null!';\n throw new Error(msg);\n }\n\n let transition;\n const transitions = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend',\n };\n\n let transitionEvent;\n for (transitionEvent in transitions) {\n if (\n {}.hasOwnProperty.call(transitions, transitionEvent) &&\n typeof elem.style[transitionEvent] !== 'undefined'\n ) {\n transition = transitions[transitionEvent];\n break;\n }\n }\n return transition;\n }\n\n /**\n * Set the HTML element target of this transition.\n * @param {HTMLElement} targetElement - The target of the transition.\n */\n function setElement(targetElement) {\n // Clear the transition classes from the old element.\n remove();\n animateOn();\n\n _dom = targetElement;\n _dom.classList.add(_classes.BASE_CLASS);\n _transitionEndEvent = _getTransitionEndEvent(_dom);\n }\n\n /**\n * @param {Function} initialClass - The initial state for this transition.\n * @returns {BaseTransition} An instance.\n */\n function init(initialClass) {\n _isAnimated = !_dom.classList.contains(BaseTransition.NO_ANIMATION_CLASS);\n _transitionCompleteBinded = _transitionComplete.bind(this);\n setElement(_dom);\n if (!initialClass) {\n throw new Error(\n 'Transition needs to be passed an initial CSS class on initialization!',\n );\n }\n _dom.classList.add(initialClass);\n\n return this;\n }\n\n /**\n * @param {string} className - A CSS class.\n * @returns {boolean} False if the class is already applied,\n * otherwise true if the class was applied.\n */\n function applyClass(className) {\n if (!_isFlushed) {\n _flush();\n _isFlushed = true;\n }\n\n if (_dom.classList.contains(className)) {\n return false;\n }\n\n _removeEventListener();\n _dom.classList.remove(_lastClass);\n _lastClass = className;\n _addEventListener();\n _dom.classList.add(_lastClass);\n\n return true;\n }\n\n // Attach public events.\n this.animateOff = animateOff;\n this.animateOn = animateOn;\n this.applyClass = applyClass;\n this.halt = halt;\n this.init = init;\n this.isAnimated = () => _isAnimated;\n this.remove = remove;\n this.setElement = setElement;\n\n return this;\n}\n\n// Public static constants.\nBaseTransition.BEGIN_EVENT = 'transitionbegin';\nBaseTransition.END_EVENT = 'transitionend';\nBaseTransition.NO_ANIMATION_CLASS = 'u-no-animation';\nBaseTransition.ANIMATING_CLASS = 'u-is-animating';\n\nexport { BaseTransition, TransitionStyles };\n", "import { BaseTransition, EventObserver } from '@cfpb/cfpb-design-system';\n\n// Exported constants.\nconst CLASSES = {\n CSS_PROPERTY: 'max-height',\n BASE_CLASS: 'u-max-height-transition',\n MH_DEFAULT: 'u-max-height-default',\n MH_SUMMARY: 'u-max-height-summary',\n MH_ZERO: 'u-max-height-zero',\n};\n\n/**\n * MoveTransition\n * @class\n * @classdesc Initializes new MoveTransition behavior.\n * @param {HTMLElement} element - DOM element to apply transition to.\n * @returns {MaxHeightTransition} An instance.\n */\nfunction MaxHeightTransition(element) {\n const eventObserver = new EventObserver();\n const _baseTransition = new BaseTransition(element, CLASSES, this);\n let _previousHeight = 0;\n\n /**\n * Refresh the max height set on the element.\n * This may be useful if resizing the window and the content height changes.\n */\n function refresh() {\n const elmHeight = element.scrollHeight;\n const newHeight = elmHeight + 'px';\n element.style.maxHeight = newHeight;\n }\n\n /**\n * The whole page has loaded,\n * including all dependent resources such as stylesheets and images.\n */\n function _pageLoaded() {\n window.removeEventListener('load', _pageLoaded);\n refresh();\n }\n\n /**\n * @param {Function} initialClass - The initial state for this transition.\n * @returns {MaxHeightTransition} An instance.\n */\n function init(initialClass) {\n _baseTransition.init(initialClass);\n\n /*\n The scrollHeight of an element may be incorrect if the page hasn't\n fully loaded yet, so we listen for that to happen before calculating\n the element max-height.\n */\n window.addEventListener('load', _pageLoaded);\n\n /*\n The scrollHeight of an element may change on page load.\n */\n window.addEventListener('resize', () => {\n refresh();\n });\n\n return this;\n }\n\n /**\n * Reset the max-height to the default size.\n * @returns {MaxHeightTransition} An instance.\n */\n function maxHeightDefault() {\n refresh();\n _baseTransition.applyClass(CLASSES.MH_DEFAULT);\n\n if (!_previousHeight || element.scrollHeight > _previousHeight) {\n _previousHeight = element.scrollHeight;\n }\n\n return this;\n }\n\n /**\n * Collapses the max-height to just a summary height.\n * @returns {MaxHeightTransition} An instance.\n */\n function maxHeightSummary() {\n _baseTransition.applyClass(CLASSES.MH_SUMMARY);\n\n _previousHeight = element.scrollHeight;\n\n return this;\n }\n\n /**\n * Collapses thte max-height completely.\n * @returns {MaxHeightTransition} An instance.\n */\n function maxHeightZero() {\n _baseTransition.applyClass(CLASSES.MH_ZERO);\n\n _previousHeight = element.scrollHeight;\n\n return this;\n }\n\n /**\n * Remove style attribute.\n * Remove all transition classes, if transition is initialized.\n * @returns {boolean}\n * True, if the element's CSS classes were touched, false otherwise.\n */\n function remove() {\n element.style.maxHeight = '';\n return _baseTransition.remove();\n }\n\n // Attach public events.\n this.addEventListener = eventObserver.addEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n this.removeEventListener = eventObserver.removeEventListener;\n\n this.animateOff = _baseTransition.animateOff;\n this.animateOn = _baseTransition.animateOn;\n this.halt = _baseTransition.halt;\n this.isAnimated = _baseTransition.isAnimated;\n this.setElement = _baseTransition.setElement;\n this.refresh = refresh;\n this.remove = remove;\n\n this.init = init;\n this.maxHeightDefault = maxHeightDefault;\n this.maxHeightSummary = maxHeightSummary;\n this.maxHeightZero = maxHeightZero;\n\n return this;\n}\n\n// Public static properties.\nMaxHeightTransition.CLASSES = CLASSES;\n\nexport { MaxHeightTransition };\n", "import { BaseTransition, EventObserver } from '@cfpb/cfpb-design-system';\n\n// Exported constants.\nconst CLASSES = {\n CSS_PROPERTY: 'transform',\n BASE_CLASS: 'u-move-transition',\n MOVE_TO_ORIGIN: 'u-move-to-origin',\n MOVE_LEFT: 'u-move-left',\n MOVE_LEFT_2X: 'u-move-left-2x',\n MOVE_LEFT_3X: 'u-move-left-3x',\n MOVE_RIGHT: 'u-move-right',\n MOVE_UP: 'u-move-up',\n};\n\n/**\n * MoveTransition\n * @class\n * @classdesc Initializes new MoveTransition behavior.\n * @param {HTMLElement} element - DOM element to apply move transition to.\n * @returns {MoveTransition} An instance.\n */\nfunction MoveTransition(element) {\n const eventObserver = new EventObserver();\n const _baseTransition = new BaseTransition(element, CLASSES, this);\n\n /**\n * @param {Function} initialClass - The initial state for this transition.\n * @returns {MoveTransition} An instance.\n */\n function init(initialClass) {\n _baseTransition.init(initialClass);\n\n return this;\n }\n\n /**\n * Move to the element's original coordinates.\n * @returns {MoveTransition} An instance.\n */\n function moveToOrigin() {\n _baseTransition.applyClass(CLASSES.MOVE_TO_ORIGIN);\n\n return this;\n }\n\n /**\n * Move to the left by applying a utility move class.\n * @param {number} count - How many times to move left\n * as a multiplication of the element's width.\n * @returns {MoveTransition} An instance.\n */\n function _moveLeft(count) {\n count = count || 1;\n const moveClasses = [\n CLASSES.MOVE_LEFT,\n CLASSES.MOVE_LEFT_2X,\n CLASSES.MOVE_LEFT_3X,\n ];\n\n _baseTransition.applyClass(moveClasses[count - 1]);\n\n return this;\n }\n\n /**\n * Move to the right by applying a utility move class.\n * @returns {MoveTransition} An instance.\n */\n function moveRight() {\n _baseTransition.applyClass(CLASSES.MOVE_RIGHT);\n\n return this;\n }\n\n /**\n * Move up by applying a utility move class.\n * @returns {MoveTransition} An instance.\n */\n function moveUp() {\n _baseTransition.applyClass(CLASSES.MOVE_UP);\n\n return this;\n }\n\n // Attach public events.\n this.addEventListener = eventObserver.addEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n this.removeEventListener = eventObserver.removeEventListener;\n\n this.animateOff = _baseTransition.animateOff;\n this.animateOn = _baseTransition.animateOn;\n this.halt = _baseTransition.halt;\n this.isAnimated = _baseTransition.isAnimated;\n this.setElement = _baseTransition.setElement;\n this.remove = _baseTransition.remove;\n\n this.init = init;\n this.moveLeft = () => _moveLeft(1);\n this.moveLeft2 = () => _moveLeft(2);\n this.moveLeft3 = () => _moveLeft(3);\n this.moveRight = moveRight;\n this.moveToOrigin = moveToOrigin;\n this.moveUp = moveUp;\n\n return this;\n}\n\n// Public static properties.\nMoveTransition.CLASSES = CLASSES;\n\nexport { MoveTransition };\n", "/* ==========================================================================\n Expandable Organism\n ========================================================================== */\n\nimport {\n add as addDataHook,\n checkDom,\n setInitFlag,\n instantiateAll,\n MaxHeightTransition,\n EventObserver,\n FlyoutMenu,\n} from '../../utilities';\n\nimport * as ExpandableStyles from './expandable.scss';\n\nconst BASE_CLASS = 'o-expandable';\n\n/**\n * Expandable\n * @class\n * @classdesc Initializes a new Expandable molecule.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the molecule.\n * @returns {Expandable} An instance.\n */\nfunction Expandable(element) {\n // Internal vars.\n const _dom = checkDom(element, BASE_CLASS);\n let _targetDom;\n let _contentDom;\n let _labelDom;\n\n // Animation vars.\n let _transition;\n let _flyout;\n\n /**\n * Set up and create the multiselect.\n * @returns {Expandable} An instance.\n */\n function init() {\n if (!setInitFlag(_dom)) {\n return this;\n }\n\n _targetDom = _dom.querySelector(`.${BASE_CLASS}__header`);\n _contentDom = _dom.querySelector(`.${BASE_CLASS}__content`);\n _labelDom = _dom.querySelector(`.${BASE_CLASS}__label`);\n\n const isExpanded = _dom.classList.contains(`${BASE_CLASS}--onload-open`);\n\n // Add behavior hooks.\n addDataHook(_dom, 'behavior_flyout-menu');\n addDataHook(_targetDom, 'behavior_flyout-menu_trigger');\n addDataHook(_contentDom, 'behavior_flyout-menu_content');\n\n // If it's expanded we don't set an initial height,\n // as it will be calculated internally.\n const initialClass = isExpanded\n ? MaxHeightTransition.CLASSES.MH_DEFAULT\n : MaxHeightTransition.CLASSES.MH_ZERO;\n _transition = new MaxHeightTransition(_contentDom).init(initialClass);\n\n // Create root menu.\n _flyout = new FlyoutMenu(_dom);\n\n _flyout.setTransition(\n _transition,\n _transition.maxHeightZero,\n _transition.maxHeightDefault,\n );\n\n _flyout.init(isExpanded);\n\n // Add events.\n _flyout.addEventListener('expandbegin', () => {\n _contentDom.classList.remove('u-hidden');\n this.dispatchEvent('expandbegin', { target: this });\n });\n _flyout.addEventListener('collapseend', () => {\n _contentDom.classList.add('u-hidden');\n });\n\n return this;\n }\n\n /**\n * @returns {string} The expandable label text.\n */\n function getLabelText() {\n return _labelDom.textContent.trim();\n }\n\n // Attach public events.\n this.init = init;\n this.expand = () => _flyout.expand();\n this.collapse = () => _flyout.collapse();\n this.isExpanded = () => _flyout.isExpanded();\n this.refresh = () => _flyout.getTransition().refresh();\n this.getLabelText = getLabelText;\n\n const eventObserver = new EventObserver();\n this.addEventListener = eventObserver.addEventListener;\n this.removeEventListener = eventObserver.removeEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n\n return this;\n}\n\nExpandable.BASE_CLASS = BASE_CLASS;\nExpandable.init = (scope) =>\n instantiateAll(`.${Expandable.BASE_CLASS}`, Expandable, scope);\n\nexport { Expandable, ExpandableStyles };\n", "/* ==========================================================================\n Expandable Organism\n ========================================================================== */\n\nimport { checkDom, setInitFlag, instantiateAll } from '../../utilities';\nimport { Expandable } from './expandable.js';\n\nimport * as ExpandableGroupStyles from './expandable-group.scss';\n\nconst BASE_CLASS = 'o-expandable-group';\n\n/**\n * ExpandableGroup\n * @class\n * @classdesc Initializes a new Expandable molecule.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the molecule.\n * @returns {ExpandableGroup} An instance.\n */\nfunction ExpandableGroup(element) {\n // Internal vars.\n const _dom = checkDom(element, BASE_CLASS);\n const _isAccordion = _dom.classList.contains(`${BASE_CLASS}--accordion`);\n let _expandables;\n let _lastExpanded;\n\n /**\n * @param {object} evt - The event object.\n */\n function _handleExpandBegin(evt) {\n const target = evt.target;\n if (_lastExpanded && _lastExpanded !== target) {\n _lastExpanded.collapse();\n }\n _lastExpanded = target;\n }\n\n /**\n * Set up and create the multiselect.\n * @param {Array} expandables - List of expandables inside this group.\n * @returns {ExpandableGroup} An instance.\n */\n function init(expandables) {\n if (!setInitFlag(_dom)) {\n return this;\n }\n\n if (_isAccordion) {\n _expandables = expandables;\n\n _expandables.forEach((expandable) => {\n expandable.addEventListener('expandbegin', _handleExpandBegin);\n });\n }\n\n return this;\n }\n\n // Attach public events.\n this.init = init;\n\n return this;\n}\n\nExpandableGroup.BASE_CLASS = BASE_CLASS;\nExpandableGroup.init = (scope) => {\n const base = scope || document;\n const expandableGroupsDom = base.querySelectorAll(`.${BASE_CLASS}`);\n expandableGroupsDom.forEach((expandableGroupDom) => {\n const expandables = instantiateAll(\n `.${Expandable.BASE_CLASS}`,\n Expandable,\n expandableGroupDom,\n );\n const expandableGroup = new ExpandableGroup(expandableGroupDom);\n expandableGroup.init(expandables);\n });\n};\n\nexport { ExpandableGroup, ExpandableGroupStyles };\n", "import {\n add as addDataHook,\n checkDom,\n instantiateAll,\n setInitFlag,\n FlyoutMenu,\n MaxHeightTransition,\n EventObserver,\n MOBILE,\n viewportIsIn,\n} from '../../utilities';\n\nimport * as SummaryStyles from './summary.scss';\n\nconst BASE_CLASS = 'o-summary';\n\n/**\n * Summary\n * @class\n * @classdesc Initializes a new Summary organism.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the organism.\n * @returns {Summary} An instance.\n */\nfunction Summary(element) {\n const _dom = checkDom(element, BASE_CLASS);\n const _hasMobileModifier = _dom.classList.contains(`${BASE_CLASS}--mobile`);\n const _contentDom = _dom.querySelector(`.${BASE_CLASS}__content`);\n const _btnDom = _dom.querySelector(`.${BASE_CLASS}__btn`);\n let _transition;\n let _flyout;\n\n // Whether this instance's behaviors are suspended or not.\n let _suspended;\n\n /**\n * NOTE: Init won't work if it's called after the page has been loaded,\n * since it depends on the `load` event fired by the browser.\n * @returns {Summary} An instance.\n */\n function init() {\n if (!setInitFlag(_dom)) {\n return this;\n }\n\n // Don't initialize the Summary till the page has loaded, so we can have\n // an accurate idea of its height.\n window.addEventListener('load', _pageLoadHandler);\n\n return this;\n }\n\n /**\n * The page (content + CSS) has loaded.\n */\n function _pageLoadHandler() {\n window.removeEventListener('load', _pageLoadHandler);\n\n _suspended = !_shouldSuspend();\n\n // Add FlyoutMenu behavior data-js-hooks.\n addDataHook(_dom, 'behavior_flyout-menu');\n addDataHook(_contentDom, 'behavior_flyout-menu_content');\n addDataHook(_btnDom, 'behavior_flyout-menu_trigger');\n\n _flyout = new FlyoutMenu(_dom, false);\n _transition = new MaxHeightTransition(_contentDom);\n _transition.init(\n _suspended\n ? MaxHeightTransition.CLASSES.MH_SUMMARY\n : MaxHeightTransition.CLASSES.MH_DEFAULT,\n );\n _flyout.setTransition(\n _transition,\n _transition.maxHeightSummary,\n _transition.maxHeightDefault,\n );\n _flyout.addEventListener('triggerclick', _triggerClickHandler);\n _flyout.init();\n\n _resizeHandler();\n\n window.addEventListener('resize', _resizeHandler);\n // Pipe window resize handler into orientation change on supported devices.\n if ('onorientationchange' in window) {\n window.addEventListener('orientationchange', _resizeHandler);\n }\n\n _dom.addEventListener('focusin', _focusInHandler);\n\n /* When we click inside the content area we may be changing the size,\n such as when a video player expands on being clicked.\n So, let's refresh the transition to recalculate the max-height,\n just in case. */\n _contentDom.addEventListener('click', _contentClicked);\n }\n\n /**\n * Handling tabbing into the content area that is hidden.\n * If the focus goes onto a focusable element within the content area,\n * we'll act like the summary expansion button was clicked.\n * @param {Event} evt - The focus event.\n */\n function _focusInHandler(evt) {\n if (!_suspended && evt.target !== _btnDom) {\n _btnDom.click();\n _dom.removeEventListener('focusin', _focusInHandler);\n }\n }\n\n /**\n * Handler for when the content area is clicked.\n * Refresh the transition to recalculate the max-height.\n * @param {MouseEvent} evt - the mouse event object.\n */\n function _contentClicked(evt) {\n /* We don't need to refresh if a link was clicked as we'll be navigating\n to another page. */\n if (evt.target.tagName !== 'A' && _flyout.isExpanded()) {\n _transition.refresh();\n }\n }\n\n /**\n * Handle resizing of the window,\n * suspends or resumes the mobile or desktop behaviors.\n */\n function _resizeHandler() {\n if (_shouldSuspend()) {\n _suspend();\n } else {\n _resume();\n }\n }\n\n /**\n * @returns {boolean} True if this should be suspended, false otherwise.\n */\n function _shouldSuspend() {\n /* Bail out of initializatiion if the height of the summary's content\n is less than our summary height of 5.5ems\n 16 * 5.5 = 88\n See https://github.com/cfpb/design-system/blob/72623270013f2ad08dbe92b5b709ed2b434ee41e/packages/cfpb-atomic-component/src/utilities/transition/transition.less#L84\n */\n return (\n (_hasMobileModifier && !viewportIsIn(MOBILE)) ||\n _contentDom.scrollHeight <= 88\n );\n }\n\n /**\n * Handle click of flyout.\n */\n function _triggerClickHandler() {\n _flyout.addEventListener('expandend', _expandEndHandler);\n }\n\n /**\n * After the summary opens, remove the \"read more\" button.\n */\n function _expandEndHandler() {\n _hideButton();\n window.removeEventListener('resize', _resizeHandler);\n window.removeEventListener('orientationchange', _resizeHandler);\n _flyout.removeEventListener('expandend', _expandEndHandler);\n _flyout.suspend();\n _transition.remove();\n }\n\n /**\n *\n */\n function _showButton() {\n _btnDom.classList.remove('u-hidden');\n }\n\n /**\n *\n */\n function _hideButton() {\n _btnDom.classList.add('u-hidden');\n }\n\n /**\n * Add events necessary for the desktop menu behaviors.\n * @returns {boolean} Whether it has successfully been resumed or not.\n */\n function _resume() {\n if (_suspended) {\n _flyout.collapse();\n _transition.animateOn();\n _showButton();\n\n _suspended = false;\n }\n\n return !_suspended;\n }\n\n /**\n * Remove events necessary for the desktop menu behaviors.\n * @returns {boolean} Whether it has successfully been suspended or not.\n */\n function _suspend() {\n if (!_suspended) {\n _transition.animateOff();\n _flyout.expand();\n _hideButton();\n\n _suspended = true;\n }\n\n return _suspended;\n }\n\n // Attach public events.\n const eventObserver = new EventObserver();\n this.addEventListener = eventObserver.addEventListener;\n this.removeEventListener = eventObserver.removeEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n\n this.init = init;\n\n return this;\n}\n\nSummary.BASE_CLASS = BASE_CLASS;\nSummary.init = (scope) => instantiateAll(`.${BASE_CLASS}`, Summary, scope);\n\nexport { Summary, SummaryStyles };\n", "import {\n add as addDataHook,\n checkDom,\n instantiateAll,\n setInitFlag,\n FlyoutMenu,\n MaxHeightTransition,\n EventObserver,\n} from '../../utilities';\n\nimport * as SummaryMinimalStyles from './summary-minimal.scss';\n\nconst BASE_CLASS = 'o-summary-minimal';\n\n/**\n * SummaryMinimal\n * @class\n * @classdesc Initializes a new SummaryMinimal organism.\n * @param {HTMLElement} element - The DOM element within which to search\n * for the organism.\n * @returns {SummaryMinimal} An instance.\n */\nfunction SummaryMinimal(element) {\n const _dom = checkDom(element, BASE_CLASS);\n const _contentDom = _dom.querySelector(`.${BASE_CLASS}__content`);\n const _btnDom = _dom.querySelector(`.${BASE_CLASS}__btn`);\n let _transition;\n let _flyout;\n\n /**\n * @returns {SummaryMinimal} An instance.\n */\n function init() {\n if (!setInitFlag(_dom)) {\n return this;\n }\n\n // Add FlyoutMenu behavior data-js-hooks.\n addDataHook(_dom, 'behavior_flyout-menu');\n addDataHook(_contentDom, 'behavior_flyout-menu_content');\n addDataHook(_btnDom, 'behavior_flyout-menu_trigger');\n\n // Don't initialize the SummaryMinimal till the page has loaded,\n // so we can have an accurate idea of its height.\n window.addEventListener('load', _pageLoadHandler);\n\n return this;\n }\n\n /**\n * The page (content + CSS) has loaded.\n */\n function _pageLoadHandler() {\n window.removeEventListener('load', _pageLoadHandler);\n\n _flyout = new FlyoutMenu(_dom, false);\n _transition = new MaxHeightTransition(_contentDom);\n _transition.init(MaxHeightTransition.CLASSES.MH_SUMMARY);\n _flyout.setTransition(\n _transition,\n _transition.maxHeightSummary,\n _transition.maxHeightDefault,\n );\n _flyout.init();\n\n _dom.addEventListener('focusin', _focusInHandler);\n\n /* When we click inside the content area we may be changing the size,\n such as when a video player expands on being clicked.\n So, let's refresh the transition to recalculate the max-height,\n just in case. */\n _contentDom.addEventListener('click', _contentClicked);\n\n _flyout.collapse();\n _transition.animateOn();\n }\n\n /**\n * Handling tabbing into the content area that is hidden.\n * If the focus goes onto a focusable element within the content area,\n * we'll act like the summary expansion button was clicked.\n * @param {Event} evt - The focus event.\n */\n function _focusInHandler(evt) {\n if (evt.target !== _btnDom) {\n _btnDom.click();\n _dom.removeEventListener('focusin', _focusInHandler);\n }\n }\n\n /**\n * Handler for when the content area is clicked.\n * Refresh the transition to recalculate the max-height.\n * @param {MouseEvent} evt - the mouse event object.\n */\n function _contentClicked(evt) {\n /* We don't need to refresh if a link was clicked as we'll be navigating\n to another page. */\n if (evt.target.tagName !== 'A' && _flyout.isExpanded()) {\n _transition.refresh();\n }\n }\n\n // Attach public events.\n const eventObserver = new EventObserver();\n this.addEventListener = eventObserver.addEventListener;\n this.removeEventListener = eventObserver.removeEventListener;\n this.dispatchEvent = eventObserver.dispatchEvent;\n\n this.init = init;\n\n return this;\n}\n\nSummaryMinimal.BASE_CLASS = BASE_CLASS;\nSummaryMinimal.init = (scope) =>\n instantiateAll(`.${BASE_CLASS}`, SummaryMinimal, scope);\n\nexport { SummaryMinimal, SummaryMinimalStyles };\n", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-form__group {\n margin-bottom: 1.875em;\n}\n.o-form__fieldset {\n border: none;\n margin: 0;\n padding: 0;\n}\n.o-form__fieldset .m-form-field + .m-form-field {\n margin-top: 0.625em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-form-alert .cf-icon-svg {\n color: var(--gray);\n float: left;\n}\n.a-form-alert__text {\n display: block;\n margin-left: 1.25em;\n}\n.a-form-alert--success .cf-icon-svg {\n color: var(--green);\n}\n.a-form-alert--error .cf-icon-svg {\n color: var(--red);\n}\n.a-form-alert--warning .cf-icon-svg {\n color: var(--gold);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.m-form-field .a-text-input--full {\n width: 100%;\n}\n.m-form-field .a-label + .a-text-input {\n margin-top: 0.3125em;\n}\n.m-form-field--checkbox .a-label, .m-form-field--radio .a-label {\n /* autoprefixer: ignore next */\n display: inline-grid;\n grid-template-columns: 1.875em auto;\n vertical-align: top;\n cursor: pointer;\n overflow-wrap: anywhere;\n}\n.m-form-field--checkbox .a-label::before, .m-form-field--radio .a-label::before {\n display: inline-block;\n grid-row-start: 1;\n grid-row-end: 3;\n border: 1px solid var(--gray-60);\n height: 1.125em;\n width: 1.125em;\n margin-right: 10px;\n background-color: var(--white);\n content: \"\";\n vertical-align: top;\n position: relative;\n top: 1px;\n left: 1px;\n}\n.m-form-field--checkbox .a-label:hover::before, .m-form-field--checkbox .a-label.hover::before, .m-form-field--radio .a-label:hover::before, .m-form-field--radio .a-label.hover::before {\n border-color: var(--pacific);\n}\n.m-form-field--checkbox .a-label__helper, .m-form-field--radio .a-label__helper {\n display: block;\n}\n.m-form-field--checkbox .a-checkbox,\n.m-form-field--checkbox .a-radio, .m-form-field--radio .a-checkbox,\n.m-form-field--radio .a-radio {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n.m-form-field--checkbox .a-checkbox:focus + .a-label, .m-form-field--checkbox .a-checkbox.focus + .a-label,\n.m-form-field--checkbox .a-radio:focus + .a-label,\n.m-form-field--checkbox .a-radio.focus + .a-label, .m-form-field--radio .a-checkbox:focus + .a-label, .m-form-field--radio .a-checkbox.focus + .a-label,\n.m-form-field--radio .a-radio:focus + .a-label,\n.m-form-field--radio .a-radio.focus + .a-label {\n outline: 1px dotted var(--pacific);\n outline-offset: 1px;\n}\n.m-form-field--checkbox .a-checkbox:disabled:checked + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled:focus + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled.focus + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled:hover + .a-label::before, .m-form-field--checkbox .a-checkbox:disabled.hover + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:checked + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:focus + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled.focus + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled:hover + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled.hover + .a-label::before, .m-form-field--radio .a-checkbox:disabled:checked + .a-label::before, .m-form-field--radio .a-checkbox:disabled:focus + .a-label::before, .m-form-field--radio .a-checkbox:disabled.focus + .a-label::before, .m-form-field--radio .a-checkbox:disabled:hover + .a-label::before, .m-form-field--radio .a-checkbox:disabled.hover + .a-label::before,\n.m-form-field--radio .a-radio:disabled:checked + .a-label::before,\n.m-form-field--radio .a-radio:disabled:focus + .a-label::before,\n.m-form-field--radio .a-radio:disabled.focus + .a-label::before,\n.m-form-field--radio .a-radio:disabled:hover + .a-label::before,\n.m-form-field--radio .a-radio:disabled.hover + .a-label::before {\n border-color: var(--gray-60);\n outline: none;\n box-shadow: none;\n}\n.m-form-field--checkbox .a-checkbox:disabled + .a-label,\n.m-form-field--checkbox .a-radio:disabled + .a-label, .m-form-field--radio .a-checkbox:disabled + .a-label,\n.m-form-field--radio .a-radio:disabled + .a-label {\n cursor: not-allowed;\n color: var(--gray-dark);\n}\n.m-form-field--checkbox .a-checkbox:disabled + .a-label::before,\n.m-form-field--checkbox .a-radio:disabled + .a-label::before, .m-form-field--radio .a-checkbox:disabled + .a-label::before,\n.m-form-field--radio .a-radio:disabled + .a-label::before {\n background: var(--gray-10);\n border-color: var(--gray-60);\n}\n.m-form-field--checkbox .a-checkbox:focus + .a-label::before, .m-form-field--checkbox .a-checkbox.focus + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--checkbox .a-checkbox:hover + .a-label::before, .m-form-field--checkbox .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--checkbox .a-checkbox:checked + .a-label::before {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n background-size: auto 1.1875em;\n background-repeat: no-repeat;\n background-position: center 0;\n}\n.m-form-field--checkbox .a-checkbox:disabled:checked + .a-label::before {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n.m-form-field--checkbox-error .a-label::before {\n border-color: var(--red);\n outline: 1px solid var(--red);\n}\n.m-form-field--checkbox-error .a-label:hover::before, .m-form-field--checkbox-error .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-error .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-error .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-error .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-error .a-checkbox.focus + .a-label::before {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline-color: var(--red);\n}\n.m-form-field--checkbox-error .a-checkbox:focus + .a-label, .m-form-field--checkbox-error .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--red);\n outline-offset: 1px;\n}\n.m-form-field--checkbox-warning .a-label::before {\n border-color: var(--gold);\n outline: 1px solid var(--gold);\n}\n.m-form-field--checkbox-warning .a-label:hover::before, .m-form-field--checkbox-warning .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-warning .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-warning .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-warning .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-warning .a-checkbox.focus + .a-label::before {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline-color: var(--gold);\n}\n.m-form-field--checkbox-warning .a-checkbox:focus + .a-label, .m-form-field--checkbox-warning .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--gold);\n outline-offset: 1px;\n}\n.m-form-field--checkbox-success .a-label::before {\n border-color: var(--green);\n outline: 1px solid var(--green);\n}\n.m-form-field--checkbox-success .a-label:hover::before, .m-form-field--checkbox-success .a-label.hover::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-success .a-checkbox:hover + .a-label::before, .m-form-field--checkbox-success .a-checkbox.hover + .a-label::before {\n border-color: var(--pacific);\n outline-color: var(--pacific);\n}\n.m-form-field--checkbox-success .a-checkbox:focus + .a-label::before, .m-form-field--checkbox-success .a-checkbox.focus + .a-label::before {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline-color: var(--green);\n}\n.m-form-field--checkbox-success .a-checkbox:focus + .a-label, .m-form-field--checkbox-success .a-checkbox.focus + .a-label {\n outline: 1px dotted var(--green);\n outline-offset: 1px;\n}\n.m-form-field--radio .a-label::before {\n border-radius: 50%;\n /* The rotate is needed to fix a bug in Firefox where radio\n button was not centered. */\n transform: rotate(0deg);\n}\n.m-form-field--radio .a-radio:focus + .a-label::before, .m-form-field--radio .a-radio.focus + .a-label::before {\n outline: none;\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--radio .a-radio:hover + .a-label::before, .m-form-field--radio .a-radio.hover + .a-label::before {\n outline: none;\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n}\n.m-form-field--radio .a-radio:checked + .a-label::before {\n background-color: var(--pacific);\n box-shadow: inset 0 0 0 2px var(--white);\n}\n.m-form-field--radio .a-radio:checked:disabled + .a-label::before {\n background-color: var(--gray-40);\n box-shadow: inset 0 0 0 2px var(--gray-10);\n}\n.m-form-field--radio .a-radio:focus:checked + .a-label::before, .m-form-field--radio .a-radio.focus:checked + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific), inset 0 0 0 2px var(--white);\n}\n.m-form-field--radio .a-radio:hover:checked + .a-label::before, .m-form-field--radio .a-radio.hover:checked + .a-label::before {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific), inset 0 0 0 2px var(--white);\n}\n.m-form-field--lg-target {\n display: block;\n}\n.m-form-field--lg-target .a-label {\n box-sizing: border-box;\n width: 100%;\n padding: 15px;\n background-color: var(--gray-10);\n}\n.m-form-field--lg-target .a-checkbox:checked + .a-label,\n.m-form-field--lg-target .a-radio:checked + .a-label {\n background-color: var(--pacific-20);\n box-shadow: inset 0 0 0 1px var(--pacific);\n}\n.m-form-field--lg-target .a-checkbox:hover + .a-label, .m-form-field--lg-target .a-checkbox.hover + .a-label, .m-form-field--lg-target .a-checkbox:focus + .a-label, .m-form-field--lg-target .a-checkbox.focus + .a-label,\n.m-form-field--lg-target .a-radio:hover + .a-label,\n.m-form-field--lg-target .a-radio.hover + .a-label,\n.m-form-field--lg-target .a-radio:focus + .a-label,\n.m-form-field--lg-target .a-radio.focus + .a-label {\n box-shadow: inset 0 0 0 2px var(--pacific);\n}\n.m-form-field--lg-target .a-checkbox:focus + .a-label, .m-form-field--lg-target .a-checkbox.focus + .a-label, .m-form-field--lg-target .a-checkbox:checked + .a-label,\n.m-form-field--lg-target .a-radio:focus + .a-label,\n.m-form-field--lg-target .a-radio.focus + .a-label,\n.m-form-field--lg-target .a-radio:checked + .a-label {\n outline-offset: 1px;\n}\n.m-form-field--lg-target .a-checkbox:disabled + .a-label, .m-form-field--lg-target .a-checkbox:checked:disabled + .a-label, .m-form-field--lg-target .a-checkbox:hover:disabled + .a-label,\n.m-form-field--lg-target .a-radio:disabled + .a-label,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label,\n.m-form-field--lg-target .a-radio:hover:disabled + .a-label {\n color: var(--gray-dark);\n box-shadow: none;\n background-color: var(--gray-20);\n}\n.m-form-field--lg-target .a-checkbox:checked:disabled + .a-label, .m-form-field--lg-target .a-checkbox:checked:disabled + .a-label::before,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label,\n.m-form-field--lg-target .a-radio:checked:disabled + .a-label::before {\n border: 1px solid var(--gray-60);\n}\n.m-form-field .a-form-alert {\n margin-top: 0.9375em;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-label {\n display: inline-block;\n}\n.a-label__helper {\n color: var(--gray-dark);\n font-size: 1rem;\n font-weight: normal;\n}\n.a-label__helper--block {\n display: block;\n margin-top: 0.8333333333em;\n}\n.a-label--heading {\n display: block;\n margin-bottom: 0.5555555556em;\n font-size: 1.125em;\n font-weight: 500;\n letter-spacing: inherit;\n line-height: 1.25;\n text-transform: inherit;\n}\np + .a-label--heading, ul + .a-label--heading, ol + .a-label--heading, dl + .a-label--heading, figure + .a-label--heading, img + .a-label--heading, table + .a-label--heading, blockquote + .a-label--heading, h1 + .a-label--heading, .h1 + .a-label--heading, h2 + .a-label--heading, .h2 + .a-label--heading, h3 + .a-label--heading, .h3 + .a-label--heading, h5 + .a-label--heading, .h5 + .a-label--heading, h6 + .a-label--heading, .h6 + .a-label--heading {\n margin-top: 1.6666666667em;\n}\n@media only all and (max-width: 37.5em) {\n .a-label--heading {\n margin-bottom: 0.625em;\n font-size: 1em;\n line-height: 1.125;\n }\n}\n.a-label--heading .a-label__helper--block {\n margin-top: 0.625rem;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-range {\n appearance: none;\n width: 100%;\n min-height: 49px;\n}\n.a-range::-webkit-slider-runnable-track {\n height: 0.6875rem;\n width: 100%;\n background-color: var(--gray-80);\n border: 1px solid var(--gray-40);\n border-radius: 8px;\n cursor: pointer;\n}\n.a-range::-moz-range-track {\n height: 0.6875rem;\n width: 100%;\n background-color: var(--gray-80);\n border: 1px solid var(--gray-40);\n border-radius: 8px;\n cursor: pointer;\n}\n.a-range::-webkit-slider-thumb {\n height: 2.8125rem;\n width: 2.8125rem;\n margin-top: -1.125rem;\n appearance: none;\n border: 1px solid var(--gray-40);\n border-radius: 50%;\n background-color: var(--gray-10);\n cursor: pointer;\n}\n.a-range::-moz-range-thumb {\n height: 2.8125rem;\n width: 2.8125rem;\n margin-top: -1.125rem;\n appearance: none;\n border: 1px solid var(--gray-40);\n border-radius: 50%;\n background-color: var(--gray-10);\n cursor: pointer;\n}\n.a-range:focus, .a-range.focus {\n box-shadow: none;\n outline: none;\n}\n.a-range:focus::-webkit-slider-thumb, .a-range.focus::-webkit-slider-thumb {\n background-color: var(--pacific-20);\n border: 2px solid var(--pacific);\n}\n.a-range:focus::-moz-range-thumb, .a-range.focus::-moz-range-thumb {\n background-color: var(--pacific-20);\n border: 2px solid var(--pacific);\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.o-search-input {\n display: flex;\n flex-direction: column;\n row-gap: 0.9375rem;\n}\n.o-search-input__input {\n position: relative;\n display: flex;\n width: initial;\n flex: 0 1 100%;\n}\n.o-search-input__input-label {\n position: absolute;\n left: 10px;\n align-self: center;\n cursor: pointer;\n}\n.o-search-input__input input[type=search] {\n width: 100%;\n white-space: nowrap;\n padding-left: 30px;\n appearance: none;\n}\n.o-search-input__input button[type=reset] {\n display: none;\n position: absolute;\n right: 0;\n align-self: center;\n color: var(--gray-40);\n font-size: 20px;\n border: 1px solid transparent;\n background-color: transparent;\n outline: 0;\n width: 44px;\n padding: 5px;\n text-align: right;\n}\n.o-search-input__input button[type=reset] > svg {\n width: 25px;\n cursor: pointer;\n pointer-events: none;\n}\n.o-search-input__input button[type=reset]:hover {\n color: var(--black);\n}\n.o-search-input__input button[type=reset]:focus {\n color: var(--black);\n}\n.o-search-input__input button[type=reset]:focus > svg {\n outline: 1px dotted var(--pacific);\n}\n.o-search-input__input input[type=search]:placeholder-shown ~ button[type=reset] {\n display: none;\n}\n.o-search-input__input input[type=search]:not(:placeholder-shown) {\n padding-right: 34px;\n}\n.o-search-input__input input[type=search]::-webkit-search-decoration,\n.o-search-input__input input[type=search]::-webkit-search-cancel-button,\n.o-search-input__input input[type=search]::-webkit-search-results-button,\n.o-search-input__input input[type=search]::-webkit-search-results-decoration {\n display: none;\n}\n.o-search-input:focus-within button[type=reset], .o-search-input .o-search-input__input:hover button[type=reset] {\n display: block;\n}\n.o-search-input button[type=submit] {\n line-height: 1.1875;\n}\n@media only all and (min-width: 37.5625em) {\n .o-search-input {\n flex-direction: row;\n border-left: 0;\n }\n .o-search-input button[type=submit] {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n flex-basis: 25%;\n }\n}\n\n.no-js .o-search-input button[type=reset] {\n display: none !important;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-select {\n position: relative;\n border: 1px solid var(--gray-60);\n}\n.a-select select {\n width: 100%;\n line-height: 1.375;\n padding: 0.4375em 0.375em 0.375em;\n border: 0;\n appearance: none;\n background-color: var(--white);\n border-radius: 0;\n color: var(--black);\n}\n.a-select select:hover, .a-select select.hover {\n outline: 2px solid var(--pacific);\n outline-offset: 0;\n}\n.a-select select:active, .a-select select:focus, .a-select select.focus {\n box-shadow: 0 0 0 2px var(--pacific);\n outline: 1px dotted var(--pacific);\n outline-offset: 3px;\n}\n.a-select select[disabled] {\n color: var(--gray-dark);\n background-color: var(--gray-10);\n cursor: not-allowed;\n}\n.a-select select[disabled]:hover, .a-select select[disabled].hover, .a-select select[disabled]:focus, .a-select select[disabled].focus {\n outline: none;\n}\n.a-select select[disabled] option,\n.a-select select[disabled] option:disabled,\n.a-select select option:disabled {\n color: var(--gray-dark);\n}\n.a-select::after {\n width: 2.1875em;\n box-sizing: border-box;\n border-left: 1px solid var(--gray-60);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n background-color: var(--gray-10);\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n background-size: auto 1.1875em;\n background-repeat: no-repeat;\n background-position: center center;\n content: \"\";\n pointer-events: none;\n}\n.a-select--disabled::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n/* ==========================================================================\n Design System\n Utilities\n ========================================================================== */\n.no-js .u-js-only {\n display: none !important;\n}\n\n.u-hide-if-js {\n display: none !important;\n}\n.no-js .u-hide-if-js {\n display: block !important;\n}\n\n.u-clearfix::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.u-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n border: 0;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n}\n\n@media only all and (max-width: 37.5em) {\n .u-hide-on-mobile {\n display: none;\n }\n}\n\n.u-show-on-mobile {\n display: none;\n}\n@media only all and (max-width: 37.5em) {\n .u-show-on-mobile {\n display: block;\n }\n}\n\n.u-hidden {\n display: none !important;\n}\n\n.u-invisible {\n visibility: hidden;\n}\n\n.u-right {\n float: right;\n}\n\n.u-nowrap {\n white-space: nowrap;\n}\n\n/* stylelint-disable selector-class-pattern */\n.u-flexible-container {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n}\n.u-flexible-container__inner {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n.u-flexible-container--4-3 {\n /* stylelint-enable */\n position: relative;\n padding-bottom: 75%;\n height: 0;\n}\n\n/*\nLink text and underline, unless otherwise specified.\n$c: Link color.\n$v: Link visited color.\n$h: Link hover color.\n$f: Link focus color.\n$a: Link active color.\n\n// Separate out a different underline color.\n$bc: Link underline color.\n$bv: Link underline visited color.\n$bh: Link underline hover color.\n$bf: Link underline focus color.\n$ba: Link underline active color.\n*/\n/* stylelint-disable selector-class-pattern */\n/* stylelint-enable */\n.u-mt0 {\n margin-top: 0 !important;\n}\n\n.u-mb0 {\n margin-bottom: 0 !important;\n}\n\n.u-mt5 {\n margin-top: 5px !important;\n}\n\n.u-mb5 {\n margin-bottom: 5px !important;\n}\n\n.u-mt10 {\n margin-top: 10px !important;\n}\n\n.u-mb10 {\n margin-bottom: 10px !important;\n}\n\n.u-mt15 {\n margin-top: 15px !important;\n}\n\n.u-mb15 {\n margin-bottom: 15px !important;\n}\n\n.u-mt20 {\n margin-top: 20px !important;\n}\n\n.u-mb20 {\n margin-bottom: 20px !important;\n}\n\n.u-mt30 {\n margin-top: 30px !important;\n}\n\n.u-mb30 {\n margin-bottom: 30px !important;\n}\n\n.u-mt45 {\n margin-top: 45px !important;\n}\n\n.u-mb45 {\n margin-bottom: 45px !important;\n}\n\n.u-mt60 {\n margin-top: 60px !important;\n}\n\n.u-mb60 {\n margin-bottom: 60px !important;\n}\n\n.u-w100pct {\n width: 100%;\n}\n\n.u-w90pct {\n width: 90%;\n}\n\n.u-w80pct {\n width: 80%;\n}\n\n.u-w70pct {\n width: 70%;\n}\n\n.u-w60pct {\n width: 60%;\n}\n\n.u-w50pct {\n width: 50%;\n}\n\n.u-w40pct {\n width: 40%;\n}\n\n.u-w30pct {\n width: 30%;\n}\n\n.u-w20pct {\n width: 20%;\n}\n\n.u-w10pct {\n width: 10%;\n}\n\n.u-w75pct {\n width: 75%;\n}\n\n.u-w65pct {\n width: 65%;\n}\n\n.u-w25pct {\n width: 25%;\n}\n\n.u-w15pct {\n width: 15%;\n}\n\n.u-w66pct {\n width: 66.6666666667%;\n}\n\n.u-w33pct {\n width: 33.3333333333%;\n}\n\n/* stylelint-disable selector-class-pattern */\nsmall,\n.u-small-text {\n /* stylelint-enable */\n font-size: 0.875em;\n}\nsmall--subtle,\n.u-small-text--subtle {\n color: var(--gray);\n}\n\n/* ==========================================================================\n Utility classes for transitions.\n\n Adds transitions utilty classes for transform, opacity,\n and for the removing the transition duration.\n ========================================================================== */\n.u-no-animation {\n transition-duration: 0s !important;\n}\n\n.u-move-transition {\n transition: transform 0.25s ease-out;\n}\n\n.u-move-to-origin {\n transform: translate3d(0, 0, 0);\n}\n\n.u-move-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.u-move-left-2x {\n transform: translate3d(-200%, 0, 0);\n}\n\n.u-move-left-3x {\n transform: translate3d(-300%, 0, 0);\n}\n\n.u-move-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.u-move-up {\n transform: translate3d(0, -100%, 0);\n}\n\n.u-alpha-transition {\n transition: opacity 0.25s linear;\n}\n\n.u-alpha-100 {\n opacity: 1;\n}\n\n.u-alpha-0 {\n opacity: 0;\n}\n\n.u-max-height-transition {\n overflow: hidden;\n contain: paint;\n transition: max-height 0.2s ease-out;\n}\n\n/*\n.u-max-height-default {\n This class is kept for documentation completeness.\n The actual max-height is set in the JavaScript,\n so that we know what the actual height of the content is for easing purposes.\n}\n*/\n.u-max-height-zero {\n max-height: 0 !important;\n}\n\n.u-max-height-summary {\n /* The value set here should show 4 lines of text at our standard 16px\n base font size. The calculation comes from the following:\n 88px = 16 * 5.5em.\n 5.5em = base-line-height (22px) * 4 / base-font-size (16px)\n */\n max-height: 88px !important;\n}\n\n.a-tag-filter {\n display: flex;\n gap: 0.625rem;\n border: 1px solid var(--teal);\n padding: 4px 6px;\n background-color: var(--teal-20);\n border-radius: 0.1875rem;\n color: var(--black);\n text-align: left;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n.a-tag-filter .cf-icon-svg {\n pointer-events: none;\n flex: none;\n}\n.a-tag-filter > label {\n display: contents;\n pointer-events: none;\n}\n\nbutton.a-tag-filter:hover {\n background-color: var(--teal-40);\n cursor: pointer;\n}\nbutton.a-tag-filter:focus {\n outline: 1px dotted var(--teal);\n outline-offset: 1px;\n}\nbutton.a-tag-filter:active {\n background-color: var(--teal);\n}\n\na.a-tag-filter {\n line-height: normal;\n color: var(--black);\n border-color: var(--teal);\n}\na.a-tag-filter:visited, a.a-tag-filter.visited {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:hover, a.a-tag-filter.hover {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:focus, a.a-tag-filter.focus {\n border-color: var(--teal);\n color: var(--black);\n}\na.a-tag-filter:active, a.a-tag-filter.active {\n border-color: var(--teal);\n color: var(--black);\n}\n\n.a-tag-topic {\n display: flex;\n gap: 0.3125rem;\n}\n\n.a-tag-topic {\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--gold-80);\n letter-spacing: 1px;\n}\n.a-tag-topic .a-tag-topic__text {\n color: var(--gray);\n word-break: break-word;\n}\n@media only all and (max-width: 37.5em) {\n .a-tag-topic {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.3125rem;\n box-sizing: border-box;\n padding-top: 0.625em;\n padding-bottom: 0.625em;\n width: 100%;\n }\n .a-tag-topic .cf-icon-svg--right {\n margin-left: auto;\n }\n .a-tag-topic .a-tag-topic__text {\n border-bottom-width: 0;\n flex-shrink: 10;\n }\n}\n\na.a-tag-topic {\n border-color: var(--gold-80);\n color: var(--gold-80);\n border-color: var(--gold-80);\n}\na.a-tag-topic:visited, a.a-tag-topic.visited {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:hover, a.a-tag-topic.hover {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:focus, a.a-tag-topic.focus {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic:active, a.a-tag-topic.active {\n border-color: var(--gold-80);\n color: var(--gold-80);\n}\na.a-tag-topic .a-tag-topic__text {\n border-bottom-color: var(--gold-80);\n}\n@media only all and (max-width: 37.5em) {\n a.a-tag-topic {\n border-top-width: 1px;\n border-bottom-width: 1px;\n }\n a.a-tag-topic:focus {\n outline: none;\n }\n a.a-tag-topic:focus::after {\n content: \"\";\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n outline: 1px dotted var(--gray);\n outline-offset: 2px;\n }\n}\n\n@media only all and (max-width: 37.5em) {\n li:has(.a-tag-topic) + li:has(.a-tag-topic) .a-tag-topic {\n position: relative;\n border-top: none;\n }\n li:has(.a-tag-topic) + li:has(.a-tag-topic) a.a-tag-topic:hover::before,\n li:has(.a-tag-topic) + li:has(.a-tag-topic) a.a-tag-topic:focus::before {\n position: absolute;\n top: -1px;\n content: \"\";\n display: block;\n height: 1px;\n width: 100%;\n border-top: 1px solid currentcolor;\n }\n}\n.a-tag-topic__bullet {\n font-size: 1rem;\n line-height: 1rem;\n}\n\n@media only all and (min-width: 37.5625em) {\n a.a-tag-topic__text {\n color: var(--gray);\n border-color: var(--gray);\n }\n a.a-tag-topic__text:visited, a.a-tag-topic__text.visited {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:hover, a.a-tag-topic__text.hover {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:focus, a.a-tag-topic__text.focus {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic__text:active, a.a-tag-topic__text.active {\n border-color: var(--gray);\n color: var(--gray);\n }\n a.a-tag-topic,\n a.a-tag-topic:visited,\n a.a-tag-topic:hover,\n a.a-tag-topic:focus,\n a.a-tag-topic:active {\n border-bottom: none;\n outline-offset: 1px;\n }\n a.a-tag-topic .a-tag-topic__text,\n a.a-tag-topic:visited .a-tag-topic__text,\n a.a-tag-topic:hover .a-tag-topic__text,\n a.a-tag-topic:focus .a-tag-topic__text,\n a.a-tag-topic:active .a-tag-topic__text {\n padding-bottom: 1px;\n border-bottom: 1px dotted var(--gold-80);\n }\n a.a-tag-topic:hover .a-tag-topic__text {\n border-bottom: 1px solid var(--gold-80);\n }\n a.a-tag-topic:focus {\n outline-color: var(--gray);\n }\n a.a-tag-topic:focus .a-tag-topic__text {\n border-bottom-style: solid !important;\n }\n}\n.m-tag-group {\n padding-left: 0;\n list-style-type: none;\n}\n.m-tag-group li {\n margin-bottom: 0;\n display: contents;\n}\n@media only all and (min-width: 37.5625em) {\n .m-tag-group {\n display: flex;\n gap: 0.9375em;\n flex-wrap: wrap;\n }\n .m-tag-group--stacked {\n flex-direction: column;\n width: -moz-fit-content;\n width: fit-content;\n }\n}\n.m-tag-group:has(.a-tag-filter) {\n display: flex;\n gap: 0.9375em;\n flex-wrap: wrap;\n}\n\nhtml[lang=ar] .m-tag-group {\n direction: rtl;\n padding-right: 0;\n}", "/* ==========================================================================\n Design System\n Variables\n ========================================================================== */\n/* ==========================================================================\n Design System\n Breakpoint variables.\n\n NOTE: If any of the values in this file are adjusted,\n they need to be adjusted in vars-breakpoints.js as well.\n ========================================================================== */\n/* ==========================================================================\n Design System\n Grid mixins\n ========================================================================== */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* stylelint-disable selector-class-pattern */\n/* ==========================================================================\n Design System\n Media queries\n ========================================================================== */\n/* ==========================================================================\n Design System\n Base styles\n ========================================================================== */\n.a-text-input {\n appearance: none;\n display: inline-block;\n padding: 0.4375em;\n border: 1px solid var(--gray-60);\n background: var(--white);\n color: var(--black);\n box-sizing: border-box;\n}\n.a-text-input:hover, .a-text-input.hover {\n border-color: var(--pacific);\n outline: 1px solid var(--pacific);\n}\n.a-text-input:focus, .a-text-input.focus {\n border-color: var(--pacific);\n box-shadow: 0 0 0 1px var(--pacific);\n outline: 1px dotted var(--pacific);\n outline-offset: 2px;\n}\n.a-text-input:disabled, .a-text-input:disabled:hover, .a-text-input:disabled.hover, .a-text-input:disabled:focus, .a-text-input:disabled.focus {\n color: var(--gray-dark);\n background-color: var(--gray-10);\n cursor: not-allowed;\n border-color: var(--gray-60);\n outline: none;\n}\n.a-text-input--error {\n border-color: var(--red);\n outline: 1px solid var(--red);\n}\n.a-text-input--error:hover, .a-text-input--error.hover {\n border-color: var(--red-dark);\n outline: 1px solid var(--red-dark);\n outline-offset: 0;\n}\n.a-text-input--error:focus, .a-text-input--error.focus {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline: 1px dotted var(--red);\n}\n.a-text-input--error:focus:hover, .a-text-input--error:focus.hover, .a-text-input--error.focus:hover, .a-text-input--error.focus.hover {\n border-color: var(--red);\n box-shadow: 0 0 0 1px var(--red);\n outline: 1px dotted var(--red);\n outline-offset: 2px;\n}\n.a-text-input--warning {\n border-color: var(--gold);\n outline: 1px solid var(--gold);\n}\n.a-text-input--warning:hover, .a-text-input--warning.hover {\n border-color: var(--gold-dark);\n outline: 1px solid var(--gold-dark);\n outline-offset: 0;\n}\n.a-text-input--warning:focus, .a-text-input--warning.focus {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline: 1px dotted var(--gold);\n}\n.a-text-input--warning:focus:hover, .a-text-input--warning:focus.hover, .a-text-input--warning.focus:hover, .a-text-input--warning.focus.hover {\n border-color: var(--gold);\n box-shadow: 0 0 0 1px var(--gold);\n outline: 1px dotted var(--gold);\n outline-offset: 2px;\n}\n.a-text-input--success {\n border-color: var(--green);\n outline: 1px solid var(--green);\n}\n.a-text-input--success:hover, .a-text-input--success.hover {\n border-color: var(--green-dark);\n outline: 1px solid var(--green-dark);\n outline-offset: 0;\n}\n.a-text-input--success:focus, .a-text-input--success.focus {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline: 1px dotted var(--green);\n}\n.a-text-input--success:focus:hover, .a-text-input--success:focus.hover, .a-text-input--success.focus:hover, .a-text-input--success.focus.hover {\n border-color: var(--green);\n box-shadow: 0 0 0 1px var(--green);\n outline: 1px dotted var(--green);\n outline-offset: 2px;\n}\n\n::-webkit-search-decoration {\n appearance: none;\n}\n\n::placeholder {\n color: var(--gray-dark);\n}\n\ninput[type=date]::-webkit-datetime-edit {\n color: var(--gray-dark);\n}", "// Undefined return value for void methods.\nlet UNDEFINED;\n\n// How many options may be checked.\nexport const MAX_SELECTIONS = 5;\n\n/**\n * Escapes a string.\n * @param {string} str - The string to escape.\n * @returns {string} The escaped string.\n */\nfunction stringEscape(str) {\n return str.replace(/[-\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\n/**\n * Tests whether a string matches another.\n * @param {string} x - The control string.\n * @param {string} y - The comparison string.\n * @returns {boolean} True if `x` and `y` match, false otherwise.\n */\nfunction stringMatch(x, y) {\n return RegExp(stringEscape(y.trim()), 'i').test(x);\n}\n\n/**\n * @class\n * MultiselectModel\n * @param {HTMLOptionsCollection} options -\n * Set of options from a