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

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@gmail.com>2019-10-08 09:39:10 +0300
committerGitHub <noreply@github.com>2019-10-08 09:39:10 +0300
commit1770691b339bdbf17de5e8824158b358dc0284a9 (patch)
tree69ac7056dcc46fbf63497df93b6e69c623fb93d2 /dist
parent9c54d3579757aa1e4027ff8fb434a18c656d840c (diff)
Dist (#29484)
Diffstat (limited to 'dist')
-rw-r--r--dist/css/bootstrap-grid.css126
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-grid.min.css2
-rw-r--r--dist/css/bootstrap-grid.min.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css19
-rw-r--r--dist/css/bootstrap-reboot.css.map2
-rw-r--r--dist/css/bootstrap-reboot.min.css2
-rw-r--r--dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--dist/css/bootstrap-utilities.css22
-rw-r--r--dist/css/bootstrap-utilities.css.map2
-rw-r--r--dist/css/bootstrap-utilities.min.css2
-rw-r--r--dist/css/bootstrap-utilities.min.css.map2
-rw-r--r--dist/css/bootstrap.css517
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/css/bootstrap.min.css2
-rw-r--r--dist/css/bootstrap.min.css.map2
-rw-r--r--dist/js/bootstrap.bundle.js134
-rw-r--r--dist/js/bootstrap.bundle.js.map2
-rw-r--r--dist/js/bootstrap.bundle.min.js2
-rw-r--r--dist/js/bootstrap.bundle.min.js.map2
-rw-r--r--dist/js/bootstrap.esm.js134
-rw-r--r--dist/js/bootstrap.esm.js.map2
-rw-r--r--dist/js/bootstrap.esm.min.js2
-rw-r--r--dist/js/bootstrap.esm.min.js.map2
-rw-r--r--dist/js/bootstrap.js134
-rw-r--r--dist/js/bootstrap.js.map2
-rw-r--r--dist/js/bootstrap.min.js2
-rw-r--r--dist/js/bootstrap.min.js.map2
28 files changed, 665 insertions, 463 deletions
diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css
index ebfd450239..b0606513e4 100644
--- a/dist/css/bootstrap-grid.css
+++ b/dist/css/bootstrap-grid.css
@@ -114,6 +114,36 @@ html {
max-width: 100%;
}
+.row-cols-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+}
+
.col-auto {
flex: 0 0 auto;
width: auto;
@@ -230,6 +260,30 @@ html {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-sm-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-sm-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-sm-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-sm-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-sm-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-sm-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@@ -327,6 +381,30 @@ html {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-md-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-md-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-md-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-md-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-md-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-md-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-md-auto {
flex: 0 0 auto;
width: auto;
@@ -424,6 +502,30 @@ html {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-lg-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-lg-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-lg-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-lg-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-lg-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-lg-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@@ -521,6 +623,30 @@ html {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-xl-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-xl-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-xl-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-xl-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-xl-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-xl-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-xl-auto {
flex: 0 0 auto;
width: auto;
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index 7fcb4bbff9..ad80e4d834 100644
--- a/dist/css/bootstrap-grid.css.map
+++ b/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_variables.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;ACAxB;;ADGA;;;EAGE,mBAAmB;ACArB;;ACRE;ECDA,WAAW;EACX,mBCuN0C;EDtN1C,kBCsN0C;EDrN1C,kBAAkB;EAClB,iBAAiB;AFanB;;AIyCI;EHzDF;ICWI,gBCyLK;EH/KT;AACF;;AImCI;EHzDF;ICWI,gBC0LK;EH1KT;AACF;;AI6BI;EHzDF;ICWI,gBC2LK;EHrKT;AACF;;AIuBI;EHzDF;ICWI,iBC4LM;EHhKV;AACF;;AClCE;ECPA,WAAW;EACX,mBCuN0C;EDtN1C,kBCsN0C;EDrN1C,kBAAkB;EAClB,iBAAiB;AF6CnB;;AISI;EHxCE;IACE,gBEkLG;EH/IT;AACF;;AIGI;EHxCE;IACE,gBEmLG;EH1IT;AACF;;AIHI;EHxCE;IACE,gBEoLG;EHrIT;AACF;;AITI;EHxCE;IACE,iBEqLI;EHhIV;AACF;;AClCE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AF2D3B;;ACnCE;EACE,eAAe;EACf,cAAc;ADsClB;;ACxCE;;EAMI,gBAAgB;EAChB,eAAe;ADuCrB;;AKzFE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;ALiG7B;;AK9EM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;ALiFvB;;AK/EM;EACE,cAAc;EACd,WAAW;EACX,eAAe;ALkFvB;;AK9EQ;EHFN,mBAAsC;EAItC,oBAAuC;AFiFzC;;AKnFQ;EHFN,oBAAsC;EAItC,qBAAuC;AFsFzC;;AKxFQ;EHFN,aAAsC;EAItC,cAAuC;AF2FzC;;AK7FQ;EHFN,oBAAsC;EAItC,qBAAuC;AFgGzC;;AKlGQ;EHFN,oBAAsC;EAItC,qBAAuC;AFqGzC;;AKvGQ;EHFN,aAAsC;EAItC,cAAuC;AF0GzC;;AK5GQ;EHFN,oBAAsC;EAItC,qBAAuC;AF+GzC;;AKjHQ;EHFN,oBAAsC;EAItC,qBAAuC;AFoHzC;;AKtHQ;EHFN,aAAsC;EAItC,cAAuC;AFyHzC;;AK3HQ;EHFN,oBAAsC;EAItC,qBAAuC;AF8HzC;;AKhIQ;EHFN,oBAAsC;EAItC,qBAAuC;AFmIzC;;AKrIQ;EHFN,cAAsC;EAItC,eAAuC;AFwIzC;;AKlIU;EHDR,sBAA8C;AFuIhD;;AKtIU;EHDR,uBAA8C;AF2IhD;;AK1IU;EHDR,gBAA8C;AF+IhD;;AK9IU;EHDR,uBAA8C;AFmJhD;;AKlJU;EHDR,uBAA8C;AFuJhD;;AKtJU;EHDR,gBAA8C;AF2JhD;;AK1JU;EHDR,uBAA8C;AF+JhD;;AK9JU;EHDR,uBAA8C;AFmKhD;;AKlKU;EHDR,gBAA8C;AFuKhD;;AKtKU;EHDR,uBAA8C;AF2KhD;;AK1KU;EHDR,uBAA8C;AF+KhD;;AIjKI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELsMrB;EKpMI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELsMrB;EKlMM;IHFN,mBAAsC;IAItC,oBAAuC;EFoMvC;EKtMM;IHFN,oBAAsC;IAItC,qBAAuC;EFwMvC;EK1MM;IHFN,aAAsC;IAItC,cAAuC;EF4MvC;EK9MM;IHFN,oBAAsC;IAItC,qBAAuC;EFgNvC;EKlNM;IHFN,oBAAsC;IAItC,qBAAuC;EFoNvC;EKtNM;IHFN,aAAsC;IAItC,cAAuC;EFwNvC;EK1NM;IHFN,oBAAsC;IAItC,qBAAuC;EF4NvC;EK9NM;IHFN,oBAAsC;IAItC,qBAAuC;EFgOvC;EKlOM;IHFN,aAAsC;IAItC,cAAuC;EFoOvC;EKtOM;IHFN,oBAAsC;IAItC,qBAAuC;EFwOvC;EK1OM;IHFN,oBAAsC;IAItC,qBAAuC;EF4OvC;EK9OM;IHFN,cAAsC;IAItC,eAAuC;EFgPvC;EK1OQ;IHDR,cAA4B;EF8O5B;EK7OQ;IHDR,sBAA8C;EFiP9C;EKhPQ;IHDR,uBAA8C;EFoP9C;EKnPQ;IHDR,gBAA8C;EFuP9C;EKtPQ;IHDR,uBAA8C;EF0P9C;EKzPQ;IHDR,uBAA8C;EF6P9C;EK5PQ;IHDR,gBAA8C;EFgQ9C;EK/PQ;IHDR,uBAA8C;EFmQ9C;EKlQQ;IHDR,uBAA8C;EFsQ9C;EKrQQ;IHDR,gBAA8C;EFyQ9C;EKxQQ;IHDR,uBAA8C;EF4Q9C;EK3QQ;IHDR,uBAA8C;EF+Q9C;AACF;;AIlQI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELuSrB;EKrSI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELuSrB;EKnSM;IHFN,mBAAsC;IAItC,oBAAuC;EFqSvC;EKvSM;IHFN,oBAAsC;IAItC,qBAAuC;EFySvC;EK3SM;IHFN,aAAsC;IAItC,cAAuC;EF6SvC;EK/SM;IHFN,oBAAsC;IAItC,qBAAuC;EFiTvC;EKnTM;IHFN,oBAAsC;IAItC,qBAAuC;EFqTvC;EKvTM;IHFN,aAAsC;IAItC,cAAuC;EFyTvC;EK3TM;IHFN,oBAAsC;IAItC,qBAAuC;EF6TvC;EK/TM;IHFN,oBAAsC;IAItC,qBAAuC;EFiUvC;EKnUM;IHFN,aAAsC;IAItC,cAAuC;EFqUvC;EKvUM;IHFN,oBAAsC;IAItC,qBAAuC;EFyUvC;EK3UM;IHFN,oBAAsC;IAItC,qBAAuC;EF6UvC;EK/UM;IHFN,cAAsC;IAItC,eAAuC;EFiVvC;EK3UQ;IHDR,cAA4B;EF+U5B;EK9UQ;IHDR,sBAA8C;EFkV9C;EKjVQ;IHDR,uBAA8C;EFqV9C;EKpVQ;IHDR,gBAA8C;EFwV9C;EKvVQ;IHDR,uBAA8C;EF2V9C;EK1VQ;IHDR,uBAA8C;EF8V9C;EK7VQ;IHDR,gBAA8C;EFiW9C;EKhWQ;IHDR,uBAA8C;EFoW9C;EKnWQ;IHDR,uBAA8C;EFuW9C;EKtWQ;IHDR,gBAA8C;EF0W9C;EKzWQ;IHDR,uBAA8C;EF6W9C;EK5WQ;IHDR,uBAA8C;EFgX9C;AACF;;AInWI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELwYrB;EKtYI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELwYrB;EKpYM;IHFN,mBAAsC;IAItC,oBAAuC;EFsYvC;EKxYM;IHFN,oBAAsC;IAItC,qBAAuC;EF0YvC;EK5YM;IHFN,aAAsC;IAItC,cAAuC;EF8YvC;EKhZM;IHFN,oBAAsC;IAItC,qBAAuC;EFkZvC;EKpZM;IHFN,oBAAsC;IAItC,qBAAuC;EFsZvC;EKxZM;IHFN,aAAsC;IAItC,cAAuC;EF0ZvC;EK5ZM;IHFN,oBAAsC;IAItC,qBAAuC;EF8ZvC;EKhaM;IHFN,oBAAsC;IAItC,qBAAuC;EFkavC;EKpaM;IHFN,aAAsC;IAItC,cAAuC;EFsavC;EKxaM;IHFN,oBAAsC;IAItC,qBAAuC;EF0avC;EK5aM;IHFN,oBAAsC;IAItC,qBAAuC;EF8avC;EKhbM;IHFN,cAAsC;IAItC,eAAuC;EFkbvC;EK5aQ;IHDR,cAA4B;EFgb5B;EK/aQ;IHDR,sBAA8C;EFmb9C;EKlbQ;IHDR,uBAA8C;EFsb9C;EKrbQ;IHDR,gBAA8C;EFyb9C;EKxbQ;IHDR,uBAA8C;EF4b9C;EK3bQ;IHDR,uBAA8C;EF+b9C;EK9bQ;IHDR,gBAA8C;EFkc9C;EKjcQ;IHDR,uBAA8C;EFqc9C;EKpcQ;IHDR,uBAA8C;EFwc9C;EKvcQ;IHDR,gBAA8C;EF2c9C;EK1cQ;IHDR,uBAA8C;EF8c9C;EK7cQ;IHDR,uBAA8C;EFid9C;AACF;;AIpcI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELyerB;EKveI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELyerB;EKreM;IHFN,mBAAsC;IAItC,oBAAuC;EFuevC;EKzeM;IHFN,oBAAsC;IAItC,qBAAuC;EF2evC;EK7eM;IHFN,aAAsC;IAItC,cAAuC;EF+evC;EKjfM;IHFN,oBAAsC;IAItC,qBAAuC;EFmfvC;EKrfM;IHFN,oBAAsC;IAItC,qBAAuC;EFufvC;EKzfM;IHFN,aAAsC;IAItC,cAAuC;EF2fvC;EK7fM;IHFN,oBAAsC;IAItC,qBAAuC;EF+fvC;EKjgBM;IHFN,oBAAsC;IAItC,qBAAuC;EFmgBvC;EKrgBM;IHFN,aAAsC;IAItC,cAAuC;EFugBvC;EKzgBM;IHFN,oBAAsC;IAItC,qBAAuC;EF2gBvC;EK7gBM;IHFN,oBAAsC;IAItC,qBAAuC;EF+gBvC;EKjhBM;IHFN,cAAsC;IAItC,eAAuC;EFmhBvC;EK7gBQ;IHDR,cAA4B;EFihB5B;EKhhBQ;IHDR,sBAA8C;EFohB9C;EKnhBQ;IHDR,uBAA8C;EFuhB9C;EKthBQ;IHDR,gBAA8C;EF0hB9C;EKzhBQ;IHDR,uBAA8C;EF6hB9C;EK5hBQ;IHDR,uBAA8C;EFgiB9C;EK/hBQ;IHDR,gBAA8C;EFmiB9C;EKliBQ;IHDR,uBAA8C;EFsiB9C;EKriBQ;IHDR,uBAA8C;EFyiB9C;EKxiBQ;IHDR,gBAA8C;EF4iB9C;EK3iBQ;IHDR,uBAA8C;EF+iB9C;EK9iBQ;IHDR,uBAA8C;EFkjB9C;AACF;;AMzkBI;EAGI,wBAA+B;AN0kBvC;;AM7kBI;EAGI,0BAA+B;AN8kBvC;;AMjlBI;EAGI,gCAA+B;ANklBvC;;AMrlBI;EAGI,yBAA+B;ANslBvC;;AMzlBI;EAGI,yBAA+B;AN0lBvC;;AM7lBI;EAGI,6BAA+B;AN8lBvC;;AMjmBI;EAGI,8BAA+B;ANkmBvC;;AMrmBI;EAGI,wBAA+B;ANsmBvC;;AMzmBI;EAGI,+BAA+B;AN0mBvC;;AM7mBI;EAGI,yBAA+B;AN8mBvC;;AMjnBI;EAGI,8BAA+B;ANknBvC;;AMrnBI;EAGI,iCAA+B;ANsnBvC;;AMznBI;EAGI,sCAA+B;AN0nBvC;;AM7nBI;EAGI,yCAA+B;AN8nBvC;;AMjoBI;EAGI,uBAA+B;ANkoBvC;;AMroBI;EAGI,uBAA+B;ANsoBvC;;AMzoBI;EAGI,sCAA+B;AN0oBvC;;AM7oBI;EAGI,oCAA+B;AN8oBvC;;AMjpBI;EAGI,kCAA+B;ANkpBvC;;AMrpBI;EAGI,yCAA+B;ANspBvC;;AMzpBI;EAGI,wCAA+B;AN0pBvC;;AM7pBI;EAGI,kCAA+B;AN8pBvC;;AMjqBI;EAGI,gCAA+B;ANkqBvC;;AMrqBI;EAGI,8BAA+B;ANsqBvC;;AMzqBI;EAGI,gCAA+B;AN0qBvC;;AM7qBI;EAGI,+BAA+B;AN8qBvC;;AMjrBI;EAGI,oCAA+B;ANkrBvC;;AMrrBI;EAGI,kCAA+B;ANsrBvC;;AMzrBI;EAGI,gCAA+B;AN0rBvC;;AM7rBI;EAGI,uCAA+B;AN8rBvC;;AMjsBI;EAGI,sCAA+B;ANksBvC;;AMrsBI;EAGI,iCAA+B;ANssBvC;;AMzsBI;EAGI,2BAA+B;AN0sBvC;;AM7sBI;EAGI,iCAA+B;AN8sBvC;;AMjtBI;EAGI,+BAA+B;ANktBvC;;AMrtBI;EAGI,6BAA+B;ANstBvC;;AMztBI;EAGI,+BAA+B;AN0tBvC;;AM7tBI;EAGI,8BAA+B;AN8tBvC;;AMjuBI;EAGI,oBAA+B;ANkuBvC;;AMruBI;EAGI,mBAA+B;ANsuBvC;;AMzuBI;EAGI,mBAA+B;AN0uBvC;;AM7uBI;EAGI,mBAA+B;AN8uBvC;;AMjvBI;EAGI,mBAA+B;ANkvBvC;;AMrvBI;EAGI,mBAA+B;ANsvBvC;;AMzvBI;EAGI,mBAA+B;AN0vBvC;;AM7vBI;EAGI,mBAA+B;AN8vBvC;;AMjwBI;EAGI,oBAA+B;ANkwBvC;;AMrwBI;EAGI,0BAA+B;ANswBvC;;AMzwBI;EAGI,yBAA+B;AN0wBvC;;AM7wBI;EAGI,uBAA+B;AN8wBvC;;AMjxBI;EAGI,yBAA+B;ANkxBvC;;AMrxBI;EAGI,uBAA+B;ANsxBvC;;AMzxBI;EAGI,uBAA+B;AN0xBvC;;AM7xBI;EAGI,0BAA+B;EAA/B,yBAA+B;AN+xBvC;;AMlyBI;EAGI,gCAA+B;EAA/B,+BAA+B;ANoyBvC;;AMvyBI;EAGI,+BAA+B;EAA/B,8BAA+B;ANyyBvC;;AM5yBI;EAGI,6BAA+B;EAA/B,4BAA+B;AN8yBvC;;AMjzBI;EAGI,+BAA+B;EAA/B,8BAA+B;ANmzBvC;;AMtzBI;EAGI,6BAA+B;EAA/B,4BAA+B;ANwzBvC;;AM3zBI;EAGI,6BAA+B;EAA/B,4BAA+B;AN6zBvC;;AMh0BI;EAGI,wBAA+B;EAA/B,2BAA+B;ANk0BvC;;AMr0BI;EAGI,8BAA+B;EAA/B,iCAA+B;ANu0BvC;;AM10BI;EAGI,6BAA+B;EAA/B,gCAA+B;AN40BvC;;AM/0BI;EAGI,2BAA+B;EAA/B,8BAA+B;ANi1BvC;;AMp1BI;EAGI,6BAA+B;EAA/B,gCAA+B;ANs1BvC;;AMz1BI;EAGI,2BAA+B;EAA/B,8BAA+B;AN21BvC;;AM91BI;EAGI,2BAA+B;EAA/B,8BAA+B;ANg2BvC;;AMn2BI;EAGI,wBAA+B;ANo2BvC;;AMv2BI;EAGI,8BAA+B;ANw2BvC;;AM32BI;EAGI,6BAA+B;AN42BvC;;AM/2BI;EAGI,2BAA+B;ANg3BvC;;AMn3BI;EAGI,6BAA+B;ANo3BvC;;AMv3BI;EAGI,2BAA+B;ANw3BvC;;AM33BI;EAGI,2BAA+B;AN43BvC;;AM/3BI;EAGI,0BAA+B;ANg4BvC;;AMn4BI;EAGI,gCAA+B;ANo4BvC;;AMv4BI;EAGI,+BAA+B;ANw4BvC;;AM34BI;EAGI,6BAA+B;AN44BvC;;AM/4BI;EAGI,+BAA+B;ANg5BvC;;AMn5BI;EAGI,6BAA+B;ANo5BvC;;AMv5BI;EAGI,6BAA+B;ANw5BvC;;AM35BI;EAGI,2BAA+B;AN45BvC;;AM/5BI;EAGI,iCAA+B;ANg6BvC;;AMn6BI;EAGI,gCAA+B;ANo6BvC;;AMv6BI;EAGI,8BAA+B;ANw6BvC;;AM36BI;EAGI,gCAA+B;AN46BvC;;AM/6BI;EAGI,8BAA+B;ANg7BvC;;AMn7BI;EAGI,8BAA+B;ANo7BvC;;AMv7BI;EAGI,yBAA+B;ANw7BvC;;AM37BI;EAGI,+BAA+B;AN47BvC;;AM/7BI;EAGI,8BAA+B;ANg8BvC;;AMn8BI;EAGI,4BAA+B;ANo8BvC;;AMv8BI;EAGI,8BAA+B;ANw8BvC;;AM38BI;EAGI,4BAA+B;AN48BvC;;AM/8BI;EAGI,4BAA+B;ANg9BvC;;AMn9BI;EAGI,2BAA+B;ANo9BvC;;AMv9BI;EAGI,0BAA+B;ANw9BvC;;AM39BI;EAGI,wBAA+B;AN49BvC;;AM/9BI;EAGI,0BAA+B;ANg+BvC;;AMn+BI;EAGI,wBAA+B;ANo+BvC;;AMv+BI;EAGI,iCAA+B;EAA/B,gCAA+B;ANy+BvC;;AM5+BI;EAGI,gCAA+B;EAA/B,+BAA+B;AN8+BvC;;AMj/BI;EAGI,8BAA+B;EAA/B,6BAA+B;ANm/BvC;;AMt/BI;EAGI,gCAA+B;EAA/B,+BAA+B;ANw/BvC;;AM3/BI;EAGI,8BAA+B;EAA/B,6BAA+B;AN6/BvC;;AMhgCI;EAGI,+BAA+B;EAA/B,kCAA+B;ANkgCvC;;AMrgCI;EAGI,8BAA+B;EAA/B,iCAA+B;ANugCvC;;AM1gCI;EAGI,4BAA+B;EAA/B,+BAA+B;AN4gCvC;;AM/gCI;EAGI,8BAA+B;EAA/B,iCAA+B;ANihCvC;;AMphCI;EAGI,4BAA+B;EAA/B,+BAA+B;ANshCvC;;AMzhCI;EAGI,+BAA+B;AN0hCvC;;AM7hCI;EAGI,8BAA+B;AN8hCvC;;AMjiCI;EAGI,4BAA+B;ANkiCvC;;AMriCI;EAGI,8BAA+B;ANsiCvC;;AMziCI;EAGI,4BAA+B;AN0iCvC;;AM7iCI;EAGI,iCAA+B;AN8iCvC;;AMjjCI;EAGI,gCAA+B;ANkjCvC;;AMrjCI;EAGI,8BAA+B;ANsjCvC;;AMzjCI;EAGI,gCAA+B;AN0jCvC;;AM7jCI;EAGI,8BAA+B;AN8jCvC;;AMjkCI;EAGI,kCAA+B;ANkkCvC;;AMrkCI;EAGI,iCAA+B;ANskCvC;;AMzkCI;EAGI,+BAA+B;AN0kCvC;;AM7kCI;EAGI,iCAA+B;AN8kCvC;;AMjlCI;EAGI,+BAA+B;ANklCvC;;AMrlCI;EAGI,gCAA+B;ANslCvC;;AMzlCI;EAGI,+BAA+B;AN0lCvC;;AM7lCI;EAGI,6BAA+B;AN8lCvC;;AMjmCI;EAGI,+BAA+B;ANkmCvC;;AMrmCI;EAGI,6BAA+B;ANsmCvC;;AMzmCI;EAGI,qBAA+B;AN0mCvC;;AM7mCI;EAGI,2BAA+B;AN8mCvC;;AMjnCI;EAGI,0BAA+B;ANknCvC;;AMrnCI;EAGI,wBAA+B;ANsnCvC;;AMznCI;EAGI,0BAA+B;AN0nCvC;;AM7nCI;EAGI,wBAA+B;AN8nCvC;;AMjoCI;EAGI,2BAA+B;EAA/B,0BAA+B;ANmoCvC;;AMtoCI;EAGI,iCAA+B;EAA/B,gCAA+B;ANwoCvC;;AM3oCI;EAGI,gCAA+B;EAA/B,+BAA+B;AN6oCvC;;AMhpCI;EAGI,8BAA+B;EAA/B,6BAA+B;ANkpCvC;;AMrpCI;EAGI,gCAA+B;EAA/B,+BAA+B;ANupCvC;;AM1pCI;EAGI,8BAA+B;EAA/B,6BAA+B;AN4pCvC;;AM/pCI;EAGI,yBAA+B;EAA/B,4BAA+B;ANiqCvC;;AMpqCI;EAGI,+BAA+B;EAA/B,kCAA+B;ANsqCvC;;AMzqCI;EAGI,8BAA+B;EAA/B,iCAA+B;AN2qCvC;;AM9qCI;EAGI,4BAA+B;EAA/B,+BAA+B;ANgrCvC;;AMnrCI;EAGI,8BAA+B;EAA/B,iCAA+B;ANqrCvC;;AMxrCI;EAGI,4BAA+B;EAA/B,+BAA+B;AN0rCvC;;AM7rCI;EAGI,yBAA+B;AN8rCvC;;AMjsCI;EAGI,+BAA+B;ANksCvC;;AMrsCI;EAGI,8BAA+B;ANssCvC;;AMzsCI;EAGI,4BAA+B;AN0sCvC;;AM7sCI;EAGI,8BAA+B;AN8sCvC;;AMjtCI;EAGI,4BAA+B;ANktCvC;;AMrtCI;EAGI,2BAA+B;ANstCvC;;AMztCI;EAGI,iCAA+B;AN0tCvC;;AM7tCI;EAGI,gCAA+B;AN8tCvC;;AMjuCI;EAGI,8BAA+B;ANkuCvC;;AMruCI;EAGI,gCAA+B;ANsuCvC;;AMzuCI;EAGI,8BAA+B;AN0uCvC;;AM7uCI;EAGI,4BAA+B;AN8uCvC;;AMjvCI;EAGI,kCAA+B;ANkvCvC;;AMrvCI;EAGI,iCAA+B;ANsvCvC;;AMzvCI;EAGI,+BAA+B;AN0vCvC;;AM7vCI;EAGI,iCAA+B;AN8vCvC;;AMjwCI;EAGI,+BAA+B;ANkwCvC;;AMrwCI;EAGI,0BAA+B;ANswCvC;;AMzwCI;EAGI,gCAA+B;AN0wCvC;;AM7wCI;EAGI,+BAA+B;AN8wCvC;;AMjxCI;EAGI,6BAA+B;ANkxCvC;;AMrxCI;EAGI,+BAA+B;ANsxCvC;;AMzxCI;EAGI,6BAA+B;AN0xCvC;;AIzvCI;EEpCA;IAGI,wBAA+B;EN+xCrC;EMlyCE;IAGI,0BAA+B;ENkyCrC;EMryCE;IAGI,gCAA+B;ENqyCrC;EMxyCE;IAGI,yBAA+B;ENwyCrC;EM3yCE;IAGI,yBAA+B;EN2yCrC;EM9yCE;IAGI,6BAA+B;EN8yCrC;EMjzCE;IAGI,8BAA+B;ENizCrC;EMpzCE;IAGI,wBAA+B;ENozCrC;EMvzCE;IAGI,+BAA+B;ENuzCrC;EM1zCE;IAGI,yBAA+B;EN0zCrC;EM7zCE;IAGI,8BAA+B;EN6zCrC;EMh0CE;IAGI,iCAA+B;ENg0CrC;EMn0CE;IAGI,sCAA+B;ENm0CrC;EMt0CE;IAGI,yCAA+B;ENs0CrC;EMz0CE;IAGI,uBAA+B;ENy0CrC;EM50CE;IAGI,uBAA+B;EN40CrC;EM/0CE;IAGI,sCAA+B;EN+0CrC;EMl1CE;IAGI,oCAA+B;ENk1CrC;EMr1CE;IAGI,kCAA+B;ENq1CrC;EMx1CE;IAGI,yCAA+B;ENw1CrC;EM31CE;IAGI,wCAA+B;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ENk2DrC;EMr2DE;IAGI,yBAA+B;ENq2DrC;EMx2DE;IAGI,8BAA+B;ENw2DrC;EM32DE;IAGI,iCAA+B;EN22DrC;EM92DE;IAGI,sCAA+B;EN82DrC;EMj3DE;IAGI,yCAA+B;ENi3DrC;EMp3DE;IAGI,uBAA+B;ENo3DrC;EMv3DE;IAGI,uBAA+B;ENu3DrC;EM13DE;IAGI,sCAA+B;EN03DrC;EM73DE;IAGI,oCAA+B;EN63DrC;EMh4DE;IAGI,kCAA+B;ENg4DrC;EMn4DE;IAGI,yCAA+B;ENm4DrC;EMt4DE;IAGI,wCAA+B;ENs4DrC;EMz4DE;IAGI,kCAA+B;ENy4DrC;EM54DE;IAGI,gCAA+B;EN44DrC;EM/4DE;IAGI,8BAA+B;EN+4DrC;EMl5DE;IAGI,gCAA+B;ENk5DrC;EMr5DE;IAGI,+BAA+B;ENq5DrC;EMx5DE;IAGI,oCAA+B;ENw5DrC;EM35DE;IAGI,kCAA+B;EN25DrC;EM95DE;IAGI,gCAA+B;EN85DrC;EMj6DE;IAGI,uCAA+B;ENi6DrC;EMp6DE;IAGI,sCAA+B;ENo6DrC;EMv6DE;IAGI,iCAA+B;ENu6DrC;EM16DE;IAGI,2BAA+B;EN06DrC;EM76DE;IAGI,iCAA+B;EN66DrC;EMh7DE;IAGI,+BAA+B;ENg7DrC;EMn7DE;IAGI,6BAA+B;ENm7DrC;EMt7DE;IAGI,+BAA+B;ENs7DrC;EMz7DE;IAGI,8BAA+B;ENy7DrC;EM57DE;IAGI,oBAA+B;EN47DrC;EM/7DE;IAGI,mBAA+B;EN+7DrC;EMl8DE;IAGI,mBAA+B;ENk8DrC;EMr8DE;IAGI,mBAA+B;ENq8DrC;EMx8DE;IAGI,mBAA+B;ENw8DrC;EM38DE;IAGI,mBAA+B;EN28DrC;EM98DE;IAGI,mBAA+B;EN88DrC;EMj9DE;IAGI,mBAA+B;ENi9DrC;EMp9DE;IAGI,oBAA+B;ENo9DrC;EMv9DE;IAGI,0BAA+B;ENu9DrC;EM19DE;IAGI,yBAA+B;EN09DrC;EM79DE;IAGI,uBAA+B;EN69DrC;EMh+DE;IAGI,yBAA+B;ENg+DrC;EMn+DE;IAGI,uBAA+B;ENm+DrC;EMt+DE;IAGI,uBAA+B;ENs+DrC;EMz+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EE;IAGI,6BAA+B;ENy2ErC;EM52EE;IAGI,+BAA+B;EN42ErC;EM/2EE;IAGI,6BAA+B;EN+2ErC;AACF;;AI/0EI;EEpCA;IAGI,wBAA+B;ENq3ErC;EMx3EE;IAGI,0BAA+B;ENw3ErC;EM33EE;IAGI,gCAA+B;EN23ErC;EM93EE;IAGI,yBAA+B;EN83ErC;EMj4EE;IAGI,yBAA+B;ENi4ErC;EMp4EE;IAGI,6BAA+B;ENo4ErC;EMv4EE;IAGI,8BAA+B;ENu4ErC;EM14EE;IAGI,wBAA+B;EN04ErC;EM74EE;IAGI,+BAA+B;EN64ErC;EMh5EE;IAGI,yBAA+B;ENg5ErC;EMn5EE;IAGI,8BAA+B;ENm5ErC;EMt5EE;IAGI,iCAA+B;ENs5ErC;EMz5EE;IAGI,sCAA+B;ENy5ErC;EM55EE;IAGI,yCAA+B;EN45ErC;EM/5EE;IAGI,uBAA+B;EN+5ErC;EMl6EE;IAGI,uBAA+B;ENk6ErC;EMr6EE;IAGI,sCAA+B;ENq6ErC;EMx6EE;IAGI,oCAA+B;ENw6ErC;EM36EE;IAGI,kCAA+B;EN26ErC;EM96EE;IAGI,yCAA+B;EN86ErC;EMj7EE;IAGI,wCAA+B;ENi7ErC;EMp7EE;IAGI,kCAA+B;ENo7ErC;EMv7EE;IAGI,gCAA+B;ENu7ErC;EM17EE;IAGI,8BAA+B;EN07ErC;EM77EE;IAGI,gCAA+B;EN67ErC;EMh8EE;IAGI,+BAA+B;ENg8ErC;EMn8EE;IAGI,oCAA+B;ENm8ErC;EMt8EE;IAGI,kCAA+B;ENs8ErC;EMz8EE;IAGI,gCAA+B;ENy8ErC;EM58EE;IAGI,uCAA+B;EN48ErC;EM/8EE;IAGI,sCAA+B;EN+8ErC;EMl9EE;IAGI,iCAA+B;ENk9ErC;EMr9EE;IAGI,2BAA+B;ENq9ErC;EMx9EE;IAGI,iCAA+B;ENw9ErC;EM39EE;IAGI,+BAA+B;EN29ErC;EM99EE;IAGI,6BAA+B;EN89ErC;EMj+EE;IAGI,+BAA+B;ENi+ErC;EMp+EE;IAGI,8BAA+B;ENo+ErC;EMv+EE;IAGI,oBAA+B;ENu+ErC;EM1+EE;IAGI,mBAA+B;EN0+ErC;EM7+EE;IAGI,mBAA+B;EN6+ErC;EMh/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FE;IAGI,8BAA+B;ENg3FrC;EMn3FE;IAGI,gCAA+B;ENm3FrC;EMt3FE;IAGI,8BAA+B;ENs3FrC;EMz3FE;IAGI,4BAA+B;ENy3FrC;EM53FE;IAGI,kCAA+B;EN43FrC;EM/3FE;IAGI,iCAA+B;EN+3FrC;EMl4FE;IAGI,+BAA+B;ENk4FrC;EMr4FE;IAGI,iCAA+B;ENq4FrC;EMx4FE;IAGI,+BAA+B;ENw4FrC;EM34FE;IAGI,0BAA+B;EN24FrC;EM94FE;IAGI,gCAA+B;EN84FrC;EMj5FE;IAGI,+BAA+B;ENi5FrC;EMp5FE;IAGI,6BAA+B;ENo5FrC;EMv5FE;IAGI,+BAA+B;ENu5FrC;EM15FE;IAGI,6BAA+B;EN05FrC;AACF;;AI13FI;EEpCA;IAGI,wBAA+B;ENg6FrC;EMn6FE;IAGI,0BAA+B;ENm6FrC;EMt6FE;IAGI,gCAA+B;ENs6FrC;EMz6FE;IAGI,yBAA+B;ENy6FrC;EM56FE;IAGI,yBAA+B;EN46FrC;EM/6FE;IAGI,6BAA+B;EN+6FrC;EMl7FE;IAGI,8BAA+B;ENk7FrC;EMr7FE;IAGI,wBAA+B;ENq7FrC;EMx7FE;IAGI,+BAA+B;ENw7FrC;EM37FE;IAGI,yBAA+B;EN27FrC;EM97FE;IAGI,8BAA+B;EN87FrC;EMj8FE;IAGI,iCAA+B;ENi8FrC;EMp8FE;IAGI,sCAA+B;ENo8FrC;EMv8FE;IAGI,yCAA+B;ENu8FrC;EM18FE;IAGI,uBAA+B;EN08FrC;EM78FE;IAGI,uBAA+B;EN68FrC;EMh9FE;IAGI,sCAA+B;ENg9FrC;EMn9FE;IAGI,oCAA+B;ENm9FrC;EMt9FE;IAGI,kCAA+B;ENs9FrC;EMz9FE;IAGI,yCAA+B;ENy9FrC;EM59FE;IAGI,wCAA+B;EN49FrC;EM/9FE;IAGI,kCAA+B;EN+9FrC;EMl+FE;IAGI,gCAA+B;ENk+FrC;EMr+FE;IAGI,8BAA+B;ENq+FrC;EMx+FE;IAGI,gCAA+B;ENw+FrC;EM3+FE;IAGI,+BAA+B;EN2+FrC;EM9+FE;IAGI,oCAA+B;EN8+FrC;EMj/FE;IAGI,kCAA+B;ENi/FrC;EMp/FE;IAGI,gCAA+B;ENo/FrC;EMv/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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_variables.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ADEF;EACE,sBAAsB;ACAxB;;ADGA;;;EAGE,mBAAmB;ACArB;;ACRE;ECDA,WAAW;EACX,mBCwN0C;EDvN1C,kBCuN0C;EDtN1C,kBAAkB;EAClB,iBAAiB;AFanB;;AIyCI;EHzDF;ICWI,gBCyLK;EH/KT;AACF;;AImCI;EHzDF;ICWI,gBC0LK;EH1KT;AACF;;AI6BI;EHzDF;ICWI,gBC2LK;EHrKT;AACF;;AIuBI;EHzDF;ICWI,iBC4LM;EHhKV;AACF;;AClCE;ECPA,WAAW;EACX,mBCwN0C;EDvN1C,kBCuN0C;EDtN1C,kBAAkB;EAClB,iBAAiB;AF6CnB;;AISI;EHxCE;IACE,gBEkLG;EH/IT;AACF;;AIGI;EHxCE;IACE,gBEmLG;EH1IT;AACF;;AIHI;EHxCE;IACE,gBEoLG;EHrIT;AACF;;AITI;EHxCE;IACE,iBEqLI;EHhIV;AACF;;AClCE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AF2D3B;;ACnCE;EACE,eAAe;EACf,cAAc;ADsClB;;ACxCE;;EAMI,gBAAgB;EAChB,eAAe;ADuCrB;;AKzFE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;ALiG7B;;AK9EM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;ALiFvB;;AK7EQ;EHsBJ,cAAuB;EACvB,eAAwB;AF2D5B;;AKlFQ;EHsBJ,aAAuB;EACvB,cAAwB;AFgE5B;;AKvFQ;EHsBJ,oBAAuB;EACvB,qBAAwB;AFqE5B;;AK5FQ;EHsBJ,aAAuB;EACvB,cAAwB;AF0E5B;;AKjGQ;EHsBJ,aAAuB;EACvB,cAAwB;AF+E5B;;AKtGQ;EHsBJ,oBAAuB;EACvB,qBAAwB;AFoF5B;;AKtGM;EACE,cAAc;EACd,WAAW;EACX,eAAe;ALyGvB;;AKrGQ;EHTN,mBAAsC;EAItC,oBAAuC;AF+GzC;;AK1GQ;EHTN,oBAAsC;EAItC,qBAAuC;AFoHzC;;AK/GQ;EHTN,aAAsC;EAItC,cAAuC;AFyHzC;;AKpHQ;EHTN,oBAAsC;EAItC,qBAAuC;AF8HzC;;AKzHQ;EHTN,oBAAsC;EAItC,qBAAuC;AFmIzC;;AK9HQ;EHTN,aAAsC;EAItC,cAAuC;AFwIzC;;AKnIQ;EHTN,oBAAsC;EAItC,qBAAuC;AF6IzC;;AKxIQ;EHTN,oBAAsC;EAItC,qBAAuC;AFkJzC;;AK7IQ;EHTN,aAAsC;EAItC,cAAuC;AFuJzC;;AKlJQ;EHTN,oBAAsC;EAItC,qBAAuC;AF4JzC;;AKvJQ;EHTN,oBAAsC;EAItC,qBAAuC;AFiKzC;;AK5JQ;EHTN,cAAsC;EAItC,eAAuC;AFsKzC;;AKzJU;EHRR,sBAA8C;AFqKhD;;AK7JU;EHRR,uBAA8C;AFyKhD;;AKjKU;EHRR,gBAA8C;AF6KhD;;AKrKU;EHRR,uBAA8C;AFiLhD;;AKzKU;EHRR,uBAA8C;AFqLhD;;AK7KU;EHRR,gBAA8C;AFyLhD;;AKjLU;EHRR,uBAA8C;AF6LhD;;AKrLU;EHRR,uBAA8C;AFiMhD;;AKzLU;EHRR,gBAA8C;AFqMhD;;AK7LU;EHRR,uBAA8C;AFyMhD;;AKjMU;EHRR,uBAA8C;AF6MhD;;AI/LI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELoOrB;EKhOM;IHsBJ,cAAuB;IACvB,eAAwB;EF6M1B;EKpOM;IHsBJ,aAAuB;IACvB,cAAwB;EFiN1B;EKxOM;IHsBJ,oBAAuB;IACvB,qBAAwB;EFqN1B;EK5OM;IHsBJ,aAAuB;IACvB,cAAwB;EFyN1B;EKhPM;IHsBJ,aAAuB;IACvB,cAAwB;EF6N1B;EKpPM;IHsBJ,oBAAuB;IACvB,qBAAwB;EFiO1B;EKnPI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELqPrB;EKjPM;IHTN,mBAAsC;IAItC,oBAAuC;EF0PvC;EKrPM;IHTN,oBAAsC;IAItC,qBAAuC;EF8PvC;EKzPM;IHTN,aAAsC;IAItC,cAAuC;EFkQvC;EK7PM;IHTN,oBAAsC;IAItC,qBAAuC;EFsQvC;EKjQM;IHTN,oBAAsC;IAItC,qBAAuC;EF0QvC;EKrQM;IHTN,aAAsC;IAItC,cAAuC;EF8QvC;EKzQM;IHTN,oBAAsC;IAItC,qBAAuC;EFkRvC;EK7QM;IHTN,oBAAsC;IAItC,qBAAuC;EFsRvC;EKjRM;IHTN,aAAsC;IAItC,cAAuC;EF0RvC;EKrRM;IHTN,oBAAsC;IAItC,qBAAuC;EF8RvC;EKzRM;IHTN,oBAAsC;IAItC,qBAAuC;EFkSvC;EK7RM;IHTN,cAAsC;IAItC,eAAuC;EFsSvC;EKzRQ;IHRR,cAA4B;EFoS5B;EK5RQ;IHRR,sBAA8C;EFuS9C;EK/RQ;IHRR,uBAA8C;EF0S9C;EKlSQ;IHRR,gBAA8C;EF6S9C;EKrSQ;IHRR,uBAA8C;EFgT9C;EKxSQ;IHRR,uBAA8C;EFmT9C;EK3SQ;IHRR,gBAA8C;EFsT9C;EK9SQ;IHRR,uBAA8C;EFyT9C;EKjTQ;IHRR,uBAA8C;EF4T9C;EKpTQ;IHRR,gBAA8C;EF+T9C;EKvTQ;IHRR,uBAA8C;EFkU9C;EK1TQ;IHRR,uBAA8C;EFqU9C;AACF;;AIxTI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EL6VrB;EKzVM;IHsBJ,cAAuB;IACvB,eAAwB;EFsU1B;EK7VM;IHsBJ,aAAuB;IACvB,cAAwB;EF0U1B;EKjWM;IHsBJ,oBAAuB;IACvB,qBAAwB;EF8U1B;EKrWM;IHsBJ,aAAuB;IACvB,cAAwB;EFkV1B;EKzWM;IHsBJ,aAAuB;IACvB,cAAwB;EFsV1B;EK7WM;IHsBJ,oBAAuB;IACvB,qBAAwB;EF0V1B;EK5WI;IACE,cAAc;IACd,WAAW;IACX,eAAe;EL8WrB;EK1WM;IHTN,mBAAsC;IAItC,oBAAuC;EFmXvC;EK9WM;IHTN,oBAAsC;IAItC,qBAAuC;EFuXvC;EKlXM;IHTN,aAAsC;IAItC,cAAuC;EF2XvC;EKtXM;IHTN,oBAAsC;IAItC,qBAAuC;EF+XvC;EK1XM;IHTN,oBAAsC;IAItC,qBAAuC;EFmYvC;EK9XM;IHTN,aAAsC;IAItC,cAAuC;EFuYvC;EKlYM;IHTN,oBAAsC;IAItC,qBAAuC;EF2YvC;EKtYM;IHTN,oBAAsC;IAItC,qBAAuC;EF+YvC;EK1YM;IHTN,aAAsC;IAItC,cAAuC;EFmZvC;EK9YM;IHTN,oBAAsC;IAItC,qBAAuC;EFuZvC;EKlZM;IHTN,oBAAsC;IAItC,qBAAuC;EF2ZvC;EKtZM;IHTN,cAAsC;IAItC,eAAuC;EF+ZvC;EKlZQ;IHRR,cAA4B;EF6Z5B;EKrZQ;IHRR,sBAA8C;EFga9C;EKxZQ;IHRR,uBAA8C;EFma9C;EK3ZQ;IHRR,gBAA8C;EFsa9C;EK9ZQ;IHRR,uBAA8C;EFya9C;EKjaQ;IHRR,uBAA8C;EF4a9C;EKpaQ;IHRR,gBAA8C;EF+a9C;EKvaQ;IHRR,uBAA8C;EFkb9C;EK1aQ;IHRR,uBAA8C;EFqb9C;EK7aQ;IHRR,gBAA8C;EFwb9C;EKhbQ;IHRR,uBAA8C;EF2b9C;EKnbQ;IHRR,uBAA8C;EF8b9C;AACF;;AIjbI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;ELsdrB;EKldM;IHsBJ,cAAuB;IACvB,eAAwB;EF+b1B;EKtdM;IHsBJ,aAAuB;IACvB,cAAwB;EFmc1B;EK1dM;IHsBJ,oBAAuB;IACvB,qBAAwB;EFuc1B;EK9dM;IHsBJ,aAAuB;IACvB,cAAwB;EF2c1B;EKleM;IHsBJ,aAAuB;IACvB,cAAwB;EF+c1B;EKteM;IHsBJ,oBAAuB;IACvB,qBAAwB;EFmd1B;EKreI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELuerB;EKneM;IHTN,mBAAsC;IAItC,oBAAuC;EF4evC;EKveM;IHTN,oBAAsC;IAItC,qBAAuC;EFgfvC;EK3eM;IHTN,aAAsC;IAItC,cAAuC;EFofvC;EK/eM;IHTN,oBAAsC;IAItC,qBAAuC;EFwfvC;EKnfM;IHTN,oBAAsC;IAItC,qBAAuC;EF4fvC;EKvfM;IHTN,aAAsC;IAItC,cAAuC;EFggBvC;EK3fM;IHTN,oBAAsC;IAItC,qBAAuC;EFogBvC;EK/fM;IHTN,oBAAsC;IAItC,qBAAuC;EFwgBvC;EKngBM;IHTN,aAAsC;IAItC,cAAuC;EF4gBvC;EKvgBM;IHTN,oBAAsC;IAItC,qBAAuC;EFghBvC;EK3gBM;IHTN,oBAAsC;IAItC,qBAAuC;EFohBvC;EK/gBM;IHTN,cAAsC;IAItC,eAAuC;EFwhBvC;EK3gBQ;IHRR,cAA4B;EFshB5B;EK9gBQ;IHRR,sBAA8C;EFyhB9C;EKjhBQ;IHRR,uBAA8C;EF4hB9C;EKphBQ;IHRR,gBAA8C;EF+hB9C;EKvhBQ;IHRR,uBAA8C;EFkiB9C;EK1hBQ;IHRR,uBAA8C;EFqiB9C;EK7hBQ;IHRR,gBAA8C;EFwiB9C;EKhiBQ;IHRR,uBAA8C;EF2iB9C;EKniBQ;IHRR,uBAA8C;EF8iB9C;EKtiBQ;IHRR,gBAA8C;EFijB9C;EKziBQ;IHRR,uBAA8C;EFojB9C;EK5iBQ;IHRR,uBAA8C;EFujB9C;AACF;;AI1iBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EL+kBrB;EK3kBM;IHsBJ,cAAuB;IACvB,eAAwB;EFwjB1B;EK/kBM;IHsBJ,aAAuB;IACvB,cAAwB;EF4jB1B;EKnlBM;IHsBJ,oBAAuB;IACvB,qBAAwB;EFgkB1B;EKvlBM;IHsBJ,aAAuB;IACvB,cAAwB;EFokB1B;EK3lBM;IHsBJ,aAAuB;IACvB,cAAwB;EFwkB1B;EK/lBM;IHsBJ,oBAAuB;IACvB,qBAAwB;EF4kB1B;EK9lBI;IACE,cAAc;IACd,WAAW;IACX,eAAe;ELgmBrB;EK5lBM;IHTN,mBAAsC;IAItC,oBAAuC;EFqmBvC;EKhmBM;IHTN,oBAAsC;IAItC,qBAAuC;EFymBvC;EKpmBM;IHTN,aAAsC;IAItC,cAAuC;EF6mBvC;EKxmBM;IHTN,oBAAsC;IAItC,qBAAuC;EFinBvC;EK5mBM;IHTN,oBAAsC;IAItC,qBAAuC;EFqnBvC;EKhnBM;IHTN,aAAsC;IAItC,cAAuC;EFynBvC;EKpnBM;IHTN,oBAAsC;IAItC,qBAAuC;EF6nBvC;EKxnBM;IHTN,oBAAsC;IAItC,qBAAuC;EFioBvC;EK5nBM;IHTN,aAAsC;IAItC,cAAuC;EFqoBvC;EKhoBM;IHTN,oBAAsC;IAItC,qBAAuC;EFyoBvC;EKpoBM;IHTN,oBAAsC;IAItC,qBAAuC;EF6oBvC;EKxoBM;IHTN,cAAsC;IAItC,eAAuC;EFipBvC;EKpoBQ;IHRR,cAA4B;EF+oB5B;EKvoBQ;IHRR,sBAA8C;EFkpB9C;EK1oBQ;IHRR,uBAA8C;EFqpB9C;EK7oBQ;IHRR,gBAA8C;EFwpB9C;EKhpBQ;IHRR,uBAA8C;EF2pB9C;EKnpBQ;IHRR,uBAA8C;EF8pB9C;EKtpBQ;IHRR,gBAA8C;EFiqB9C;EKzpBQ;IHRR,uBAA8C;EFoqB9C;EK5pBQ;IHRR,uBAA8C;EFuqB9C;EK/pBQ;IHRR,gBAA8C;EF0qB9C;EKlqBQ;IHRR,uBAA8C;EF6qB9C;EKrqBQ;IHRR,uBAA8C;EFgrB9C;AACF;;AMvsBI;EAGI,wBAA+B;ANwsBvC;;AM3sBI;EAGI,0BAA+B;AN4sBvC;;AM/sBI;EAGI,gCAA+B;ANgtBvC;;AMntBI;EAGI,yBAA+B;ANotBvC;;AMvtBI;EAGI,yBAA+B;ANwtBvC;;AM3tBI;EAGI,6BAA+B;AN4tBvC;;AM/tBI;EAGI,8BAA+B;ANguBvC;;AMnuBI;EAGI,wBAA+B;ANouBvC;;AMvuBI;EAGI,+BAA+B;ANwuBvC;;AM3uBI;EAGI,yBAA+B;AN4uBvC;;AM/uBI;EAGI,8BAA+B;ANgvBvC;;AMnvBI;EAGI,iCAA+B;ANovBvC;;AMvvBI;EAGI,sCAA+B;ANwvBvC;;AM3vBI;EAGI,yCAA+B;AN4vBvC;;AM/vBI;EAGI,uBAA+B;ANgwBvC;;AMnwBI;EAGI,uBAA+B;ANowBvC;;AMvwBI;EAGI,sCAA+B;ANwwBvC;;AM3wBI;EAGI,oCAA+B;AN4wBvC;;AM/wBI;EAGI,kCAA+B;ANgxBvC;;AMnxBI;EAGI,yCAA+B;ANoxBvC;;AMvxBI;EAGI,wCAA+B;ANwxBvC;;AM3xBI;EAGI,kCAA+B;AN4xBvC;;AM/xBI;EAGI,gCAA+B;ANgyBvC;;AMnyBI;EAGI,8BAA+B;ANoyBvC;;AMvyBI;EAGI,gCAA+B;ANwyBvC;;AM3yBI;EAGI,+BAA+B;AN4yBvC;;AM/yBI;EAGI,oCAA+B;ANgzBvC;;AMnzBI;EAGI,kCAA+B;ANozBvC;;AMvzBI;EAGI,gCAA+B;ANwzBvC;;AM3zBI;EAGI,uCAA+B;AN4zBvC;;AM/zBI;EAGI,sCAA+B;ANg0BvC;;AMn0BI;EAGI,iCAA+B;ANo0BvC;;AMv0BI;EAGI,2BAA+B;ANw0BvC;;AM30BI;EAGI,iCAA+B;AN40BvC;;AM/0BI;EAGI,+BAA+B;ANg1BvC;;AMn1BI;EAGI,6BAA+B;ANo1BvC;;AMv1BI;EAGI,+BAA+B;ANw1BvC;;AM31BI;EAGI,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AGI,+BAA+B;ANg0CvC;;AMn0CI;EAGI,8BAA+B;ANo0CvC;;AMv0CI;EAGI,4BAA+B;ANw0CvC;;AM30CI;EAGI,8BAA+B;AN40CvC;;AM/0CI;EAGI,4BAA+B;ANg1CvC;;AMn1CI;EAGI,2BAA+B;ANo1CvC;;AMv1CI;EAGI,iCAA+B;ANw1CvC;;AM31CI;EAGI,gCAA+B;AN41CvC;;AM/1CI;EAGI,8BAA+B;ANg2CvC;;AMn2CI;EAGI,gCAA+B;ANo2CvC;;AMv2CI;EAGI,8BAA+B;ANw2CvC;;AM32CI;EAGI,4BAA+B;AN42CvC;;AM/2CI;EAGI,kCAA+B;ANg3CvC;;AMn3CI;EAGI,iCAA+B;ANo3CvC;;AMv3CI;EAGI,+BAA+B;ANw3CvC;;AM33CI;EAGI,iCAA+B;AN43CvC;;AM/3CI;EAGI,+BAA+B;ANg4CvC;;AMn4CI;EAGI,0BAA+B;ANo4CvC;;AMv4CI;EAGI,gCAA+B;ANw4CvC;;AM34CI;EAGI,+BAA+B;AN44CvC;;AM/4CI;EAGI,6BAA+B;ANg5CvC;;AMn5CI;EAGI,+BAA+B;ANo5CvC;;AMv5CI;EAGI,6BAA+B;ANw5CvC;;AIv3CI;EEpCA;IAGI,wBAA+B;EN65CrC;EMh6CE;IAGI,0BAA+B;ENg6CrC;EMn6CE;IAGI,gCAA+B;ENm6CrC;EMt6CE;IAGI,yBAA+B;ENs6CrC;EMz6CE;IAGI,yBAA+B;ENy6CrC;EM56CE;IAGI,6BAA+B;EN46CrC;EM/6CE;IAGI,8BAA+B;EN+6CrC;EMl7CE;IAGI,wBAA+B;ENk7CrC;EMr7CE;IAGI,+BAA+B;ENq7CrC;EMx7CE;IAGI,yBAA+B;ENw7CrC;EM37CE;IAGI,8BAA+B;EN27CrC;EM97CE;IAGI,iCAA+B;EN87CrC;EMj8CE;IAGI,sCAA+B;ENi8CrC;EMp8CE;IAGI,yCAA+B;ENo8CrC;EMv8CE;IAGI,uBAA+B;ENu8CrC;EM18CE;IAGI,uBAA+B;EN08CrC;EM78CE;IAGI,sCAA+B;EN68CrC;EMh9CE;IAGI,oCAA+B;ENg9CrC;EMn9CE;IAGI,kCAA+B;ENm9CrC;EMt9CE;IAGI,yCAA+B;ENs9CrC;EMz9CE;IAGI,wCAA+B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;ENg+DrC;EMn+DE;IAGI,yBAA+B;ENm+DrC;EMt+DE;IAGI,8BAA+B;ENs+DrC;EMz+DE;IAGI,iCAA+B;ENy+DrC;EM5+DE;IAGI,sCAA+B;EN4+DrC;EM/+DE;IAGI,yCAA+B;EN++DrC;EMl/DE;IAGI,uBAA+B;ENk/DrC;EMr/DE;IAGI,uBAA+B;ENq/DrC;EMx/DE;IAGI,sCAA+B;ENw/DrC;EM3/DE;IAGI,oCAA+B;EN2/DrC;EM9/DE;IAGI,kCAA+B;EN8/DrC;EMjgEE;IAGI,yCAA+B;ENigErC;EMpgEE;IAGI,wCAA+B;ENogErC;EMvgEE;IAGI,kCAA+B;ENugErC;EM1gEE;IAGI,gCAA+B;EN0gErC;EM7gEE;IAGI,8BAA+B;EN6gErC;EMhhEE;IAGI,gCAA+B;ENghErC;EMnhEE;IAGI,+BAA+B;ENmhErC;EMthEE;IAGI,oCAA+B;ENshErC;EMzhEE;IAGI,kCAA+B;ENyhErC;EM5hEE;IAGI,gCAA+B;EN4hErC;EM/hEE;IAGI,uCAA+B;EN+hErC;EMliEE;IAGI,sCAA+B;ENkiErC;EMriEE;IAGI,iCAA+B;ENqiErC;EMxiEE;IAGI,2BAA+B;ENwiErC;EM3iEE;IAGI,iCAA+B;EN2iErC;EM9iEE;IAGI,+BAA+B;EN8iErC;EMjjEE;IAGI,6BAA+B;ENijErC;EMpjEE;IAGI,+BAA+B;ENojErC;EMvjEE;IAGI,8BAA+B;ENujErC;EM1jEE;IAGI,oBAA+B;EN0jErC;EM7jEE;IAGI,mBAA+B;EN6jErC;EMhkEE;IAGI,mBAA+B;ENgkErC;EMnkEE;IAGI,mBAA+B;ENmkErC;EMtkEE;IAGI,mBAA+B;ENskErC;EMzkEE;IAGI,mBAA+B;ENykErC;EM5kEE;IAGI,mBAA+B;EN4kErC;EM/kEE;IAGI,mBAA+B;EN+kErC;EMllEE;IAGI,oBAA+B;ENklErC;EMrlEE;IAGI,0BAA+B;ENqlErC;EMxlEE;IAGI,yBAA+B;ENwlErC;EM3lEE;IAGI,uBAA+B;EN2lErC;EM9lEE;IAGI,yBAA+B;EN8lErC;EMjmEE;IAGI,uBAA+B;ENimErC;EMpmEE;IAGI,uBAA+B;ENomErC;EMv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+EE;IAGI,6BAA+B;ENu+ErC;EM1+EE;IAGI,+BAA+B;EN0+ErC;EM7+EE;IAGI,6BAA+B;EN6+ErC;AACF;;AI78EI;EEpCA;IAGI,wBAA+B;ENm/ErC;EMt/EE;IAGI,0BAA+B;ENs/ErC;EMz/EE;IAGI,gCAA+B;ENy/ErC;EM5/EE;IAGI,yBAA+B;EN4/ErC;EM//EE;IAGI,yBAA+B;EN+/ErC;EMlgFE;IAGI,6BAA+B;ENkgFrC;EMrgFE;IAGI,8BAA+B;ENqgFrC;EMxgFE;IAGI,wBAA+B;ENwgFrC;EM3gFE;IAGI,+BAA+B;EN2gFrC;EM9gFE;IAGI,yBAA+B;EN8gFrC;EMjhFE;IAGI,8BAA+B;ENihFrC;EMphFE;IAGI,iCAA+B;ENohFrC;EMvhFE;IAGI,sCAA+B;ENuhFrC;EM1hFE;IAGI,yCAA+B;EN0hFrC;EM7hFE;IAGI,uBAA+B;EN6hFrC;EMhiFE;IAGI,uBAA+B;ENgiFrC;EMniFE;IAGI,sCAA+B;ENmiFrC;EMtiFE;IAGI,oCAA+B;ENsiFrC;EMziFE;IAGI,kCAA+B;ENyiFrC;EM5iFE;IAGI,yCAA+B;EN4iFrC;EM/iFE;IAGI,wCAA+B;EN+iFrC;EMljFE;IAGI,kCAA+B;ENkjFrC;EMrjFE;IAGI,gCAA+B;ENqjFrC;EMxjFE;IAGI,8BAA+B;ENwjFrC;EM3jFE;IAGI,gCAA+B;EN2jFrC;EM9jFE;IAGI,+BAA+B;EN8jFrC;EMjkFE;IAGI,oCAA+B;ENikFrC;EMpkFE;IAGI,kCAA+B;ENokFrC;EMvkFE;IAGI,gCAA+B;ENukFrC;EM1kFE;IAGI,uCAA+B;EN0kFrC;EM7kFE;IAGI,sCAA+B;EN6kFrC;EMhlFE;IAGI,iCAA+B;ENglFrC;EMnlFE;IAGI,2BAA+B;ENmlFrC;EMtlFE;IAGI,iCAA+B;ENslFrC;EMzlFE;IAGI,+BAA+B;ENylFrC;EM5lFE;IAGI,6BAA+B;EN4lFrC;EM/lFE;IAGI,+BAA+B;EN+lFrC;EMlmFE;IAGI,8BAA+B;ENkmFrC;EMrmFE;IAGI,oBAA+B;ENqmFrC;EMxmFE;IAGI,mBAA+B;ENwmFrC;EM3mFE;IAGI,mBAA+B;EN2mFrC;EM9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+FE;IAGI,8BAA+B;EN8+FrC;EMj/FE;IAGI,gCAA+B;ENi/FrC;EMp/FE;IAGI,8BAA+B;ENo/FrC;EMv/FE;IAGI,4BAA+B;ENu/FrC;EM1/FE;IAGI,kCAA+B;EN0/FrC;EM7/FE;IAGI,iCAA+B;EN6/FrC;EMhgGE;IAGI,+BAA+B;ENggGrC;EMngGE;IAGI,iCAA+B;ENmgGrC;EMtgGE;IAGI,+BAA+B;ENsgGrC;EMzgGE;IAGI,0BAA+B;ENygGrC;EM5gGE;IAGI,gCAA+B;EN4gGrC;EM/gGE;IAGI,+BAA+B;EN+gGrC;EMlhGE;IAGI,6BAA+B;ENkhGrC;EMrhGE;IAGI,+BAA+B;ENqhGrC;EMxhGE;IAGI,6BAA+B;ENwhGrC;AACF;;AIx/FI;EEpCA;IAGI,wBAA+B;EN8hGrC;EMjiGE;IAGI,0BAA+B;ENiiGrC;EMpiGE;IAGI,gCAA+B;ENoiGrC;EMviGE;IAGI,yBAA+B;ENuiGrC;EM1iGE;IAGI,yBAA+B;EN0iGrC;EM7iGE;IAGI,6BAA+B;EN6iGrC;EMhjGE;IAGI,8BAA+B;ENgjGrC;EMnjGE;IAGI,wBAA+B;ENmjGrC;EMtjGE;IAGI,+BAA+B;ENsjGrC;EMzjGE;IAGI,yBAA+B;ENyjGrC;EM5jGE;IAGI,8BAA+B;EN4jGrC;EM/jGE;IAGI,iCAA+B;EN+jGrC;EMlkGE;IAGI,sCAA+B;ENkkGrC;EMrkGE;IAGI,yCAA+B;ENqkGrC;EMxkGE;IAGI,uBAA+B;ENwkGrC;EM3kGE;IAGI,uBAA+B;EN2kGrC;EM9kGE;IAGI,sCAA+B;EN8kGrC;EMjlGE;IAGI,oCAA+B;ENilGrC;EMplGE;IAGI,kCAA+B;ENolGrC;EMvlGE;IAGI,yCAA+B;ENulGrC;EM1lGE;IAGI,wCAA+B;EN0lGrC;EM7lGE;IAGI,kCAA+B;EN6lGrC;EMhmGE;IAGI,gCAA+B;ENgmGrC;EMnmGE;IAGI,8BAA+B;ENmmGrC;EMtmGE;IAGI,gCAA+B;ENsmGrC;EMzmGE;IAGI,+BAA+B;ENymGrC;EM5mGE;IAGI,oCAA+B;EN4mGrC;EM/mGE;IAGI,kCAA+B;EN+mGrC;EMlnGE;IAGI,gCAA+B;ENknGrC;EMr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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css
index 29e7dc8eaf..939ba166eb 100644
--- a/dist/css/bootstrap-grid.min.css
+++ b/dist/css/bootstrap-grid.min.css
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map
index 649a59e203..4ad68e09c4 100644
--- a/dist/css/bootstrap-grid.min.css.map
+++ b/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;AAOA,KACE,WAAA,WAGF,ECCA,QADA,SDGE,WAAA,QERA,WCDA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCsDE,yBFzDF,WCWI,UAAA,OC8CF,yBFzDF,WCWI,UAAA,OC8CF,yBFzDF,WCWI,UAAA,OC8CF,0BFzDF,WCWI,UAAA,QDLJ,iBAAA,cAAA,cAAA,cAAA,cCPA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCsDE,yBFxCE,WAAA,cACE,UAAA,OEuCJ,yBFxCE,WAAA,cAAA,cACE,UAAA,OEuCJ,yBFxCE,WAAA,cAAA,cAAA,cACE,UAAA,OEuCJ,0BFxCE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QAoBN,KCrBA,QAAA,KACA,UAAA,KACA,aAAA,MACA,YAAA,MDwBA,YACE,aAAA,EACA,YAAA,EAFF,iBD2CF,0BCrCM,cAAA,EACA,aAAA,EGlDJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OJ4FF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aI/FI,SAAA,SACA,MAAA,KACA,cAAA,KACA,aAAA,KAmBE,KACE,WAAA,EACA,UAAA,EACA,UAAA,KAEF,UACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,OFFN,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,OFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,QFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,KAAA,EAAA,EAAA,KAIA,UAAA,KEMQ,UFDR,YAAA,UECQ,UFDR,YAAA,WECQ,UFDR,YAAA,IECQ,UFDR,YAAA,WECQ,UFDR,YAAA,WECQ,UFDR,YAAA,IECQ,UFDR,YAAA,WECQ,UFDR,YAAA,WECQ,UFDR,YAAA,IECQ,WFDR,YAAA,WECQ,WFDR,YAAA,WCcE,yBCjCE,QACE,WAAA,EACA,UAAA,EACA,UAAA,KAEF,aACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,KAIA,UAAA,KEMQ,aFDR,YAAA,EECQ,aFDR,YAAA,UECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,cFDR,YAAA,WECQ,cFDR,YAAA,YCcE,yBCjCE,QACE,WAAA,EACA,UAAA,EACA,UAAA,KAEF,aACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,KAIA,UAAA,KEMQ,aFDR,YAAA,EECQ,aFDR,YAAA,UECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,cFDR,YAAA,WECQ,cFDR,YAAA,YCcE,yBCjCE,QACE,WAAA,EACA,UAAA,EACA,UAAA,KAEF,aACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,KAIA,UAAA,KEMQ,aFDR,YAAA,EECQ,aFDR,YAAA,UECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,cFDR,YAAA,WECQ,cFDR,YAAA,YCcE,0BCjCE,QACE,WAAA,EACA,UAAA,EACA,UAAA,KAEF,aACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,KAAA,EAAA,EAAA,KAIA,UAAA,KEMQ,aFDR,YAAA,EECQ,aFDR,YAAA,UECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,aFDR,YAAA,WECQ,aFDR,YAAA,WECQ,aFDR,YAAA,IECQ,cFDR,YAAA,WECQ,cFDR,YAAA,YGtBE,QAGI,QAAA,eAHJ,UAGI,QAAA,iBAHJ,gBAGI,QAAA,uBAHJ,SAGI,QAAA,gBAHJ,SAGI,QAAA,gBAHJ,aAGI,QAAA,oBAHJ,cAGI,QAAA,qBAHJ,QAGI,QAAA,eAHJ,eAGI,QAAA,sBAHJ,WAGI,KAAA,EAAA,EAAA,eAHJ,UAGI,eAAA,cAHJ,aAGI,eAAA,iBAHJ,kBAGI,eAAA,sBAHJ,qBAGI,eAAA,yBAHJ,aAGI,UAAA,YAHJ,aAGI,UAAA,YAHJ,uBAGI,gBAAA,qBAHJ,qBAGI,gBAAA,mBAHJ,wBAGI,gBAAA,iBAHJ,yBAGI,gBAAA,wBAHJ,wBAGI,gBAAA,uBAHJ,mBAGI,YAAA,qBAHJ,iBAGI,YAAA,mBAHJ,oBAGI,YAAA,iBAHJ,sBAGI,YAAA,mBAHJ,qBAGI,YAAA,kBAHJ,qBAGI,cAAA,qBAHJ,mBAGI,cAAA,mBAHJ,sBAGI,cAAA,iBAHJ,uBAGI,cAAA,wBAHJ,sBAGI,cAAA,uBAHJ,uBAGI,cAAA,kBAHJ,iBAGI,WAAA,eAHJ,kBAGI,WAAA,qBAHJ,gBAGI,WAAA,mBAHJ,mBAGI,WAAA,iBAHJ,qBAGI,WAAA,mBAHJ,oBAGI,WAAA,kBAHJ,aAGI,MAAA,aAHJ,SAGI,MAAA,YAHJ,SAGI,MAAA,YAHJ,SAGI,MAAA,YAHJ,SAGI,MAAA,YAHJ,SAGI,MAAA,YAHJ,SAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,KAGI,OAAA,YAHJ,KAGI,OAAA,iBAHJ,KAGI,OAAA,gBAHJ,KAGI,OAAA,eAHJ,KAGI,OAAA,iBAHJ,KAGI,OAAA,eAHJ,QAGI,OAAA,eAHJ,MAGI,aAAA,YAAA,YAAA,YAHJ,MAGI,aAAA,iBAAA,YAAA,iBAHJ,MAGI,aAAA,gBAAA,YAAA,gBAHJ,MAGI,aAAA,eAAA,YAAA,eAHJ,MAGI,aAAA,iBAAA,YAAA,iBAHJ,MAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,MAGI,WAAA,YAAA,cAAA,YAHJ,MAGI,WAAA,iBAAA,cAAA,iBAHJ,MAGI,WAAA,gBAAA,cAAA,gBAHJ,MAGI,WAAA,eAAA,cAAA,eAHJ,MAGI,WAAA,iBAAA,cAAA,iBAHJ,MAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,MAGI,WAAA,YAHJ,MAGI,WAAA,iBAHJ,MAGI,WAAA,gBAHJ,MAGI,WAAA,eAHJ,MAGI,WAAA,iBAHJ,MAGI,WAAA,eAHJ,SAGI,WAAA,eAHJ,MAGI,aAAA,YAHJ,MAGI,aAAA,iBAHJ,MAGI,aAAA,gBAHJ,MAGI,aAAA,eAHJ,MAGI,aAAA,iBAHJ,MAGI,aAAA,eAHJ,SAGI,aAAA,eAHJ,MAGI,cAAA,YAHJ,MAGI,cAAA,iBAHJ,MAGI,cAAA,gBAHJ,MAGI,cAAA,eAHJ,MAGI,cAAA,iBAHJ,MAGI,cAAA,eAHJ,SAGI,cAAA,eAHJ,MAGI,YAAA,YAHJ,MAGI,YAAA,iBAHJ,MAGI,YAAA,gBAHJ,MAGI,YAAA,eAHJ,MAGI,YAAA,iBAHJ,MAGI,YAAA,eAHJ,SAGI,YAAA,eAHJ,MAGI,OAAA,kBAHJ,MAGI,OAAA,iBAHJ,MAGI,OAAA,gBAHJ,MAGI,OAAA,kBAHJ,MAGI,OAAA,gBAHJ,OAGI,aAAA,kBAAA,YAAA,kBAHJ,OAGI,aAAA,iBAAA,YAAA,iBAHJ,OAGI,aAAA,gBAAA,YAAA,gBAHJ,OAGI,aAAA,kBAAA,YAAA,kBAHJ,OAGI,aAAA,gBAAA,YAAA,gBAHJ,OAGI,WAAA,kBAAA,cAAA,kBAHJ,OAGI,WAAA,iBAAA,cAAA,iBAHJ,OAGI,WAAA,gBAAA,cAAA,gBAHJ,OAGI,WAAA,kBAAA,cAAA,kBAHJ,OAGI,WAAA,gBAAA,cAAA,gBAHJ,OAGI,WAAA,kBAHJ,OAGI,WAAA,iBAHJ,OAGI,WAAA,gBAHJ,OAGI,WAAA,kBAHJ,OAGI,WAAA,gBAHJ,OAGI,aAAA,kBAHJ,OAGI,aAAA,iBAHJ,OAGI,aAAA,gBAHJ,OAGI,aAAA,kBAHJ,OAGI,aAAA,gBAHJ,OAGI,cAAA,kBAHJ,OAGI,cAAA,iBAHJ,OAGI,cAAA,gBAHJ,OAGI,cAAA,kBAHJ,OAGI,cAAA,gBAHJ,OAGI,YAAA,kBAHJ,OAGI,YAAA,iBAHJ,OAGI,YAAA,gBAHJ,OAGI,YAAA,kBAHJ,OAGI,YAAA,gBAHJ,KAGI,QAAA,YAHJ,KAGI,QAAA,iBAHJ,KAGI,QAAA,gBAHJ,KAGI,QAAA,eAHJ,KAGI,QAAA,iBAHJ,KAGI,QAAA,eAHJ,MAGI,cAAA,YAAA,aAAA,YAHJ,MAGI,cAAA,iBAAA,aAAA,iBAHJ,MAGI,cAAA,gBAAA,aAAA,gBAHJ,MAGI,cAAA,eAAA,aAAA,eAHJ,MAGI,cAAA,iBAAA,aAAA,iBAHJ,MAGI,cAAA,eAAA,aAAA,eAHJ,MAGI,YAAA,YAAA,eAAA,YAHJ,MAGI,YAAA,iBAAA,eAAA,iBAHJ,MAGI,YAAA,gBAAA,eAAA,gBAHJ,MAGI,YAAA,eAAA,eAAA,eAHJ,MAGI,YAAA,iBAAA,eAAA,iBAHJ,MAGI,YAAA,eAAA,eAAA,eAHJ,MAGI,YAAA,YAHJ,MAGI,YAAA,iBAHJ,MAGI,YAAA,gBAHJ,MAGI,YAAA,eAHJ,MAGI,YAAA,iBAHJ,MAGI,YAAA,eAHJ,MAGI,cAAA,YAHJ,MAGI,cAAA,iBAHJ,MAGI,cAAA,gBAHJ,MAGI,cAAA,eAHJ,MAGI,cAAA,iBAHJ,MAGI,cAAA,eAHJ,MAGI,eAAA,YAHJ,MAGI,eAAA,iBAHJ,MAGI,eAAA,gBAHJ,MAGI,eAAA,eAHJ,MAGI,eAAA,iBAHJ,MAGI,eAAA,eAHJ,MAGI,aAAA,YAHJ,MAGI,aAAA,iBAHJ,MAGI,aAAA,gBAHJ,MAGI,aAAA,eAHJ,MAGI,aAAA,iBAHJ,MAGI,aAAA,eFiCJ,yBEpCA,WAGI,QAAA,eAHJ,aAGI,QAAA,iBAHJ,mBAGI,QAAA,uBAHJ,YAGI,QAAA,gBAHJ,YAGI,QAAA,gBAHJ,gBAGI,QAAA,oBAHJ,iBAGI,QAAA,qBAHJ,WAGI,QAAA,eAHJ,kBAGI,QAAA,sBAHJ,cAGI,KAAA,EAAA,EAAA,eAHJ,aAGI,eAAA,cAHJ,gBAGI,eAAA,iBAHJ,qBAGI,eAAA,sBAHJ,wBAGI,eAAA,yBAHJ,gBAGI,UAAA,YAHJ,gBAGI,UAAA,YAHJ,0BAGI,gBAAA,qBAHJ,wBAGI,gBAAA,mBAHJ,2BAGI,gBAAA,iBAHJ,4BAGI,gBAAA,wBAHJ,2BAGI,gBAAA,uBAHJ,sBAGI,YAAA,qBAHJ,oBAGI,YAAA,mBAHJ,uBAGI,YAAA,iBAHJ,yBAGI,YAAA,mBAHJ,wBAGI,YAAA,kBAHJ,wBAGI,cAAA,qBAHJ,sBAGI,cAAA,mBAHJ,yBAGI,cAAA,iBAHJ,0BAGI,cAAA,wBAHJ,yBAGI,cAAA,uBAHJ,0BAGI,cAAA,kBAHJ,oBAGI,WAAA,eAHJ,qBAGI,WAAA,qBAHJ,mBAGI,WAAA,mBAHJ,sBAGI,WAAA,iBAHJ,wBAGI,WAAA,mBAHJ,uBAGI,WAAA,kBAHJ,gBAGI,MAAA,aAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,eAGI,MAAA,YAHJ,QAGI,OAAA,YAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,gBAHJ,QAGI,OAAA,eAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,eAHJ,WAGI,OAAA,eAHJ,SAGI,aAAA,YAAA,YAAA,YAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,gBAAA,YAAA,gBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,YAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,WAAA,YAAA,cAAA,YAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,gBAAA,cAAA,gBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,YAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,YAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,gBAHJ,SAGI,WAAA,eAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,eAHJ,YAGI,WAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,eAHJ,YAGI,aAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,YAGI,cAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,YAGI,YAAA,eAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,iBAHJ,SAGI,OAAA,gBAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,iBAAA,YAAA,iBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,iBAAA,cAAA,iBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,iBAHJ,UAGI,WAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,iBAHJ,UAGI,aAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,iBAHJ,UAGI,cAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,iBAHJ,UAGI,YAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,gBAHJ,QAGI,QAAA,YAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,gBAHJ,QAGI,QAAA,eAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,eAHJ,SAGI,cAAA,YAAA,aAAA,YAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,gBAAA,aAAA,gBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,YAAA,YAAA,eAAA,YAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,gBAAA,eAAA,gBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,SAGI,eAAA,YAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,gBAHJ,SAGI,eAAA,eAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBFiCJ,yBEpCA,WAGI,QAAA,eAHJ,aAGI,QAAA,iBAHJ,mBAGI,QAAA,uBAHJ,YAGI,QAAA,gBAHJ,YAGI,QAAA,gBAHJ,gBAGI,QAAA,oBAHJ,iBAGI,QAAA,qBAHJ,WAGI,QAAA,eAHJ,kBAGI,QAAA,sBAHJ,cAGI,KAAA,EAAA,EAAA,eAHJ,aAGI,eAAA,cAHJ,gBAGI,eAAA,iBAHJ,qBAGI,eAAA,sBAHJ,wBAGI,eAAA,yBAHJ,gBAGI,UAAA,YAHJ,gBAGI,UAAA,YAHJ,0BAGI,gBAAA,qBAHJ,wBAGI,gBAAA,mBAHJ,2BAGI,gBAAA,iBAHJ,4BAGI,gBAAA,wBAHJ,2BAGI,gBAAA,uBAHJ,sBAGI,YAAA,qBAHJ,oBAGI,YAAA,mBAHJ,uBAGI,YAAA,iBAHJ,yBAGI,YAAA,mBAHJ,wBAGI,YAAA,kBAHJ,wBAGI,cAAA,qBAHJ,sBAGI,cAAA,mBAHJ,yBAGI,cAAA,iBAHJ,0BAGI,cAAA,wBAHJ,yBAGI,cAAA,uBAHJ,0BAGI,cAAA,kBAHJ,oBAGI,WAAA,eAHJ,qBAGI,WAAA,qBAHJ,mBAGI,WAAA,mBAHJ,sBAGI,WAAA,iBAHJ,wBAGI,WAAA,mBAHJ,uBAGI,WAAA,kBAHJ,gBAGI,MAAA,aAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,eAGI,MAAA,YAHJ,QAGI,OAAA,YAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,gBAHJ,QAGI,OAAA,eAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,eAHJ,WAGI,OAAA,eAHJ,SAGI,aAAA,YAAA,YAAA,YAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,gBAAA,YAAA,gBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,YAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,WAAA,YAAA,cAAA,YAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,gBAAA,cAAA,gBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,YAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,YAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,gBAHJ,SAGI,WAAA,eAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,eAHJ,YAGI,WAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,eAHJ,YAGI,aAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,YAGI,cAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,YAGI,YAAA,eAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,iBAHJ,SAGI,OAAA,gBAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,iBAAA,YAAA,iBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,iBAAA,cAAA,iBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,iBAHJ,UAGI,WAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,iBAHJ,UAGI,aAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,iBAHJ,UAGI,cAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,iBAHJ,UAGI,YAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,gBAHJ,QAGI,QAAA,YAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,gBAHJ,QAGI,QAAA,eAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,eAHJ,SAGI,cAAA,YAAA,aAAA,YAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,gBAAA,aAAA,gBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,YAAA,YAAA,eAAA,YAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,gBAAA,eAAA,gBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,SAGI,eAAA,YAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,gBAHJ,SAGI,eAAA,eAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBFiCJ,yBEpCA,WAGI,QAAA,eAHJ,aAGI,QAAA,iBAHJ,mBAGI,QAAA,uBAHJ,YAGI,QAAA,gBAHJ,YAGI,QAAA,gBAHJ,gBAGI,QAAA,oBAHJ,iBAGI,QAAA,qBAHJ,WAGI,QAAA,eAHJ,kBAGI,QAAA,sBAHJ,cAGI,KAAA,EAAA,EAAA,eAHJ,aAGI,eAAA,cAHJ,gBAGI,eAAA,iBAHJ,qBAGI,eAAA,sBAHJ,wBAGI,eAAA,yBAHJ,gBAGI,UAAA,YAHJ,gBAGI,UAAA,YAHJ,0BAGI,gBAAA,qBAHJ,wBAGI,gBAAA,mBAHJ,2BAGI,gBAAA,iBAHJ,4BAGI,gBAAA,wBAHJ,2BAGI,gBAAA,uBAHJ,sBAGI,YAAA,qBAHJ,oBAGI,YAAA,mBAHJ,uBAGI,YAAA,iBAHJ,yBAGI,YAAA,mBAHJ,wBAGI,YAAA,kBAHJ,wBAGI,cAAA,qBAHJ,sBAGI,cAAA,mBAHJ,yBAGI,cAAA,iBAHJ,0BAGI,cAAA,wBAHJ,yBAGI,cAAA,uBAHJ,0BAGI,cAAA,kBAHJ,oBAGI,WAAA,eAHJ,qBAGI,WAAA,qBAHJ,mBAGI,WAAA,mBAHJ,sBAGI,WAAA,iBAHJ,wBAGI,WAAA,mBAHJ,uBAGI,WAAA,kBAHJ,gBAGI,MAAA,aAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,eAGI,MAAA,YAHJ,QAGI,OAAA,YAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,gBAHJ,QAGI,OAAA,eAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,eAHJ,WAGI,OAAA,eAHJ,SAGI,aAAA,YAAA,YAAA,YAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,gBAAA,YAAA,gBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,YAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,WAAA,YAAA,cAAA,YAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,gBAAA,cAAA,gBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,YAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,YAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,gBAHJ,SAGI,WAAA,eAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,eAHJ,YAGI,WAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,eAHJ,YAGI,aAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,YAGI,cAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,YAGI,YAAA,eAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,iBAHJ,SAGI,OAAA,gBAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,iBAAA,YAAA,iBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,iBAAA,cAAA,iBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,iBAHJ,UAGI,WAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,iBAHJ,UAGI,aAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,iBAHJ,UAGI,cAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,iBAHJ,UAGI,YAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,gBAHJ,QAGI,QAAA,YAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,gBAHJ,QAGI,QAAA,eAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,eAHJ,SAGI,cAAA,YAAA,aAAA,YAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,gBAAA,aAAA,gBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,YAAA,YAAA,eAAA,YAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,gBAAA,eAAA,gBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,SAGI,eAAA,YAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,gBAHJ,SAGI,eAAA,eAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBFiCJ,0BEpCA,WAGI,QAAA,eAHJ,aAGI,QAAA,iBAHJ,mBAGI,QAAA,uBAHJ,YAGI,QAAA,gBAHJ,YAGI,QAAA,gBAHJ,gBAGI,QAAA,oBAHJ,iBAGI,QAAA,qBAHJ,WAGI,QAAA,eAHJ,kBAGI,QAAA,sBAHJ,cAGI,KAAA,EAAA,EAAA,eAHJ,aAGI,eAAA,cAHJ,gBAGI,eAAA,iBAHJ,qBAGI,eAAA,sBAHJ,wBAGI,eAAA,yBAHJ,gBAGI,UAAA,YAHJ,gBAGI,UAAA,YAHJ,0BAGI,gBAAA,qBAHJ,wBAGI,gBAAA,mBAHJ,2BAGI,gBAAA,iBAHJ,4BAGI,gBAAA,wBAHJ,2BAGI,gBAAA,uBAHJ,sBAGI,YAAA,qBAHJ,oBAGI,YAAA,mBAHJ,uBAGI,YAAA,iBAHJ,yBAGI,YAAA,mBAHJ,wBAGI,YAAA,kBAHJ,wBAGI,cAAA,qBAHJ,sBAGI,cAAA,mBAHJ,yBAGI,cAAA,iBAHJ,0BAGI,cAAA,wBAHJ,yBAGI,cAAA,uBAHJ,0BAGI,cAAA,kBAHJ,oBAGI,WAAA,eAHJ,qBAGI,WAAA,qBAHJ,mBAGI,WAAA,mBAHJ,sBAGI,WAAA,iBAHJ,wBAGI,WAAA,mBAHJ,uBAGI,WAAA,kBAHJ,gBAGI,MAAA,aAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,YAGI,MAAA,YAHJ,eAGI,MAAA,YAHJ,QAGI,OAAA,YAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,gBAHJ,QAGI,OAAA,eAHJ,QAGI,OAAA,iBAHJ,QAGI,OAAA,eAHJ,WAGI,OAAA,eAHJ,SAGI,aAAA,YAAA,YAAA,YAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,gBAAA,YAAA,gBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,aAAA,iBAAA,YAAA,iBAHJ,SAGI,aAAA,eAAA,YAAA,eAHJ,YAGI,aAAA,eAAA,YAAA,eAHJ,SAGI,WAAA,YAAA,cAAA,YAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,gBAAA,cAAA,gBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,iBAAA,cAAA,iBAHJ,SAGI,WAAA,eAAA,cAAA,eAHJ,YAGI,WAAA,eAAA,cAAA,eAHJ,SAGI,WAAA,YAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,gBAHJ,SAGI,WAAA,eAHJ,SAGI,WAAA,iBAHJ,SAGI,WAAA,eAHJ,YAGI,WAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,eAHJ,YAGI,aAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,YAGI,cAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,YAGI,YAAA,eAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,iBAHJ,SAGI,OAAA,gBAHJ,SAGI,OAAA,kBAHJ,SAGI,OAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,iBAAA,YAAA,iBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,aAAA,kBAAA,YAAA,kBAHJ,UAGI,aAAA,gBAAA,YAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,iBAAA,cAAA,iBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAAA,cAAA,kBAHJ,UAGI,WAAA,gBAAA,cAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,iBAHJ,UAGI,WAAA,gBAHJ,UAGI,WAAA,kBAHJ,UAGI,WAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,iBAHJ,UAGI,aAAA,gBAHJ,UAGI,aAAA,kBAHJ,UAGI,aAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,iBAHJ,UAGI,cAAA,gBAHJ,UAGI,cAAA,kBAHJ,UAGI,cAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,iBAHJ,UAGI,YAAA,gBAHJ,UAGI,YAAA,kBAHJ,UAGI,YAAA,gBAHJ,QAGI,QAAA,YAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,gBAHJ,QAGI,QAAA,eAHJ,QAGI,QAAA,iBAHJ,QAGI,QAAA,eAHJ,SAGI,cAAA,YAAA,aAAA,YAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,gBAAA,aAAA,gBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,cAAA,iBAAA,aAAA,iBAHJ,SAGI,cAAA,eAAA,aAAA,eAHJ,SAGI,YAAA,YAAA,eAAA,YAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,gBAAA,eAAA,gBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,iBAAA,eAAA,iBAHJ,SAGI,YAAA,eAAA,eAAA,eAHJ,SAGI,YAAA,YAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,gBAHJ,SAGI,YAAA,eAHJ,SAGI,YAAA,iBAHJ,SAGI,YAAA,eAHJ,SAGI,cAAA,YAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,gBAHJ,SAGI,cAAA,eAHJ,SAGI,cAAA,iBAHJ,SAGI,cAAA,eAHJ,SAGI,eAAA,YAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,gBAHJ,SAGI,eAAA,eAHJ,SAGI,eAAA,iBAHJ,SAGI,eAAA,eAHJ,SAGI,aAAA,YAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBAHJ,SAGI,aAAA,eAHJ,SAGI,aAAA,iBAHJ,SAGI,aAAA,gBCVR,aDOI,cAGI,QAAA,eAHJ,gBAGI,QAAA,iBAHJ,sBAGI,QAAA,uBAHJ,eAGI,QAAA,gBAHJ,eAGI,QAAA,gBAHJ,mBAGI,QAAA,oBAHJ,oBAGI,QAAA,qBAHJ,cAGI,QAAA,eAHJ,qBAGI,QAAA","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\"\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-right\",\n \"margin-bottom\",\n \"margin-left\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-right\",\n \"negative-margin-bottom\",\n \"negative-margin-left\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-right\",\n \"padding-bottom\",\n \"padding-left\",\n )\n);\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index 65b435015a..c49a82e394 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -129,13 +129,13 @@ strong {
}
small {
- font-size: 80%;
+ font-size: 0.875em;
}
sub,
sup {
position: relative;
- font-size: 75%;
+ font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
@@ -149,12 +149,12 @@ sup {
}
a {
- color: #007bff;
+ color: #0d6efd;
text-decoration: none;
}
a:hover {
- color: #0056b3;
+ color: #024dbc;
text-decoration: underline;
}
@@ -176,7 +176,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
- font-size: 87.5%;
+ font-size: 0.875em;
}
pre code {
@@ -186,8 +186,8 @@ pre code {
}
code {
- font-size: 87.5%;
- color: #e83e8c;
+ font-size: 0.875em;
+ color: #d63384;
word-wrap: break-word;
}
@@ -197,7 +197,7 @@ a > code {
kbd {
padding: 0.2rem 0.4rem;
- font-size: 87.5%;
+ font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
@@ -205,7 +205,7 @@ kbd {
kbd kbd {
padding: 0;
- font-size: 100%;
+ font-size: 1em;
font-weight: 700;
}
@@ -310,7 +310,6 @@ input[type="month"] {
textarea {
overflow: auto;
resize: vertical;
- -webkit-appearance: textfield;
}
fieldset {
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index 0f0ba192df..41054033dd 100644
--- a/dist/css/bootstrap-reboot.css.map
+++ b/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACOF;;;EAGE,sBAAsB;ADLxB;;ACuBA;EACE,SAAS;EACT,kMCyPiN;ECnJ7M,eAAW;EFpGf,gBCqQ+B;EDpQ/B,gBCyQ+B;EDxQ/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AFMf;;AAEA;ECiCE,qBAAqB;AD/BvB;;ACyCA;EACE,cAAsB;EACtB,cCgRmC;ED/QnC,8BAA8B;EAC9B,SAAS;EACT,aC+Q+B;AFrTjC;;ACyCA;EACE,WC0J+B;AFhMjC;;ACgDA;EACE,aAAa;EACb,qBCgOuC;ED7NvC,gBCgO+B;ED/N/B,gBCgO+B;AF/QjC;;ACmDA;EEyCM,iBAAW;AHxFjB;;ACoDA;EEoCM,eAAW;AHpFjB;;ACqDA;EE+BM,kBAAW;AHhFjB;;ACsDA;EE0BM,iBAAW;AH5EjB;;ACuDA;EEqBM,kBAAW;AHxEjB;;ACwDA;EEgBM,eAAW;AHpEjB;;AC+DA;EACE,aAAa;EACb,mBC0C8B;AFtGhC;;ACuEA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADpEhC;;ACwEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADrEtB;;ACwEA;;EAEE,kBAAkB;ADrEpB;;ACwEA;;;EAGE,aAAa;EACb,mBAAmB;ADrErB;;ACwEA;;;;EAIE,gBAAgB;ADrElB;;ACwEA;EACE,gBCuH+B;AF5LjC;;AC0EA;EACE,oBAAoB;EACpB,cAAc;ADvEhB;;AC0EA;EACE,gBAAgB;ADvElB;;AC4EA;;EAEE,mBCsGkC;AF/KpC;;AC+EA;EEnFI,cAAW;AHQf;;ACkFA;;EAEE,kBAAkB;EE5FhB,cAAW;EF8Fb,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Le;EDgMf,qBChE4C;AFb9C;;AC2EA;EAKI,cClE8D;EDmE9D,0BClE+C;AFVnD;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGC8BgH;ECpK9G,cAAW;AH+Cf;;AC+FA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,gBAAW;AHuDf;;ACuFA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AD7FtB;;ACiGA;EE9JI,gBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AD9FvB;;ACiGE;EACE,cAAc;AD9FlB;;ACkGA;EACE,sBCszBuC;ECh+BrC,gBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBFuO+B;AFnCnC;;AC0FA;EAQI,UAAU;EEjLV,eAAW;EFmLX,gBCD6B;AF7FjC;;ACuGA;EACE,gBAAgB;ADpGlB;;AC0GA;EACE,sBAAsB;ADvGxB;;AC6GA;EACE,gBAAgB;EAChB,sBAAsB;AD1GxB;;ACkHA;EACE,yBAAyB;AD/G3B;;ACkHA;EACE,mBC4BiC;ED3BjC,sBC2BiC;ED1BjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AD/GtB;;ACqHA;EACE,mBAAmB;ADlHrB;;AC0HA;EACE,qBAAqB;EACrB,qBCiH2C;AFxO7C;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACoIA;EACE,mBAAmB;EACnB,0CAA0C;ADjI5C;;ACsIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;ADnItB;;ACwIA;;EAEE,iBAAiB;ADrInB;;AC0IA;;EAEE,oBAAoB;ADvItB;;AC8IA;EACE,iBAAiB;AD3InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACyJA;EACE,UAAU;EACV,kBAAkB;ADtJpB;;ACgKA;;;;EAIE,6BAA6B;AD7J/B;;ACoKA;EACE,cAAc;EACd,gBAAgB;EAChB,6BAA6B;ADjK/B;;AC2KA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;ADxKX;;ACgLA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCxJiC;EChN7B,iBAAW;EF2Wf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AD9KrB;;ACkLA;EACE,cC9JgC;ED+JhC,yBCvJmC;AFxBrC;;ACoLA;EACE,wBAAwB;ADjL1B;;ACwLA;EACE,iBAAiB;EACjB,cAAc;ADrLhB;;AAEA;EC8LE,oBAAoB;EACpB,6BAA6B;AD5L/B;;ACiMA;EACE,wBAAwB;AD9L1B;;ACmMA;EACE,UAAU;ADhMZ;;ACsMA;EACE,aAAa;EACb,0BAA0B;ADnM5B;;ACwMA;EACE,qBAAqB;ADrMvB;;AC0MA;EACE,kBAAkB;EAClB,eAAe;ADvMjB;;AC4MA;EACE,aAAa;ADzMf;;AC4MA;EACE,cAAc;ADzMhB;;AAEA;EC6ME,wBAAwB;AD3M1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n// 3. Use the same borders as textfields\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n -webkit-appearance: textfield; // 3\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACOF;;;EAGE,sBAAsB;ADLxB;;ACuBA;EACE,SAAS;EACT,kMC0PiN;ECpJ7M,eAAW;EFpGf,gBCsQ+B;EDrQ/B,gBC0Q+B;EDzQ/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AFMf;;AAEA;ECiCE,qBAAqB;AD/BvB;;ACyCA;EACE,cAAsB;EACtB,cCqRmC;EDpRnC,8BAA8B;EAC9B,SAAS;EACT,aCoR+B;AF1TjC;;ACyCA;EACE,WC2J+B;AFjMjC;;ACgDA;EACE,aAAa;EACb,qBCiOuC;ED9NvC,gBCiO+B;EDhO/B,gBCiO+B;AFhRjC;;ACmDA;EEyCM,iBAAW;AHxFjB;;ACoDA;EEoCM,eAAW;AHpFjB;;ACqDA;EE+BM,kBAAW;AHhFjB;;ACsDA;EE0BM,iBAAW;AH5EjB;;ACuDA;EEqBM,kBAAW;AHxEjB;;ACwDA;EEgBM,eAAW;AHpEjB;;AC+DA;EACE,aAAa;EACb,mBC0C8B;AFtGhC;;ACuEA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADpEhC;;ACwEA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADrEtB;;ACwEA;;EAEE,kBAAkB;ADrEpB;;ACwEA;;;EAGE,aAAa;EACb,mBAAmB;ADrErB;;ACwEA;;;;EAIE,gBAAgB;ADrElB;;ACwEA;EACE,gBCwH+B;AF7LjC;;AC0EA;EACE,oBAAoB;EACpB,cAAc;ADvEhB;;AC0EA;EACE,gBAAgB;ADvElB;;AC4EA;;EAEE,mBCuGkC;AFhLpC;;AC+EA;EEnFI,kBAAW;AHQf;;ACkFA;;EAEE,kBAAkB;EE5FhB,iBAAW;EF8Fb,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Le;EDgMf,qBChE4C;AFb9C;;AC2EA;EAKI,cClE8D;EDmE9D,0BClE+C;AFVnD;;ACqFA;EAGI,cAAc;EACd,qBAAqB;ADpFzB;;AC2FA;;;;EAIE,iGC+BgH;ECrK9G,cAAW;AH+Cf;;AC+FA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,kBAAW;AHuDf;;ACuFA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AD7FtB;;ACiGA;EE9JI,kBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AD9FvB;;ACiGE;EACE,cAAc;AD9FlB;;ACkGA;EACE,sBCyzBuC;ECn+BrC,kBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBFwO+B;AFpCnC;;AC0FA;EAQI,UAAU;EEjLV,cAAW;EFmLX,gBCA6B;AF9FjC;;ACuGA;EACE,gBAAgB;ADpGlB;;AC0GA;EACE,sBAAsB;ADvGxB;;AC6GA;EACE,gBAAgB;EAChB,sBAAsB;AD1GxB;;ACkHA;EACE,yBAAyB;AD/G3B;;ACkHA;EACE,mBCiCiC;EDhCjC,sBCgCiC;ED/BjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AD/GtB;;ACqHA;EACE,mBAAmB;ADlHrB;;AC0HA;EACE,qBAAqB;EACrB,qBCkH2C;AFzO7C;;AC8HA;EAEE,gBAAgB;AD5HlB;;ACoIA;EACE,mBAAmB;EACnB,0CAA0C;ADjI5C;;ACsIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;ADnItB;;ACwIA;;EAEE,iBAAiB;ADrInB;;AC0IA;;EAEE,oBAAoB;ADvItB;;AC8IA;EACE,iBAAiB;AD3InB;;AAEA;ECiJE,aAAa;AD/If;;ACuJA;;;;EAIE,0BAA0B;ADpJ5B;;ACgJA;;;;EAQM,eAAe;ADjJrB;;ACyJA;EACE,UAAU;EACV,kBAAkB;ADtJpB;;ACgKA;;;;EAIE,6BAA6B;AD7J/B;;ACmKA;EACE,cAAc;EACd,gBAAgB;ADhKlB;;AC0KA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;ADvKX;;AC+KA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCjJiC;ECrN7B,iBAAW;EFyWf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AD7KrB;;ACiLA;EACE,cCvJgC;EDwJhC,yBChJmC;AF9BrC;;ACmLA;EACE,wBAAwB;ADhL1B;;ACuLA;EACE,iBAAiB;EACjB,cAAc;ADpLhB;;AAEA;EC6LE,oBAAoB;EACpB,6BAA6B;AD3L/B;;ACgMA;EACE,wBAAwB;AD7L1B;;ACkMA;EACE,UAAU;AD/LZ;;ACqMA;EACE,aAAa;EACb,0BAA0B;ADlM5B;;ACuMA;EACE,qBAAqB;ADpMvB;;ACyMA;EACE,kBAAkB;EAClB,eAAe;ADtMjB;;AC2MA;EACE,aAAa;ADxMf;;AC2MA;EACE,cAAc;ADxMhB;;AAEA;EC4ME,wBAAwB;AD1M1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css
index c06d19e3c9..89240f017c 100644
--- a/dist/css/bootstrap-reboot.min.css
+++ b/dist/css/bootstrap-reboot.min.css
@@ -4,5 +4,5 @@
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none}a:hover{color:#0056b3;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:87.5%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical;-webkit-appearance:textfield}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}
+ */*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#024dbc;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map
index b4b54ee451..3f3e713a49 100644
--- a/dist/css/bootstrap-reboot.min.css.map
+++ b/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n// 3. Use the same borders as textfields\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n -webkit-appearance: textfield; // 3\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: 2.5rem;\n}\n\nh2 {\n font-size: 2rem;\n}\n\nh3 {\n font-size: 1.75rem;\n}\n\nh4 {\n font-size: 1.5rem;\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.css b/dist/css/bootstrap-utilities.css
index 1726ddcde2..4fdce775bd 100644
--- a/dist/css/bootstrap-utilities.css
+++ b/dist/css/bootstrap-utilities.css
@@ -162,7 +162,7 @@
}
.border-primary {
- border-color: #007bff !important;
+ border-color: #0d6efd !important;
}
.border-secondary {
@@ -1018,7 +1018,7 @@
}
.text-primary {
- color: #007bff !important;
+ color: #0d6efd !important;
}
.text-secondary {
@@ -1073,8 +1073,24 @@
color: inherit !important;
}
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
.bg-primary {
- background-color: #007bff !important;
+ background-color: #0d6efd !important;
}
.bg-secondary {
diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map
index 321d24f36d..f86daaf817 100644
--- a/dist/css/bootstrap-utilities.css.map
+++ b/dist/css/bootstrap-utilities.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACsBE;EAGI,mCAA+B;ADtBvC;;ACmBI;EAGI,8BAA+B;ADlBvC;;ACeI;EAGI,iCAA+B;ADdvC;;ACWI;EAGI,iCAA+B;ADVvC;;ACOI;EAGI,sCAA+B;ADNvC;;ACGI;EAGI,mCAA+B;ADFvC;;ACDI;EAGI,sBAA+B;ADEvC;;ACLI;EAGI,uBAA+B;ADMvC;;ACTI;EAGI,sBAA+B;ADUvC;;ACbI;EAGI,yBAA+B;ADcvC;;ACjBI;EAGI,2BAA+B;ADkBvC;;ACrBI;EAGI,wBAA+B;ADsBvC;;ACzBI;EAGI,0BAA+B;AD0BvC;;AC7BI;EAGI,gCAA+B;AD8BvC;;ACjCI;EAGI,yBAA+B;ADkCvC;;ACrCI;EAGI,yBAA+B;ADsCvC;;ACzCI;EAGI,6BAA+B;AD0CvC;;AC7CI;EAGI,8BAA+B;AD8CvC;;ACjDI;EAGI,wBAA+B;ADkDvC;;ACrDI;EAGI,+BAA+B;ADsDvC;;ACzDI;EAGI,8DAA+B;AD0DvC;;AC7DI;EAGI,wDAA+B;AD8DvC;;ACjEI;EAGI,uDAA+B;ADkEvC;;ACrEI;EAGI,2BAA+B;ADsEvC;;ACzEI;EAGI,2BAA+B;AD0EvC;;AC7EI;EAGI,6BAA+B;AD8EvC;;ACjFI;EAGI,6BAA+B;ADkFvC;;ACrFI;EAGI,0BAA+B;ADsFvC;;ACzFI;EAGI,mCAA+B;EAA/B,2BAA+B;AD0FvC;;AC7FI;EAGI,oCAA+B;AD8FvC;;ACjGI;EAGI,oBAA+B;ADkGvC;;ACrGI;EAGI,wCAA+B;ADsGvC;;ACzGI;EAGI,wBAA+B;AD0GvC;;AC7GI;EAGI,0CAA+B;AD8GvC;;ACjHI;EAGI,0BAA+B;ADkHvC;;ACrHI;EAGI,2CAA+B;ADsHvC;;ACzHI;EAGI,2BAA+B;AD0HvC;;AC7HI;EAGI,yCAA+B;AD8HvC;;ACjII;EAGI,yBAA+B;ADkIvC;;ACrII;EAGI,gCAA+B;ADsIvC;;ACzII;EAGI,gCAA+B;AD0IvC;;AC7II;EAGI,gCAA+B;AD8IvC;;ACjJI;EAGI,gCAA+B;ADkJvC;;ACrJI;EAGI,gCAA+B;ADsJvC;;ACzJI;EAGI,gCAA+B;AD0JvC;;AC7JI;EAGI,gCAA+B;AD8JvC;;ACjKI;EAGI,gCAA+B;ADkKvC;;ACrKI;EAGI,6BAA+B;ADsKvC;;ACzKI;EAGI,qBAA+B;AD0KvC;;AC7KI;EAGI,qBAA+B;AD8KvC;;ACjLI;EAGI,qBAA+B;ADkLvC;;ACrLI;EAGI,sBAA+B;ADsLvC;;ACzLI;EAGI,sBAA+B;AD0LvC;;AC7LI;EAGI,0BAA+B;AD8LvC;;ACjMI;EAGI,uBAA+B;ADkMvC;;ACrMI;EAGI,2BAA+B;ADsMvC;;ACzMI;EAGI,sBAA+B;AD0MvC;;AC7MI;EAGI,sBAA+B;AD8MvC;;ACjNI;EAGI,sBAA+B;ADkNvC;;ACrNI;EAGI,uBAA+B;ADsNvC;;ACzNI;EAGI,uBAA+B;AD0NvC;;AC7NI;EAGI,2BAA+B;AD8NvC;;ACjOI;EAGI,wBAA+B;ADkOvC;;ACrOI;EAGI,4BAA+B;ADsOvC;;ACzOI;EAGI,yBAA+B;AD0OvC;;AC7OI;EAGI,8BAA+B;AD8OvC;;ACjPI;EAGI,iCAA+B;ADkPvC;;ACrPI;EAGI,sCAA+B;ADsPvC;;ACzPI;EAGI,yCAA+B;AD0PvC;;AC7PI;EAGI,uBAA+B;AD8PvC;;ACjQI;EAGI,uBAA+B;ADkQvC;;ACrQI;EAGI,yBAA+B;ADsQvC;;ACzQI;EAGI,yBAA+B;AD0QvC;;AC7QI;EAGI,0BAA+B;AD8QvC;;ACjRI;EAGI,4BAA+B;ADkRvC;;ACrRI;EAGI,kCAA+B;ADsRvC;;ACzRI;EAGI,sCAA+B;AD0RvC;;AC7RI;EAGI,oCAA+B;AD8RvC;;ACjSI;EAGI,kCAA+B;ADkSvC;;ACrSI;EAGI,yCAA+B;ADsSvC;;ACzSI;EAGI,wCAA+B;AD0SvC;;AC7SI;EAGI,kCAA+B;AD8SvC;;ACjTI;EAGI,gCAA+B;ADkTvC;;ACrTI;EAGI,8BAA+B;ADsTvC;;ACzTI;EAGI,gCAA+B;AD0TvC;;AC7TI;EAGI,+BAA+B;AD8TvC;;ACjUI;EAGI,oCAA+B;ADkUvC;;ACrUI;EAGI,kCAA+B;ADsUvC;;ACzUI;EAGI,gCAA+B;AD0UvC;;AC7UI;EAGI,uCAA+B;AD8UvC;;ACjVI;EAGI,sCAA+B;ADkVvC;;ACrVI;EAGI,iCAA+B;ADsVvC;;ACzVI;EAGI,2BAA+B;AD0VvC;;AC7VI;EAGI,iCAA+B;AD8VvC;;ACjWI;EAGI,+BAA+B;ADkWvC;;ACrWI;EAGI,6BAA+B;ADsWvC;;ACzWI;EAGI,+BAA+B;AD0WvC;;AC7WI;EAGI,8BAA+B;AD8WvC;;ACjXI;EAGI,oBAA+B;ADkXvC;;ACrXI;EAGI,mBAA+B;ADsXvC;;ACzXI;EAGI,mBAA+B;AD0XvC;;AC7XI;EAGI,mBAA+B;AD8XvC;;ACjYI;EAGI,mBAA+B;ADkYvC;;ACrYI;EAGI,mBAA+B;ADsYvC;;ACzYI;EAGI,mBAA+B;AD0YvC;;AC7YI;EAGI,mBAA+B;AD8YvC;;ACjZI;EAGI,oBAA+B;ADkZvC;;ACrZI;EAGI,0BAA+B;ADsZvC;;ACzZI;EAGI,yBAA+B;AD0ZvC;;AC7ZI;EAGI,uBAA+B;AD8ZvC;;ACjaI;EAGI,yBAA+B;ADkavC;;ACraI;EAGI,uBAA+B;ADsavC;;ACzaI;EAGI,uBAA+B;AD0avC;;AC7aI;EAGI,0BAA+B;EAA/B,yBAA+B;AD+avC;;AClbI;EAGI,gCAA+B;EAA/B,+BAA+B;ADobvC;;ACvbI;EAGI,+BAA+B;EAA/B,8BAA+B;ADybvC;;AC5bI;EAGI,6BAA+B;EAA/B,4BAA+B;AD8bvC;;ACjcI;EAGI,+BAA+B;EAA/B,8BAA+B;ADmcvC;;ACtcI;EAGI,6BAA+B;EAA/B,4BAA+B;ADwcvC;;AC3cI;EAGI,6BAA+B;EAA/B,4BAA+B;AD6cvC;;AChdI;EAGI,wBAA+B;EAA/B,2BAA+B;ADkdvC;;ACrdI;EAGI,8BAA+B;EAA/B,iCAA+B;ADudvC;;AC1dI;EAGI,6BAA+B;EAA/B,gCAA+B;AD4dvC;;AC/dI;EAGI,2BAA+B;EAA/B,8BAA+B;ADievC;;ACpeI;EAGI,6BAA+B;EAA/B,gCAA+B;ADsevC;;ACzeI;EAGI,2BAA+B;EAA/B,8BAA+B;AD2evC;;AC9eI;EAGI,2BAA+B;EAA/B,8BAA+B;ADgfvC;;ACnfI;EAGI,wBAA+B;ADofvC;;ACvfI;EAGI,8BAA+B;ADwfvC;;AC3fI;EAGI,6BAA+B;AD4fvC;;AC/fI;EAGI,2BAA+B;ADggBvC;;ACngBI;EAGI,6BAA+B;ADogBvC;;ACvgBI;EAGI,2BAA+B;ADwgBvC;;AC3gBI;EAGI,2BAA+B;AD4gBvC;;AC/gBI;EAGI,0BAA+B;ADghBvC;;ACnhBI;EAGI,gCAA+B;ADohBvC;;ACvhBI;EAGI,+BAA+B;ADwhBvC;;AC3hBI;EAGI,6BAA+B;AD4hBvC;;AC/hBI;EAGI,+BAA+B;ADgiBvC;;ACniBI;EAGI,6BAA+B;ADoiBvC;;ACviBI;EAGI,6BAA+B;ADwiBvC;;AC3iBI;EAGI,2BAA+B;AD4iBvC;;AC/iBI;EAGI,iCAA+B;ADgjBvC;;ACnjBI;EAGI,gCAA+B;ADojBvC;;ACvjBI;EAGI,8BAA+B;ADwjBvC;;AC3jBI;EAGI,gCAA+B;AD4jBvC;;AC/jBI;EAGI,8BAA+B;ADgkBvC;;ACnkBI;EAGI,8BAA+B;ADokBvC;;ACvkBI;EAGI,yBAA+B;ADwkBvC;;AC3kBI;EAGI,+BAA+B;AD4kBvC;;AC/kBI;EAGI,8BAA+B;ADglBvC;;ACnlBI;EAGI,4BAA+B;ADolBvC;;ACvlBI;EAGI,8BAA+B;ADwlBvC;;AC3lBI;EAGI,4BAA+B;AD4lBvC;;AC/lBI;EAGI,4BAA+B;ADgmBvC;;ACnmBI;EAGI,2BAA+B;ADomBvC;;ACvmBI;EAGI,0BAA+B;ADwmBvC;;AC3mBI;EAGI,wBAA+B;AD4mBvC;;AC/mBI;EAGI,0BAA+B;ADgnBvC;;ACnnBI;EAGI,wBAA+B;ADonBvC;;ACvnBI;EAGI,iCAA+B;EAA/B,gCAA+B;ADynBvC;;AC5nBI;EAGI,gCAA+B;EAA/B,+BAA+B;AD8nBvC;;ACjoBI;EAGI,8BAA+B;EAA/B,6BAA+B;ADmoBvC;;ACtoBI;EAGI,gCAA+B;EAA/B,+BAA+B;ADwoBvC;;AC3oBI;EAGI,8BAA+B;EAA/B,6BAA+B;AD6oBvC;;AChpBI;EAGI,+BAA+B;EAA/B,kCAA+B;ADkpBvC;;ACrpBI;EAGI,8BAA+B;EAA/B,iCAA+B;ADupBvC;;AC1pBI;EAGI,4BAA+B;EAA/B,+BAA+B;AD4pBvC;;AC/pBI;EAGI,8BAA+B;EAA/B,iCAA+B;ADiqBvC;;ACpqBI;EAGI,4BAA+B;EAA/B,+BAA+B;ADsqBvC;;ACzqBI;EAGI,+BAA+B;AD0qBvC;;AC7qBI;EAGI,8BAA+B;AD8qBvC;;ACjrBI;EAGI,4BAA+B;ADkrBvC;;ACrrBI;EAGI,8BAA+B;ADsrBvC;;ACzrBI;EAGI,4BAA+B;AD0rBvC;;AC7rBI;EAGI,iCAA+B;AD8rBvC;;ACjsBI;EAGI,gCAA+B;ADksBvC;;ACrsBI;EAGI,8BAA+B;ADssBvC;;ACzsBI;EAGI,gCAA+B;AD0sBvC;;AC7sBI;EAGI,8BAA+B;AD8sBvC;;ACjtBI;EAGI,kCAA+B;ADktBvC;;ACrtBI;EAGI,iCAA+B;ADstBvC;;ACztBI;EAGI,+BAA+B;AD0tBvC;;AC7tBI;EAGI,iCAA+B;AD8tBvC;;ACjuBI;EAGI,+BAA+B;ADkuBvC;;ACruBI;EAGI,gCAA+B;ADsuBvC;;ACzuBI;EAGI,+BAA+B;AD0uBvC;;AC7uBI;EAGI,6BAA+B;AD8uBvC;;ACjvBI;EAGI,+BAA+B;ADkvBvC;;ACrvBI;EAGI,6BAA+B;ADsvBvC;;ACzvBI;EAGI,qBAA+B;AD0vBvC;;AC7vBI;EAGI,2BAA+B;AD8vBvC;;ACjwBI;EAGI,0BAA+B;ADkwBvC;;ACrwBI;EAGI,wBAA+B;ADswBvC;;ACzwBI;EAGI,0BAA+B;AD0wBvC;;AC7wBI;EAGI,wBAA+B;AD8wBvC;;ACjxBI;EAGI,2BAA+B;EAA/B,0BAA+B;ADmxBvC;;ACtxBI;EAGI,iCAA+B;EAA/B,gCAA+B;ADwxBvC;;AC3xBI;EAGI,gCAA+B;EAA/B,+BAA+B;AD6xBvC;;AChyBI;EAGI,8BAA+B;EAA/B,6BAA+B;ADkyBvC;;ACryBI;EAGI,gCAA+B;EAA/B,+BAA+B;ADuyBvC;;AC1yBI;EAGI,8BAA+B;EAA/B,6BAA+B;AD4yBvC;;AC/yBI;EAGI,yBAA+B;EAA/B,4BAA+B;ADizBvC;;ACpzBI;EAGI,+BAA+B;EAA/B,kCAA+B;ADszBvC;;ACzzBI;EAGI,8BAA+B;EAA/B,iCAA+B;AD2zBvC;;AC9zBI;EAGI,4BAA+B;EAA/B,+BAA+B;ADg0BvC;;ACn0BI;EAGI,8BAA+B;EAA/B,iCAA+B;ADq0BvC;;ACx0BI;EAGI,4BAA+B;EAA/B,+BAA+B;AD00BvC;;AC70BI;EAGI,yBAA+B;AD80BvC;;ACj1BI;EAGI,+BAA+B;ADk1BvC;;ACr1BI;EAGI,8BAA+B;ADs1BvC;;ACz1BI;EAGI,4BAA+B;AD01BvC;;AC71BI;EAGI,8BAA+B;AD81BvC;;ACj2BI;EAGI,4BAA+B;ADk2BvC;;ACr2BI;EAGI,2BAA+B;ADs2BvC;;ACz2BI;EAGI,iCAA+B;AD02BvC;;AC72BI;EAGI,gCAA+B;AD82BvC;;ACj3BI;EAGI,8BAA+B;ADk3BvC;;ACr3BI;EAGI,gCAA+B;ADs3BvC;;ACz3BI;EAGI,8BAA+B;AD03BvC;;AC73BI;EAGI,4BAA+B;AD83BvC;;ACj4BI;EAGI,kCAA+B;ADk4BvC;;ACr4BI;EAGI,iCAA+B;ADs4BvC;;ACz4BI;EAGI,+BAA+B;AD04BvC;;AC74BI;EAGI,iCAA+B;AD84BvC;;ACj5BI;EAGI,+BAA+B;ADk5BvC;;ACr5BI;EAGI,0BAA+B;ADs5BvC;;ACz5BI;EAGI,gCAA+B;AD05BvC;;AC75BI;EAGI,+BAA+B;AD85BvC;;ACj6BI;EAGI,6BAA+B;ADk6BvC;;ACr6BI;EAGI,+BAA+B;ADs6BvC;;ACz6BI;EAGI,6BAA+B;AD06BvC;;AC76BI;EAGI,2BAA+B;AD86BvC;;ACj7BI;EAGI,+BAA+B;ADk7BvC;;ACr7BI;EAGI,2BAA+B;ADs7BvC;;ACz7BI;EAGI,2BAA+B;AD07BvC;;AC77BI;EAGI,8BAA+B;AD87BvC;;ACj8BI;EAGI,oCAA+B;ADk8BvC;;ACr8BI;EAGI,oCAA+B;ADs8BvC;;ACz8BI;EAGI,qCAA+B;AD08BvC;;AC78BI;EAGI,2BAA+B;AD88BvC;;ACj9BI;EAGI,4BAA+B;ADk9BvC;;ACr9BI;EAGI,6BAA+B;ADs9BvC;;ACz9BI;EAGI,8BAA+B;AD09BvC;;AC79BI;EAGI,yBAA+B;AD89BvC;;ACj+BI;EAGI,yBAA+B;ADk+BvC;;ACr+BI;EAGI,yBAA+B;ADs+BvC;;ACz+BI;EAGI,yBAA+B;AD0+BvC;;AC7+BI;EAGI,yBAA+B;AD8+BvC;;ACj/BI;EAGI,yBAA+B;ADk/BvC;;ACr/BI;EAGI,yBAA+B;ADs/BvC;;ACz/BI;EAGI,yBAA+B;AD0/BvC;;AC7/BI;EAGI,sBAA+B;AD8/BvC;;ACjgCI;EAGI,yBAA+B;ADkgCvC;;ACrgCI;EAGI,yBAA+B;ADsgCvC;;ACzgCI;EAGI,oCAA+B;AD0gCvC;;AC7gCI;EAGI,0CAA+B;AD8gCvC;;ACjhCI;EAGI,yBAA+B;ADkhCvC;;ACrhCI;EAGI,oCAA+B;ADshCvC;;ACzhCI;EAGI,oCAA+B;AD0hCvC;;AC7hCI;EAGI,oCAA+B;AD8hCvC;;ACjiCI;EAGI,oCAA+B;ADkiCvC;;ACriCI;EAGI,oCAA+B;ADsiCvC;;ACziCI;EAGI,oCAA+B;AD0iCvC;;AC7iCI;EAGI,oCAA+B;AD8iCvC;;ACjjCI;EAGI,oCAA+B;ADkjCvC;;ACrjCI;EAGI,iCAA+B;ADsjCvC;;ACzjCI;EAGI,wCAA+B;AD0jCvC;;AC7jCI;EAGI,8BAA+B;AD8jCvC;;ACjkCI;EAGI,8BAA+B;ADkkCvC;;ACrkCI;EAGI,gCAA+B;ADskCvC;;ACzkCI;EAGI,6BAA+B;AD0kCvC;;AC7kCI;EAGI,oCAA+B;EAA/B,iCAA+B;AD+kCvC;;ACllCI;EAGI,4GAA+B;ADmlCvC;;ACtlCI;EAGI,iCAA+B;ADulCvC;;AC1lCI;EAGI,gCAA+B;AD2lCvC;;AC9lCI;EAGI,gCAA+B;AD+lCvC;;AClmCI;EAGI,6BAA+B;ADmmCvC;;ACtmCI;EAGI,+BAA+B;ADumCvC;;AC1mCI;EAGI,2BAA+B;AD2mCvC;;AC9mCI;EAGI,0CAA+B;EAA/B,2CAA+B;ADgnCvC;;ACnnCI;EAGI,2CAA+B;EAA/B,8CAA+B;ADqnCvC;;ACxnCI;EAGI,8CAA+B;EAA/B,6CAA+B;AD0nCvC;;AC7nCI;EAGI,6CAA+B;EAA/B,0CAA+B;AD+nCvC;;ACloCI;EAGI,8BAA+B;ADmoCvC;;ACtoCI;EAGI,6BAA+B;ADuoCvC;;AEtmCI;EDpCA;IAGI,sBAA+B;ED4oCrC;EC/oCE;IAGI,uBAA+B;ED+oCrC;EClpCE;IAGI,sBAA+B;EDkpCrC;ECrpCE;IAGI,wBAA+B;EDqpCrC;ECxpCE;IAGI,0BAA+B;EDwpCrC;EC3pCE;IAGI,gCAA+B;ED2pCrC;EC9pCE;IAGI,yBAA+B;ED8pCrC;ECjqCE;IAGI,yBAA+B;EDiqCrC;ECpqCE;IAGI,6BAA+B;EDoqCrC;ECvqCE;IAGI,8BAA+B;EDuqCrC;EC1qCE;IAGI,wBAA+B;ED0qCrC;EC7qCE;IAGI,+BAA+B;ED6qCrC;EChrCE;IAGI,yBAA+B;EDgrCrC;ECnrCE;IAGI,8BAA+B;EDmrCrC;ECtrCE;IAGI,iCAA+B;EDsrCrC;ECzrCE;IAGI,sCAA+B;EDyrCrC;EC5rCE;IAGI,yCAA+B;ED4rCrC;EC/rCE;IAGI,uBAA+B;ED+rCrC;EClsCE;IAGI,uBAA+B;EDksCrC;ECrsCE;IAGI,yBAA+B;EDqsCrC;ECxsCE;IAGI,yBAA+B;EDwsCrC;EC3sCE;IAGI,0BAA+B;ED2sCrC;EC9sCE;IAGI,4BAA+B;ED8sCrC;ECjtCE;IAGI,kCAA+B;EDitCrC;ECptCE;IAGI,sCAA+B;EDotCrC;ECvtCE;IAGI,oCAA+B;EDutCrC;EC1tCE;IAGI,kCAA+B;ED0tCrC;EC7tCE;IAGI,yCAA+B;ED6tCrC;EChuCE;IAGI,wCAA+B;EDguCrC;ECnuCE;IAGI,kCAA+B;EDmuCrC;ECtuCE;IAGI,gCAA+B;EDsuCrC;ECzuCE;IAGI,8BAA+B;EDyuCrC;EC5uCE;IAGI,gCAA+B;ED4uCrC;EC/uCE;IAGI,+BAA+B;ED+uCrC;EClvCE;IAGI,oCAA+B;EDkvCrC;ECrvCE;IAGI,kCAA+B;EDqvCrC;ECxvCE;IAGI,gCAA+B;EDwvCrC;EC3vCE;IAGI,uCAA+B;ED2vCrC;EC9vCE;IAGI,sCAA+B;ED8vCrC;ECjwCE;IAGI,iCAA+B;EDiwCrC;ECpwCE;IAGI,2BAA+B;EDowCrC;ECvwCE;IAGI,iCAA+B;EDuwCrC;EC1wCE;IAGI,+BAA+B;ED0wCrC;EC7wCE;IAGI,6BAA+B;ED6wCrC;EChxCE;IAGI,+BAA+B;EDgxCrC;ECnxCE;IAGI,8BAA+B;EDmxCrC;ECtxCE;IAGI,oBAA+B;EDsxCrC;ECzxCE;IAGI,mBAA+B;EDyxCrC;EC5xCE;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IAGI,gCAA+B;ED4pDrC;EC/pDE;IAGI,8BAA+B;ED+pDrC;EClqDE;IAGI,gCAA+B;EDkqDrC;ECrqDE;IAGI,8BAA+B;EDqqDrC;ECxqDE;IAGI,4BAA+B;EDwqDrC;EC3qDE;IAGI,kCAA+B;ED2qDrC;EC9qDE;IAGI,iCAA+B;ED8qDrC;ECjrDE;IAGI,+BAA+B;EDirDrC;ECprDE;IAGI,iCAA+B;EDorDrC;ECvrDE;IAGI,+BAA+B;EDurDrC;EC1rDE;IAGI,0BAA+B;ED0rDrC;EC7rDE;IAGI,gCAA+B;ED6rDrC;EChsDE;IAGI,+BAA+B;EDgsDrC;ECnsDE;IAGI,6BAA+B;EDmsDrC;ECtsDE;IAGI,+BAA+B;EDssDrC;ECzsDE;IAGI,6BAA+B;EDysDrC;EC5sDE;IAGI,2BAA+B;ED4sDrC;EC/sDE;IAGI,4BAA+B;ED+sDrC;ECltDE;IAGI,6BAA+B;EDktDrC;ECrtDE;IAGI,8BAA+B;EDqtDrC;AACF;;AErrDI;EDpCA;IAGI,sBAA+B;ED2tDrC;EC9tDE;IAGI,uBAA+B;ED8tDrC;ECjuDE;IAGI,sBAA+B;EDiuDrC;ECpuDE;IAGI,wBAA+B;EDouDrC;ECvuDE;IAGI,0BAA+B;EDuuDrC;EC1uDE;IAGI,gCAA+B;ED0uDrC;EC7uDE;IAGI,yBAA+B;ED6uDrC;EChvDE;IAGI,yBAA+B;EDgvDrC;ECnvDE;IAGI,6BAA+B;EDmvDrC;ECtvDE;IAGI,8BAA+B;EDsvDrC;ECzvDE;IAGI,wBAA+B;EDyvDrC;EC5vDE;IAGI,+BAA+B;ED4vDrC;EC/vDE;IAGI,yBAA+B;ED+vDrC;EClwDE;IAGI,8BAA+B;EDkwDrC;ECrwDE;IAGI,iCAA+B;EDqwDrC;ECxwDE;IAGI,sCAA+B;EDwwDrC;EC3wDE;IAGI,yCAA+B;ED2wDrC;EC9wDE;IAGI,uBAA+B;ED8wDrC;ECjxDE;IAGI,uBAA+B;EDixDrC;ECpxDE;IAGI,yBAA+B;EDoxDrC;ECvxDE;IAGI,yBAA+B;EDuxDrC;EC1xDE;IAGI,0BAA+B;ED0xDrC;EC7xDE;IAGI,4BAA+B;ED6xDrC;EChyDE;IAGI,kCAA+B;EDgyDrC;ECnyDE;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ED8yFrC;ECjzFE;IAGI,4BAA+B;EDizFrC;ECpzFE;IAGI,2BAA+B;EDozFrC;ECvzFE;IAGI,iCAA+B;EDuzFrC;EC1zFE;IAGI,gCAA+B;ED0zFrC;EC7zFE;IAGI,8BAA+B;ED6zFrC;ECh0FE;IAGI,gCAA+B;EDg0FrC;ECn0FE;IAGI,8BAA+B;EDm0FrC;ECt0FE;IAGI,4BAA+B;EDs0FrC;ECz0FE;IAGI,kCAA+B;EDy0FrC;EC50FE;IAGI,iCAA+B;ED40FrC;EC/0FE;IAGI,+BAA+B;ED+0FrC;ECl1FE;IAGI,iCAA+B;EDk1FrC;ECr1FE;IAGI,+BAA+B;EDq1FrC;ECx1FE;IAGI,0BAA+B;EDw1FrC;EC31FE;IAGI,gCAA+B;ED21FrC;EC91FE;IAGI,+BAA+B;ED81FrC;ECj2FE;IAGI,6BAA+B;EDi2FrC;ECp2FE;IAGI,+BAA+B;EDo2FrC;ECv2FE;IAGI,6BAA+B;EDu2FrC;EC12FE;IAGI,2BAA+B;ED02FrC;EC72FE;IAGI,4BAA+B;ED62FrC;ECh3FE;IAGI,6BAA+B;EDg3FrC;ECn3FE;IAGI,8BAA+B;EDm3FrC;AACF;;AEn1FI;EDpCA;IAGI,sBAA+B;EDy3FrC;EC53FE;IAGI,uBAA+B;ED43FrC;EC/3FE;IAGI,sBAA+B;ED+3FrC;ECl4FE;IAGI,wBAA+B;EDk4FrC;ECr4FE;IAGI,0BAA+B;EDq4FrC;ECx4FE;IAGI,gCAA+B;EDw4FrC;EC34FE;IAGI,yBAA+B;ED24FrC;EC94FE;IAGI,yBAA+B;ED84FrC;ECj5FE;IAGI,6BAA+B;EDi5FrC;ECp5FE;IAGI,8BAA+B;EDo5FrC;ECv5FE;IAGI,wBAA+B;EDu5FrC;EC15FE;IAGI,+BAA+B;ED05FrC;EC75FE;IAGI,yBAA+B;ED65FrC;ECh6FE;IAGI,8BAA+B;EDg6FrC;ECn6FE;IAGI,iCAA+B;EDm6FrC;ECt6FE;IAGI,sCAA+B;EDs6FrC;ECz6FE;IAGI,yCAA+B;EDy6FrC;EC56FE;IAGI,uBAA+B;ED46FrC;EC/6FE;IAGI,uBAA+B;ED+6FrC;ECl7FE;IAGI,yBAA+B;EDk7FrC;ECr7FE;IAGI,yBAA+B;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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","bootstrap-utilities.css","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACsBE;EAGI,mCAA+B;ADtBvC;;ACmBI;EAGI,8BAA+B;ADlBvC;;ACeI;EAGI,iCAA+B;ADdvC;;ACWI;EAGI,iCAA+B;ADVvC;;ACOI;EAGI,sCAA+B;ADNvC;;ACGI;EAGI,mCAA+B;ADFvC;;ACDI;EAGI,sBAA+B;ADEvC;;ACLI;EAGI,uBAA+B;ADMvC;;ACTI;EAGI,sBAA+B;ADUvC;;ACbI;EAGI,yBAA+B;ADcvC;;ACjBI;EAGI,2BAA+B;ADkBvC;;ACrBI;EAGI,wBAA+B;ADsBvC;;ACzBI;EAGI,0BAA+B;AD0BvC;;AC7BI;EAGI,gCAA+B;AD8BvC;;ACjCI;EAGI,yBAA+B;ADkCvC;;ACrCI;EAGI,yBAA+B;ADsCvC;;ACzCI;EAGI,6BAA+B;AD0CvC;;AC7CI;EAGI,8BAA+B;AD8CvC;;ACjDI;EAGI,wBAA+B;ADkDvC;;ACrDI;EAGI,+BAA+B;ADsDvC;;ACzDI;EAGI,8DAA+B;AD0DvC;;AC7DI;EAGI,wDAA+B;AD8DvC;;ACjEI;EAGI,uDAA+B;ADkEvC;;ACrEI;EAGI,2BAA+B;ADsEvC;;ACzEI;EAGI,2BAA+B;AD0EvC;;AC7EI;EAGI,6BAA+B;AD8EvC;;ACjFI;EAGI,6BAA+B;ADkFvC;;ACrFI;EAGI,0BAA+B;ADsFvC;;ACzFI;EAGI,mCAA+B;EAA/B,2BAA+B;AD0FvC;;AC7FI;EAGI,oCAA+B;AD8FvC;;ACjGI;EAGI,oBAA+B;ADkGvC;;ACrGI;EAGI,wCAA+B;ADsGvC;;ACzGI;EAGI,wBAA+B;AD0GvC;;AC7GI;EAGI,0CAA+B;AD8GvC;;ACjHI;EAGI,0BAA+B;ADkHvC;;ACrHI;EAGI,2CAA+B;ADsHvC;;ACzHI;EAGI,2BAA+B;AD0HvC;;AC7HI;EAGI,yCAA+B;AD8HvC;;ACjII;EAGI,yBAA+B;ADkIvC;;ACrII;EAGI,gCAA+B;ADsIvC;;ACzII;EAGI,gCAA+B;AD0IvC;;AC7II;EAGI,gCAA+B;AD8IvC;;ACjJI;EAGI,gCAA+B;ADkJvC;;ACrJI;EAGI,gCAA+B;ADsJvC;;ACzJI;EAGI,gCAA+B;AD0JvC;;AC7JI;EAGI,gCAA+B;AD8JvC;;ACjKI;EAGI,gCAA+B;ADkKvC;;ACrKI;EAGI,6BAA+B;ADsKvC;;ACzKI;EAGI,qBAA+B;AD0KvC;;AC7KI;EAGI,qBAA+B;AD8KvC;;ACjLI;EAGI,qBAA+B;ADkLvC;;ACrLI;EAGI,sBAA+B;ADsLvC;;ACzLI;EAGI,sBAA+B;AD0LvC;;AC7LI;EAGI,0BAA+B;AD8LvC;;ACjMI;EAGI,uBAA+B;ADkMvC;;ACrMI;EAGI,2BAA+B;ADsMvC;;ACzMI;EAGI,sBAA+B;AD0MvC;;AC7MI;EAGI,sBAA+B;AD8MvC;;ACjNI;EAGI,sBAA+B;ADkNvC;;ACrNI;EAGI,uBAA+B;ADsNvC;;ACzNI;EAGI,uBAA+B;AD0NvC;;AC7NI;EAGI,2BAA+B;AD8NvC;;ACjOI;EAGI,wBAA+B;ADkOvC;;ACrOI;EAGI,4BAA+B;ADsOvC;;ACzOI;EAGI,yBAA+B;AD0OvC;;AC7OI;EAGI,8BAA+B;AD8OvC;;ACjPI;EAGI,iCAA+B;ADkPvC;;ACrPI;EAGI,sCAA+B;ADsPvC;;ACzPI;EAGI,yCAA+B;AD0PvC;;AC7PI;EAGI,uBAA+B;AD8PvC;;ACjQI;EAGI,uBAA+B;ADkQvC;;ACrQI;EAGI,yBAA+B;ADsQvC;;ACzQI;EAGI,yBAA+B;AD0QvC;;AC7QI;EAGI,0BAA+B;AD8QvC;;ACjRI;EAGI,4BAA+B;ADkRvC;;ACrRI;EAGI,kCAA+B;ADsRvC;;ACzRI;EAGI,sCAA+B;AD0RvC;;AC7RI;EAGI,oCAA+B;AD8RvC;;ACjSI;EAGI,kCAA+B;ADkSvC;;ACrSI;EAGI,yCAA+B;ADsSvC;;ACzSI;EAGI,wCAA+B;AD0SvC;;AC7SI;EAGI,kCAA+B;AD8SvC;;ACjTI;EAGI,gCAA+B;ADkTvC;;ACrTI;EAGI,8BAA+B;ADsTvC;;ACzTI;EAGI,gCAA+B;AD0TvC;;AC7TI;EAGI,+BAA+B;AD8TvC;;ACjUI;EAGI,oCAA+B;ADkUvC;;ACrUI;EAGI,kCAA+B;ADsUvC;;ACzUI;EAGI,gCAA+B;AD0UvC;;AC7UI;EAGI,uCAA+B;AD8UvC;;ACjVI;EAGI,sCAA+B;ADkVvC;;ACrVI;EAGI,iCAA+B;ADsVv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;ACx0BI;EAGI,4BAA+B;EAA/B,+BAA+B;AD00BvC;;AC70BI;EAGI,yBAA+B;AD80BvC;;ACj1BI;EAGI,+BAA+B;ADk1BvC;;ACr1BI;EAGI,8BAA+B;ADs1BvC;;ACz1BI;EAGI,4BAA+B;AD01BvC;;AC71BI;EAGI,8BAA+B;AD81BvC;;ACj2BI;EAGI,4BAA+B;ADk2BvC;;ACr2BI;EAGI,2BAA+B;ADs2BvC;;ACz2BI;EAGI,iCAA+B;AD02BvC;;AC72BI;EAGI,gCAA+B;AD82BvC;;ACj3BI;EAGI,8BAA+B;ADk3BvC;;ACr3BI;EAGI,gCAA+B;ADs3BvC;;ACz3BI;EAGI,8BAA+B;AD03BvC;;AC73BI;EAGI,4BAA+B;AD83BvC;;ACj4BI;EAGI,kCAA+B;ADk4BvC;;ACr4BI;EAGI,iCAA+B;ADs4BvC;;ACz4BI;EAGI,+BAA+B;AD04BvC;;AC74BI;EAGI,iCAA+B;AD84BvC;;ACj5BI;EAGI,+BAA+B;ADk5BvC;;ACr5BI;EAGI,0BAA+B;ADs5BvC;;ACz5BI;EAGI,gCAA+B;AD05BvC;;AC75BI;EAGI,+BAA+B;AD85BvC;;ACj6BI;EAGI,6BAA+B;ADk6BvC;;ACr6BI;EAGI,+BAA+B;ADs6BvC;;ACz6BI;EAGI,6BAA+B;AD06BvC;;AC76BI;EAGI,2BAA+B;AD86BvC;;ACj7BI;EAGI,+BAA+B;ADk7BvC;;ACr7BI;EAGI,2BAA+B;ADs7BvC;;ACz7BI;EAGI,2BAA+B;AD07BvC;;AC77BI;EAGI,8BAA+B;AD87BvC;;ACj8BI;EAGI,oCAA+B;ADk8BvC;;ACr8BI;EAGI,oCAA+B;ADs8BvC;;ACz8BI;EAGI,qCAA+B;AD08BvC;;AC78BI;EAGI,2BAA+B;AD88BvC;;ACj9BI;EAGI,4BAA+B;ADk9BvC;;ACr9BI;EAGI,6BAA+B;ADs9BvC;;ACz9BI;EAGI,8BAA+B;AD09BvC;;AC79BI;EAGI,yBAA+B;AD89BvC;;ACj+BI;EAGI,yBAA+B;ADk+BvC;;ACr+BI;EAGI,yBAA+B;ADs+BvC;;ACz+BI;EAGI,yBAA+B;AD0+BvC;;AC7+BI;EAGI,yBAA+B;AD8+BvC;;ACj/BI;EAGI,yBAA+B;ADk/BvC;;ACr/BI;EAGI,yBAA+B;ADs/BvC;;ACz/BI;EAGI,yBAA+B;AD0/BvC;;AC7/BI;EAGI,sBAA+B;AD8/BvC;;ACjgCI;EAGI,yBAA+B;ADkgCvC;;ACrgCI;EAGI,yBAA+B;ADsgCvC;;ACzgCI;EAGI,oCAA+B;AD0gCvC;;AC7gCI;EAGI,0CAA+B;AD8gCvC;;ACjhCI;EAGI,yBAA+B;ADkhCvC;;ACrhCI;EAGI,yBAA+B;ADshCvC;;ACzhCI;EAGI,4BAA+B;AD0hCvC;;AC7hCI;EAGI,2BAA+B;AD8hCvC;;ACjiCI;EAGI,yBAA+B;ADkiCvC;;ACriCI;EAGI,oCAA+B;ADsiCvC;;ACziCI;EAGI,oCAA+B;AD0iCvC;;AC7iCI;EAGI,oCAA+B;AD8iCvC;;ACjjCI;EAGI,oCAA+B;ADkjCvC;;ACrjCI;EAGI,oCAA+B;ADsjCvC;;ACzjCI;EAGI,oCAA+B;AD0jCvC;;AC7jCI;EAGI,oCAA+B;AD8jCvC;;ACjkCI;EAGI,oCAA+B;ADkkCvC;;ACrkCI;EAGI,iCAA+B;ADskCvC;;ACzkCI;EAGI,wCAA+B;AD0kCvC;;AC7kCI;EAGI,8BAA+B;AD8kCvC;;ACjlCI;EAGI,8BAA+B;ADklCvC;;ACrlCI;EAGI,gCAA+B;ADslCvC;;ACzlCI;EAGI,6BAA+B;AD0lCvC;;AC7lCI;EAGI,oCAA+B;EAA/B,iCAA+B;AD+lCvC;;AClmCI;EAGI,4GAA+B;ADmmCvC;;ACtmCI;EAGI,iCAA+B;ADumCvC;;AC1mCI;EAGI,gCAA+B;AD2mCvC;;AC9mCI;EAGI,gCAA+B;AD+mCvC;;AClnCI;EAGI,6BAA+B;ADmnCvC;;ACtnCI;EAGI,+BAA+B;ADunCvC;;AC1nCI;EAGI,2BAA+B;AD2nCvC;;AC9nCI;EAGI,0CAA+B;EAA/B,2CAA+B;ADgoCvC;;ACnoCI;EAGI,2CAA+B;EAA/B,8CAA+B;ADqoCvC;;ACxoCI;EAGI,8CAA+B;EAA/B,6CAA+B;AD0oCvC;;AC7oCI;EAGI,6CAA+B;EAA/B,0CAA+B;AD+oCvC;;AClpCI;EAGI,8BAA+B;ADmpCvC;;ACtpCI;EAGI,6BAA+B;ADupCvC;;AEtnCI;EDpCA;IAGI,sBAA+B;ED4pCrC;EC/pCE;IAGI,uBAA+B;ED+pCrC;EClqCE;IAGI,sBAA+B;EDkqCrC;ECrqCE;IAGI,wBAA+B;EDqqCrC;ECxqCE;IAGI,0BAA+B;EDwqCrC;EC3qCE;IAGI,gCAA+B;ED2qCrC;EC9qCE;IAGI,yBAA+B;ED8qCrC;ECjrCE;IAGI,yBAA+B;EDirCrC;ECprCE;IAGI,6BAA+B;EDorCrC;ECvrCE;IAGI,8BAA+B;EDurCrC;EC1rCE;IAGI,wBAA+B;ED0rCrC;EC7rCE;IAGI,+BAA+B;ED6rCrC;EChsCE;IAGI,yBAA+B;EDgsCrC;ECnsCE;IAGI,8BAA+B;EDmsCrC;ECtsCE;IAGI,iCAA+B;EDssCrC;ECzsCE;IAGI,sCAA+B;EDysCrC;EC5sCE;IAGI,yCAA+B;ED4sCrC;EC/sCE;IAGI,uBAA+B;ED+sCrC;ECltCE;IAGI,uBAA+B;EDktCrC;ECrtCE;IAGI,yBAA+B;EDqtCrC;ECxtCE;IAGI,yBAA+B;EDwtCrC;EC3tCE;IAGI,0BAA+B;ED2tCrC;EC9tCE;IAGI,4BAA+B;ED8tCrC;ECjuCE;IAGI,kCAA+B;EDiuCrC;ECpuCE;IAGI,sCAA+B;EDouCrC;ECvuCE;IAGI,oCAA+B;EDuuCrC;EC1uCE;IAGI,kCAA+B;ED0uCrC;EC7uCE;IAGI,yCAA+B;ED6uCrC;EChvCE;IAGI,wCAA+B;EDgvCrC;ECnvCE;IAGI,kCAA+B;EDmvCrC;ECtvCE;IAGI,gCAA+B;EDsvCrC;ECzvCE;IAGI,8BAA+B;EDyvCrC;EC5vCE;IAGI,gCAA+B;ED4vCrC;EC/vCE;IAGI,+BAA+B;ED+vCrC;EClwCE;IAGI,oCAA+B;EDkwCrC;ECrwCE;IAGI,kCAA+B;EDqwCrC;ECxwCE;IAGI,gCAA+B;EDwwCrC;EC3wCE;IAGI,uCAA+B;ED2wCrC;EC9wCE;IAGI,sCAA+B;ED8wCrC;ECjxCE;IAGI,iCAA+B;EDixCrC;ECpxCE;IAGI,2BAA+B;EDoxCrC;ECvxCE;IAGI,iCAA+B;EDuxCrC;EC1xCE;IAGI,+BAA+B;ED0xCrC;EC7xCE;IAGI,6BAA+B;ED6xCrC;ECh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qDE;IAGI,8BAA+B;EDgqDrC;ECnqDE;IAGI,4BAA+B;EDmqDrC;ECtqDE;IAGI,2BAA+B;EDsqDrC;ECzqDE;IAGI,iCAA+B;EDyqDrC;EC5qDE;IAGI,gCAA+B;ED4qDrC;EC/qDE;IAGI,8BAA+B;ED+qDrC;EClrDE;IAGI,gCAA+B;EDkrDrC;ECrrDE;IAGI,8BAA+B;EDqrDrC;ECxrDE;IAGI,4BAA+B;EDwrDrC;EC3rDE;IAGI,kCAA+B;ED2rDrC;EC9rDE;IAGI,iCAA+B;ED8rDrC;ECjsDE;IAGI,+BAA+B;EDisDrC;ECpsDE;IAGI,iCAA+B;EDosDrC;ECvsDE;IAGI,+BAA+B;EDusDrC;EC1sDE;IAGI,0BAA+B;ED0sDrC;EC7sDE;IAGI,gCAA+B;ED6sDrC;EChtDE;IAGI,+BAA+B;EDgtDrC;ECntDE;IAGI,6BAA+B;EDmtDrC;ECttDE;IAGI,+BAA+B;EDstDrC;ECztDE;IAGI,6BAA+B;EDytDrC;EC5tDE;IAGI,2BAA+B;ED4tDrC;EC/tDE;IAGI,4BAA+B;ED+tDrC;ECluDE;IAGI,6BAA+B;EDkuDrC;ECruDE;IAGI,8BAA+B;EDquDrC;AACF;;AErsDI;EDpCA;IAGI,sBAA+B;ED2uDrC;EC9uDE;IAGI,uBAA+B;ED8uDrC;ECjvDE;IAGI,sBAA+B;EDivDrC;ECpvDE;IAGI,wBAA+B;EDovDrC;ECvvDE;IAGI,0BAA+B;EDuvDrC;EC1vDE;IAGI,gCAA+B;ED0vDrC;EC7vDE;IAGI,yBAA+B;ED6vDrC;EChwDE;IAGI,yBAA+B;EDgwDrC;ECnwDE;IAGI,6BAA+B;EDmwDrC;ECtwDE;IAGI,8BAA+B;EDswDrC;ECzwDE;IAGI,wBAA+B;EDywDrC;EC5wDE;IAGI,+BAA+B;ED4wDrC;EC/wDE;IAGI,yBAA+B;ED+wDrC;EClxDE;IAGI,8BAA+B;EDkxDrC;ECrxDE;IAGI,iCAA+B;EDqxDrC;ECxxDE;IAGI,sCAA+B;EDwxDrC;EC3xDE;IAGI,yCAA+B;ED2xDrC;EC9xDE;IAGI,uBAA+B;ED8xDrC;ECjyDE;IAGI,uBAA+B;EDiyDrC;ECpyDE;IAGI,yBAA+B;EDoyDrC;ECv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A+B;ED2yErC;EC9yEE;IAGI,4BAA+B;ED8yErC;ECjzEE;IAGI,6BAA+B;EDizErC;ECpzEE;IAGI,8BAA+B;EDozErC;AACF;;AEpxEI;EDpCA;IAGI,sBAA+B;ED0zErC;EC7zEE;IAGI,uBAA+B;ED6zErC;ECh0EE;IAGI,sBAA+B;EDg0ErC;ECn0EE;IAGI,wBAA+B;EDm0ErC;ECt0EE;IAGI,0BAA+B;EDs0ErC;ECz0EE;IAGI,gCAA+B;EDy0ErC;EC50EE;IAGI,yBAA+B;ED40ErC;EC/0EE;IAGI,yBAA+B;ED+0ErC;ECl1EE;IAGI,6BAA+B;EDk1ErC;ECr1EE;IAGI,8BAA+B;EDq1ErC;ECx1EE;IAGI,wBAA+B;EDw1ErC;EC31EE;IAGI,+BAA+B;ED21ErC;EC91EE;IAGI,yBAA+B;ED81ErC;ECj2EE;IAGI,8BAA+B;EDi2ErC;ECp2EE;IAGI,iCAA+B;EDo2ErC;ECv2EE;IAGI,sCAA+B;EDu2ErC;EC12EE;IAGI,yCAA+B;ED02ErC;EC72EE;IAGI,uBAA+B;ED62ErC;ECh3EE;IAGI,uBAA+B;EDg3ErC;ECn3EE;IAGI,yBAA+B;EDm3ErC;ECt3EE;IAGI,yBAA+B;EDs3ErC;ECz3EE;IAGI,0BAA+B;EDy3ErC;EC53EE;IAGI,4BAA+B;ED43ErC;EC/3EE;IAGI,kCAA+B;ED+3ErC;ECl4EE;IAGI,sCAA+B;EDk4ErC;ECr4EE;IAGI,oCAA+B;EDq4ErC;ECx4EE;IAGI,kCAA+B;EDw4ErC;EC34EE;IAGI,yCAA+B;ED24ErC;EC94EE;IAGI,wCAA+B;ED84ErC;ECj5EE;IAGI,kCAA+B;EDi5ErC;ECp5EE;IAGI,gCAA+B;EDo5ErC;ECv5EE;IAGI,8BAA+B;EDu5ErC;EC15EE;IAGI,gCAA+B;ED05ErC;EC75EE;IAGI,+BAA+B;ED65ErC;ECh6EE;IAGI,oCAA+B;EDg6ErC;ECn6EE;IAGI,kCAA+B;EDm6ErC;ECt6EE;IAGI,gCAA+B;EDs6ErC;ECz6EE;IAGI,uCAA+B;EDy6ErC;EC56EE;IAGI,sCAA+B;ED46ErC;EC/6EE;IAGI,iCAA+B;ED+6ErC;ECl7EE;IAGI,2BA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A+B;EDkzFrC;ECrzFE;IAGI,+BAA+B;EDqzFrC;ECxzFE;IAGI,8BAA+B;EDwzFrC;EC3zFE;IAGI,4BAA+B;ED2zFrC;EC9zFE;IAGI,8BAA+B;ED8zFrC;ECj0FE;IAGI,4BAA+B;EDi0FrC;ECp0FE;IAGI,2BAA+B;EDo0FrC;ECv0FE;IAGI,iCAA+B;EDu0FrC;EC10FE;IAGI,gCAA+B;ED00FrC;EC70FE;IAGI,8BAA+B;ED60FrC;ECh1FE;IAGI,gCAA+B;EDg1FrC;ECn1FE;IAGI,8BAA+B;EDm1FrC;ECt1FE;IAGI,4BAA+B;EDs1FrC;ECz1FE;IAGI,kCAA+B;EDy1FrC;EC51FE;IAGI,iCAA+B;ED41FrC;EC/1FE;IAGI,+BAA+B;ED+1FrC;ECl2FE;IAGI,iCAA+B;EDk2FrC;ECr2FE;IAGI,+BAA+B;EDq2FrC;ECx2FE;IAGI,0BAA+B;EDw2FrC;EC32FE;IAGI,gCAA+B;ED22FrC;EC92FE;IAGI,+BAA+B;ED82FrC;ECj3FE;IAGI,6BAA+B;EDi3FrC;ECp3FE;IAGI,+BAA+B;EDo3FrC;ECv3FE;IAGI,6BAA+B;EDu3FrC;EC13FE;IAGI,2BAA+B;ED03FrC;EC73FE;IAGI,4BAA+B;ED63FrC;ECh4FE;IAGI,6BAA+B;EDg4FrC;ECn4FE;IAGI,8BAA+B;EDm4FrC;AACF;;AEn2FI;EDpCA;IAGI,sBAA+B;EDy4FrC;EC54FE;IAGI,uBAA+B;ED44FrC;EC/4FE;IAGI,sBAA+B;ED+4FrC;ECl5FE;IAGI,wBAA+B;EDk5FrC;ECr5FE;IAGI,0BAA+B;EDq5FrC;ECx5FE;IAGI,gCAA+B;EDw5FrC;EC35FE;IAGI,yBAA+B;ED25FrC;EC95FE;IAGI,yBAA+B;ED85FrC;ECj6FE;IAGI,6BAA+B;EDi6FrC;ECp6FE;IAGI,8BAA+B;EDo6FrC;ECv6FE;IAGI,wBAA+B;EDu6FrC;EC16FE;IAGI,+BAA+B;ED06FrC;EC76FE;IAGI,yBAA+B;ED66FrC;ECh7FE;IAGI,8BAA+B;EDg7FrC;ECn7FE;IAGI,iCAA+B;EDm7FrC;ECt7FE;IAGI,sCAA+B;EDs7FrC;ECz7FE;IAGI,yCAA+B;EDy7FrC;EC57FE;IAGI,uBAA+B;ED47FrC;EC/7FE;IAGI,uBAA+B;ED+7FrC;ECl8FE;IAGI,yBAA+B;EDk8FrC;ECr8FE;IAGI,yBAA+B;EDq8FrC;ECx8FE;IAGI,0BAA+B;EDw8FrC;EC38FE;IAGI,4BAA+B;ED28FrC;EC98FE;IAGI,kCAA+B;ED88FrC;ECj9FE;IAGI,sCAA+B;EDi9FrC;ECp9FE;IAGI,oCAA+B;EDo9FrC;ECv9FE;IAGI,kCAA+B;EDu9FrC;EC19FE;IAGI,yCAA+B;ED09FrC;EC79FE;IAGI,wCAA+B;ED69FrC;ECh+FE;IAGI,kCAA+B;EDg+FrC;ECn+FE;IAGI,gCAA+B;EDm+FrC;ECt+FE;IAGI,8BAA+B;EDs+FrC;ECz+FE;IAGI,gCAA+B;EDy+FrC;EC5+FE;IAGI,+BAA+B;ED4+FrC;EC/+FE;IAGI,oCAA+B;ED++FrC;ECl/FE;IAGI,kCAA+B;EDk/FrC;ECr/FE;IAGI,gCAA+B;EDq/FrC;ECx/FE;IAGI,uCAA+B;EDw/FrC;EC3/FE;IAGI,sCAA+B;ED2/FrC;EC9/FE;IAGI,iCAA+B;ED8/FrC;ECjgGE;IAGI,2BAA+B;EDigGrC;ECpgGE;IAGI,iCAA+B;EDogGrC;ECvgGE;IAGI,+BAA+B;EDugGrC;EC1gGE;IAGI,6BAA+B;ED0gGrC;EC7gGE;IAGI,+BAA+B;ED6gGrC;EChhGE;IAGI,8BAA+B;EDghGrC;ECnhGE;IAGI,oBAA+B;EDmhGrC;ECthGE;IAGI,mBAA+B;EDshGrC;ECzhGE;IAGI,mBAA+B;EDyhGrC;EC5hGE;IAGI,mBAA+B;ED4hGrC;EC/hGE;IAGI,mBAA+B;ED+hGrC;ECliGE;IAGI,mBAA+B;EDkiGrC;ECriGE;IAGI,mBAA+B;EDqiGrC;ECxiGE;IAGI,mBAA+B;EDwiGrC;EC3iGE;IAGI,oBAA+B;ED2iGrC;EC9iGE;IAGI,0BAA+B;ED8iGrC;ECjjGE;IAGI,yBAA+B;EDijGrC;ECpjGE;IAGI,uBAA+B;EDojGrC;ECvjGE;IAGI,yBAA+B;EDujGrC;EC1jGE;IAGI,uBAA+B;ED0jGrC;EC7jGE;IAGI,uBAA+B;ED6jGrC;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","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css b/dist/css/bootstrap-utilities.min.css
index 31cb98b308..ab79c9ca25 100644
--- a/dist/css/bootstrap-utilities.min.css
+++ b/dist/css/bootstrap-utilities.min.css
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#007bff!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#007bff!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap-utilities.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-utilities.min.css.map b/dist/css/bootstrap-utilities.min.css.map
index 461ee4b3dd..95f012cad8 100644
--- a/dist/css/bootstrap-utilities.min.css.map
+++ b/dist/css/bootstrap-utilities.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-utilities.scss","../../scss/mixins/_utilities.scss","../../scss/mixins/_breakpoints.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Utilities v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css
index c6062bf45f..fb92cb8d40 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -5,10 +5,10 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
:root {
- --blue: #007bff;
+ --blue: #0d6efd;
--indigo: #6610f2;
--purple: #6f42c1;
- --pink: #e83e8c;
+ --pink: #d63384;
--red: #dc3545;
--orange: #fd7e14;
--yellow: #ffc107;
@@ -18,7 +18,7 @@
--white: #fff;
--gray: #6c757d;
--gray-dark: #343a40;
- --primary: #007bff;
+ --primary: #0d6efd;
--secondary: #6c757d;
--success: #28a745;
--info: #17a2b8;
@@ -154,13 +154,13 @@ strong {
}
small, .small {
- font-size: 80%;
+ font-size: 0.875em;
}
sub,
sup {
position: relative;
- font-size: 75%;
+ font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
@@ -174,12 +174,12 @@ sup {
}
a {
- color: #007bff;
+ color: #0d6efd;
text-decoration: none;
}
a:hover {
- color: #0056b3;
+ color: #024dbc;
text-decoration: underline;
}
@@ -201,7 +201,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
- font-size: 87.5%;
+ font-size: 0.875em;
}
pre code {
@@ -211,8 +211,8 @@ pre code {
}
code {
- font-size: 87.5%;
- color: #e83e8c;
+ font-size: 0.875em;
+ color: #d63384;
word-wrap: break-word;
}
@@ -222,7 +222,7 @@ a > code {
kbd {
padding: 0.2rem 0.4rem;
- font-size: 87.5%;
+ font-size: 0.875em;
color: #fff;
background-color: #212529;
border-radius: 0.2rem;
@@ -230,7 +230,7 @@ kbd {
kbd kbd {
padding: 0;
- font-size: 100%;
+ font-size: 1em;
font-weight: 700;
}
@@ -335,7 +335,6 @@ input[type="month"] {
textarea {
overflow: auto;
resize: vertical;
- -webkit-appearance: textfield;
}
fieldset {
@@ -457,7 +456,7 @@ main {
}
.initialism {
- font-size: 90%;
+ font-size: 0.875em;
text-transform: uppercase;
}
@@ -468,7 +467,7 @@ main {
.blockquote-footer {
display: block;
- font-size: 80%;
+ font-size: 0.875em;
color: #6c757d;
}
@@ -500,7 +499,7 @@ main {
}
.figure-caption {
- font-size: 90%;
+ font-size: 0.875em;
color: #6c757d;
}
@@ -604,6 +603,36 @@ main {
max-width: 100%;
}
+.row-cols-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+}
+
.col-auto {
flex: 0 0 auto;
width: auto;
@@ -720,6 +749,30 @@ main {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-sm-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-sm-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-sm-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-sm-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-sm-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-sm-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-sm-auto {
flex: 0 0 auto;
width: auto;
@@ -817,6 +870,30 @@ main {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-md-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-md-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-md-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-md-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-md-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-md-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-md-auto {
flex: 0 0 auto;
width: auto;
@@ -914,6 +991,30 @@ main {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-lg-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-lg-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-lg-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-lg-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-lg-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-lg-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-lg-auto {
flex: 0 0 auto;
width: auto;
@@ -1011,6 +1112,30 @@ main {
flex-grow: 1;
max-width: 100%;
}
+ .row-cols-xl-1 > * {
+ flex: 0 0 100%;
+ max-width: 100%;
+ }
+ .row-cols-xl-2 > * {
+ flex: 0 0 50%;
+ max-width: 50%;
+ }
+ .row-cols-xl-3 > * {
+ flex: 0 0 33.333333%;
+ max-width: 33.333333%;
+ }
+ .row-cols-xl-4 > * {
+ flex: 0 0 25%;
+ max-width: 25%;
+ }
+ .row-cols-xl-5 > * {
+ flex: 0 0 20%;
+ max-width: 20%;
+ }
+ .row-cols-xl-6 > * {
+ flex: 0 0 16.666667%;
+ max-width: 16.666667%;
+ }
.col-xl-auto {
flex: 0 0 auto;
width: auto;
@@ -1119,10 +1244,6 @@ main {
vertical-align: inherit;
}
-.table td {
- border-bottom: 1px solid #dee2e6;
-}
-
.table thead th {
vertical-align: bottom;
border-bottom-color: #495057;
@@ -1170,23 +1291,23 @@ main {
.table-primary,
.table-primary > th,
.table-primary > td {
- background-color: #b8daff;
+ background-color: #bbd6fe;
}
.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
- border-color: #7abaff;
+ border-color: #81b4fe;
}
.table-hover .table-primary:hover {
- background-color: #9fcdff;
+ background-color: #a2c7fe;
}
.table-hover .table-primary:hover > td,
.table-hover .table-primary:hover > th {
- background-color: #9fcdff;
+ background-color: #a2c7fe;
}
.table-secondary,
@@ -1465,14 +1586,12 @@ main {
padding-top: calc(0.5rem + 1px);
padding-bottom: calc(0.5rem + 1px);
font-size: 1.25rem;
- line-height: 1.5;
}
.col-form-label-sm {
padding-top: calc(0.25rem + 1px);
padding-bottom: calc(0.25rem + 1px);
font-size: 0.875rem;
- line-height: 1.5;
}
.form-control {
@@ -1505,9 +1624,9 @@ main {
.form-control:focus {
color: #495057;
background-color: #fff;
- border-color: #80bdff;
+ border-color: #8bbafe;
outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-input-placeholder {
@@ -1561,7 +1680,6 @@ main {
min-height: calc(1.5em + 0.5rem + 2px);
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
border-radius: 0.2rem;
}
@@ -1569,7 +1687,6 @@ main {
min-height: calc(1.5em + 1rem + 2px);
padding: 0.5rem 1rem;
font-size: 1.25rem;
- line-height: 1.5;
border-radius: 0.3rem;
}
@@ -1605,9 +1722,9 @@ main {
}
.form-select:focus {
- border-color: #80bdff;
+ border-color: #8bbafe;
outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-select:focus::-ms-value {
@@ -1630,6 +1747,11 @@ main {
display: none;
}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #495057;
+}
+
.form-select-sm {
height: calc(1.5em + 0.5rem + 2px);
padding-top: 0.25rem;
@@ -1653,12 +1775,15 @@ main {
margin-bottom: 0.125rem;
}
-.form-check-input {
+.form-check .form-check-input {
float: left;
+ margin-left: -1.75em;
+}
+
+.form-check-input {
width: 1.25em;
height: 1.25em;
- margin-top: calc((1.5em - 1.25em) / 2);
- margin-left: -1.75em;
+ margin-top: 0.125em;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.25);
-webkit-appearance: none;
@@ -1680,17 +1805,17 @@ main {
}
.form-check-input:focus {
- border-color: #80bdff;
+ border-color: #8bbafe;
outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
- background-color: #007bff;
+ background-color: #0d6efd;
background-repeat: no-repeat;
background-position: center center;
background-size: 1em;
- border-color: #007bff;
+ border-color: #0d6efd;
}
.form-check-input:checked[type="checkbox"] {
@@ -1698,16 +1823,16 @@ main {
}
.form-check-input:checked[type="radio"] {
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type="checkbox"]:indeterminate {
- background-color: #007bff;
+ background-color: #0d6efd;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: center center;
background-size: 1em;
- border-color: #007bff;
+ border-color: #0d6efd;
}
.form-check-input[disabled] {
@@ -1771,13 +1896,13 @@ main {
}
.form-file-input:focus ~ .form-file-label {
- border-color: #80bdff;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ border-color: #8bbafe;
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-file-input:focus-within ~ .form-file-label {
- border-color: #80bdff;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ border-color: #8bbafe;
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-file-input[disabled] ~ .form-file-label .form-file-text {
@@ -1844,15 +1969,15 @@ main {
}
.form-range:focus::-webkit-slider-thumb {
- box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
- box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-ms-thumb {
- box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
@@ -1863,7 +1988,7 @@ main {
width: 1rem;
height: 1rem;
margin-top: -0.25rem;
- background-color: #007bff;
+ background-color: #0d6efd;
border: 0;
border-radius: 1rem;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
@@ -1878,7 +2003,7 @@ main {
}
.form-range::-webkit-slider-thumb:active {
- background-color: #b3d7ff;
+ background-color: #bed8fe;
}
.form-range::-webkit-slider-runnable-track {
@@ -1894,7 +2019,7 @@ main {
.form-range::-moz-range-thumb {
width: 1rem;
height: 1rem;
- background-color: #007bff;
+ background-color: #0d6efd;
border: 0;
border-radius: 1rem;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
@@ -1909,7 +2034,7 @@ main {
}
.form-range::-moz-range-thumb:active {
- background-color: #b3d7ff;
+ background-color: #bed8fe;
}
.form-range::-moz-range-track {
@@ -1928,7 +2053,7 @@ main {
margin-top: 0;
margin-right: 0.2rem;
margin-left: 0.2rem;
- background-color: #007bff;
+ background-color: #0d6efd;
border: 0;
border-radius: 1rem;
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
@@ -1942,7 +2067,7 @@ main {
}
.form-range::-ms-thumb:active {
- background-color: #b3d7ff;
+ background-color: #bed8fe;
}
.form-range::-ms-track {
@@ -2189,7 +2314,6 @@ main {
.input-group-lg > .input-group-append > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
- line-height: 1.5;
border-radius: 0.3rem;
}
@@ -2209,7 +2333,6 @@ main {
.input-group-sm > .input-group-append > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
border-radius: 0.2rem;
}
@@ -2242,7 +2365,7 @@ main {
display: none;
width: 100%;
margin-top: 0.25rem;
- font-size: 80%;
+ font-size: 0.875em;
color: #28a745;
}
@@ -2255,12 +2378,18 @@ main {
padding: 0.25rem 0.5rem;
margin-top: .1rem;
font-size: 0.875rem;
- line-height: 1.5;
color: #fff;
background-color: rgba(40, 167, 69, 0.9);
border-radius: 0.25rem;
}
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
.was-validated .form-control:valid, .form-control.is-valid {
border-color: #28a745;
padding-right: calc(1.5em + 0.75rem);
@@ -2275,12 +2404,6 @@ main {
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
-.was-validated .form-control:valid ~ .valid-feedback,
-.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
-.form-control.is-valid ~ .valid-tooltip {
- display: block;
-}
-
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
@@ -2297,18 +2420,6 @@ main {
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}
-.was-validated .form-select:valid ~ .valid-feedback,
-.was-validated .form-select:valid ~ .valid-tooltip, .form-select.is-valid ~ .valid-feedback,
-.form-select.is-valid ~ .valid-tooltip {
- display: block;
-}
-
-.was-validated .form-control-file:valid ~ .valid-feedback,
-.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
-.form-control-file.is-valid ~ .valid-tooltip {
- display: block;
-}
-
.was-validated .form-check-input:valid, .form-check-input.is-valid {
border-color: #28a745;
}
@@ -2325,12 +2436,6 @@ main {
color: #28a745;
}
-.was-validated .form-check-input:valid ~ .valid-feedback,
-.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
-.form-check-input.is-valid ~ .valid-tooltip {
- display: block;
-}
-
.form-check-inline .form-check-input ~ .valid-feedback {
margin-left: .5em;
}
@@ -2339,12 +2444,6 @@ main {
border-color: #28a745;
}
-.was-validated .form-file-input:valid ~ .valid-feedback,
-.was-validated .form-file-input:valid ~ .valid-tooltip, .form-file-input.is-valid ~ .valid-feedback,
-.form-file-input.is-valid ~ .valid-tooltip {
- display: block;
-}
-
.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {
border-color: #28a745;
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
@@ -2354,7 +2453,7 @@ main {
display: none;
width: 100%;
margin-top: 0.25rem;
- font-size: 80%;
+ font-size: 0.875em;
color: #dc3545;
}
@@ -2367,12 +2466,18 @@ main {
padding: 0.25rem 0.5rem;
margin-top: .1rem;
font-size: 0.875rem;
- line-height: 1.5;
color: #fff;
background-color: rgba(220, 53, 69, 0.9);
border-radius: 0.25rem;
}
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
.was-validated .form-control:invalid, .form-control.is-invalid {
border-color: #dc3545;
padding-right: calc(1.5em + 0.75rem);
@@ -2387,12 +2492,6 @@ main {
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
-.was-validated .form-control:invalid ~ .invalid-feedback,
-.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
-.form-control.is-invalid ~ .invalid-tooltip {
- display: block;
-}
-
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
padding-right: calc(1.5em + 0.75rem);
background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
@@ -2409,18 +2508,6 @@ main {
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
-.was-validated .form-select:invalid ~ .invalid-feedback,
-.was-validated .form-select:invalid ~ .invalid-tooltip, .form-select.is-invalid ~ .invalid-feedback,
-.form-select.is-invalid ~ .invalid-tooltip {
- display: block;
-}
-
-.was-validated .form-control-file:invalid ~ .invalid-feedback,
-.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
-.form-control-file.is-invalid ~ .invalid-tooltip {
- display: block;
-}
-
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
border-color: #dc3545;
}
@@ -2437,12 +2524,6 @@ main {
color: #dc3545;
}
-.was-validated .form-check-input:invalid ~ .invalid-feedback,
-.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
-.form-check-input.is-invalid ~ .invalid-tooltip {
- display: block;
-}
-
.form-check-inline .form-check-input ~ .invalid-feedback {
margin-left: .5em;
}
@@ -2451,12 +2532,6 @@ main {
border-color: #dc3545;
}
-.was-validated .form-file-input:invalid ~ .invalid-feedback,
-.was-validated .form-file-input:invalid ~ .invalid-tooltip, .form-file-input.is-invalid ~ .invalid-feedback,
-.form-file-input.is-invalid ~ .invalid-tooltip {
- display: block;
-}
-
.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {
border-color: #dc3545;
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
@@ -2465,6 +2540,7 @@ main {
.btn {
display: inline-block;
font-weight: 400;
+ line-height: 1.5;
color: #212529;
text-align: center;
vertical-align: middle;
@@ -2477,7 +2553,6 @@ main {
border: 1px solid transparent;
padding: 0.375rem 0.75rem;
font-size: 1rem;
- line-height: 1.5;
border-radius: 0.25rem;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@@ -2495,7 +2570,7 @@ main {
.btn:focus, .btn.focus {
outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.btn.disabled, .btn:disabled {
@@ -2509,39 +2584,39 @@ fieldset:disabled a.btn {
.btn-primary {
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.btn-primary:hover {
color: #fff;
- background-color: #0069d9;
- border-color: #0062cc;
+ background-color: #025ce2;
+ border-color: #0257d5;
}
.btn-primary:focus, .btn-primary.focus {
color: #fff;
- background-color: #0069d9;
- border-color: #0062cc;
- box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+ background-color: #025ce2;
+ border-color: #0257d5;
+ box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
color: #fff;
- background-color: #0062cc;
- border-color: #005cbf;
+ background-color: #0257d5;
+ border-color: #0252c9;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
+ box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);
}
.btn-secondary {
@@ -2804,35 +2879,35 @@ fieldset:disabled a.btn {
}
.btn-outline-primary {
- color: #007bff;
- border-color: #007bff;
+ color: #0d6efd;
+ border-color: #0d6efd;
}
.btn-outline-primary:hover {
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
- color: #007bff;
+ color: #0d6efd;
background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);
}
.btn-outline-secondary {
@@ -3061,12 +3136,12 @@ fieldset:disabled a.btn {
.btn-link {
font-weight: 400;
- color: #007bff;
+ color: #0d6efd;
text-decoration: none;
}
.btn-link:hover {
- color: #0056b3;
+ color: #024dbc;
text-decoration: underline;
}
@@ -3083,14 +3158,12 @@ fieldset:disabled a.btn {
.btn-lg, .btn-group-lg > .btn {
padding: 0.5rem 1rem;
font-size: 1.25rem;
- line-height: 1.5;
border-radius: 0.3rem;
}
.btn-sm, .btn-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
border-radius: 0.2rem;
}
@@ -3352,7 +3425,7 @@ fieldset:disabled a.btn {
.dropdown-item.active, .dropdown-item:active {
color: #fff;
text-decoration: none;
- background-color: #007bff;
+ background-color: #0d6efd;
}
.dropdown-item.disabled, .dropdown-item:disabled {
@@ -3562,7 +3635,7 @@ fieldset:disabled a.btn {
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
color: #fff;
- background-color: #007bff;
+ background-color: #0d6efd;
}
.nav-fill .nav-item {
@@ -4041,59 +4114,51 @@ fieldset:disabled a.btn {
padding: 1.25rem;
}
-.card-img {
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ flex-shrink: 0;
width: 100%;
- border-radius: calc(0.25rem - 1px);
}
+.card-img,
.card-img-top {
- width: 100%;
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
+.card-img,
.card-img-bottom {
- width: 100%;
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
-.card-deck {
- display: flex;
- flex-direction: column;
-}
-
.card-deck .card {
margin-bottom: 15px;
}
@media (min-width: 576px) {
.card-deck {
+ display: flex;
flex-flow: row wrap;
margin-right: -15px;
margin-left: -15px;
}
.card-deck .card {
- display: flex;
flex: 1 0 0%;
- flex-direction: column;
margin-right: 15px;
margin-bottom: 0;
margin-left: 15px;
}
}
-.card-group {
- display: flex;
- flex-direction: column;
-}
-
.card-group > .card {
margin-bottom: 15px;
}
@media (min-width: 576px) {
.card-group {
+ display: flex;
flex-flow: row wrap;
}
.card-group > .card {
@@ -4134,27 +4199,19 @@ fieldset:disabled a.btn {
overflow: hidden;
}
-.accordion > .card:not(:first-of-type) .card-header:first-child {
- border-radius: 0;
-}
-
-.accordion > .card:not(:first-of-type):not(:last-of-type) {
- border-bottom: 0;
- border-radius: 0;
-}
-
-.accordion > .card:first-of-type:not(:last-of-type) {
+.accordion > .card:not(:last-of-type) {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
-.accordion > .card:last-of-type {
+.accordion > .card:not(:first-of-type) {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
-.accordion > .card .card-header {
+.accordion > .card > .card-header {
+ border-radius: 0;
margin-bottom: -1px;
}
@@ -4200,14 +4257,14 @@ fieldset:disabled a.btn {
.page-link {
position: relative;
display: block;
- color: #007bff;
+ color: #0d6efd;
background-color: #fff;
border: 1px solid #dee2e6;
}
.page-link:hover {
z-index: 2;
- color: #0056b3;
+ color: #024dbc;
text-decoration: none;
background-color: #e9ecef;
border-color: #dee2e6;
@@ -4216,7 +4273,7 @@ fieldset:disabled a.btn {
.page-link:focus {
z-index: 3;
outline: 0;
- box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
.page-item:not(:first-child) .page-link {
@@ -4226,8 +4283,8 @@ fieldset:disabled a.btn {
.page-item.active .page-link {
z-index: 3;
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.page-item.disabled .page-link {
@@ -4239,8 +4296,7 @@ fieldset:disabled a.btn {
}
.page-link {
- padding: 0.5rem 0.75rem;
- line-height: 1.25;
+ padding: 0.375rem 0.75rem;
}
.page-item:first-child .page-link {
@@ -4256,7 +4312,6 @@ fieldset:disabled a.btn {
.pagination-lg .page-link {
padding: 0.75rem 1.5rem;
font-size: 1.25rem;
- line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
@@ -4272,7 +4327,6 @@ fieldset:disabled a.btn {
.pagination-sm .page-link {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
- line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
@@ -4288,7 +4342,7 @@ fieldset:disabled a.btn {
.badge {
display: inline-block;
padding: 0.25em 0.5em;
- font-size: 75%;
+ font-size: 0.75em;
font-weight: 700;
line-height: 1;
color: #fff;
@@ -4336,13 +4390,13 @@ fieldset:disabled a.btn {
}
.alert-primary {
- color: #004085;
- background-color: #cce5ff;
- border-color: #b8daff;
+ color: #073984;
+ background-color: #cfe2ff;
+ border-color: #bbd6fe;
}
.alert-primary .alert-link {
- color: #002752;
+ color: #042454;
}
.alert-secondary {
@@ -4443,7 +4497,7 @@ fieldset:disabled a.btn {
color: #fff;
text-align: center;
white-space: nowrap;
- background-color: #007bff;
+ background-color: #0d6efd;
transition: width 0.6s ease;
}
@@ -4499,6 +4553,7 @@ fieldset:disabled a.btn {
position: relative;
display: block;
padding: 0.75rem 1.25rem;
+ margin-bottom: 0;
background-color: #fff;
border: 1px solid rgba(0, 0, 0, 0.125);
}
@@ -4522,8 +4577,8 @@ fieldset:disabled a.btn {
.list-group-item.active {
z-index: 2;
color: #fff;
- background-color: #007bff;
- border-color: #007bff;
+ background-color: #0d6efd;
+ border-color: #0d6efd;
}
.list-group-item + .list-group-item {
@@ -4678,19 +4733,19 @@ fieldset:disabled a.btn {
}
.list-group-item-primary {
- color: #004085;
- background-color: #b8daff;
+ color: #073984;
+ background-color: #bbd6fe;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
- color: #004085;
- background-color: #9fcdff;
+ color: #073984;
+ background-color: #a2c7fe;
}
.list-group-item-primary.list-group-item-action.active {
color: #fff;
- background-color: #004085;
- border-color: #004085;
+ background-color: #073984;
+ border-color: #073984;
}
.list-group-item-secondary {
@@ -5519,7 +5574,7 @@ a.close.disabled {
background-clip: padding-box;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
- opacity: .5;
+ opacity: 0.5;
transition: opacity 0.6s ease;
}
@@ -5616,11 +5671,11 @@ a.close.disabled {
}
.link-primary {
- color: #007bff;
+ color: #0d6efd;
}
.link-primary:hover, .link-primary:focus {
- color: #0056b3;
+ color: #024dbc;
}
.link-secondary {
@@ -5741,6 +5796,38 @@ a.close.disabled {
top: 0;
z-index: 1020;
}
+ @media (min-width: 576px) {
+ .sticky-sm-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ }
+ @media (min-width: 768px) {
+ .sticky-md-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ }
+ @media (min-width: 992px) {
+ .sticky-lg-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ }
+ @media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ }
}
.sr-only,
@@ -5930,7 +6017,7 @@ a.close.disabled {
}
.border-primary {
- border-color: #007bff !important;
+ border-color: #0d6efd !important;
}
.border-secondary {
@@ -6786,7 +6873,7 @@ a.close.disabled {
}
.text-primary {
- color: #007bff !important;
+ color: #0d6efd !important;
}
.text-secondary {
@@ -6841,8 +6928,24 @@ a.close.disabled {
color: inherit !important;
}
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
.bg-primary {
- background-color: #007bff !important;
+ background-color: #0d6efd !important;
}
.bg-secondary {
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index 3933337e01..c335e916b2 100644
--- a/dist/css/bootstrap.css.map
+++ b/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAKhB,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEFA;EACE,SAAS;EACT,kMCyPiN;ECnJ7M,eAAW;EFpGf,gBCqQ+B;EDpQ/B,gBCyQ+B;EDxQ/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AH+Bf;;AAEA;EEQE,qBAAqB;AFNvB;;AEgBA;EACE,cAAsB;EACtB,cCgRmC;ED/QnC,8BAA8B;EAC9B,SAAS;EACT,aC+Q+B;AH5RjC;;AEgBA;EACE,WC0J+B;AHvKjC;;AEuBA;EACE,aAAa;EACb,qBCgOuC;ED7NvC,gBCgO+B;ED/N/B,gBCgO+B;AHtPjC;;AE0BA;EEyCM,iBAAW;AJ/DjB;;AE2BA;EEoCM,eAAW;AJ3DjB;;AE4BA;EE+BM,kBAAW;AJvDjB;;AE6BA;EE0BM,iBAAW;AJnDjB;;AE8BA;EEqBM,kBAAW;AJ/CjB;;AE+BA;EEgBM,eAAW;AJ3CjB;;AEsCA;EACE,aAAa;EACb,mBC0C8B;AH7EhC;;AE8CA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AF3ChC;;AE+CA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF5CtB;;AE+CA;;EAEE,kBAAkB;AF5CpB;;AE+CA;;;EAGE,aAAa;EACb,mBAAmB;AF5CrB;;AE+CA;;;;EAIE,gBAAgB;AF5ClB;;AE+CA;EACE,gBCuH+B;AHnKjC;;AEiDA;EACE,oBAAoB;EACpB,cAAc;AF9ChB;;AEiDA;EACE,gBAAgB;AF9ClB;;AEmDA;;EAEE,mBCsGkC;AHtJpC;;AEsDA;EEnFI,cAAW;AJiCf;;AEyDA;;EAEE,kBAAkB;EE5FhB,cAAW;EF8Fb,cAAc;EACd,wBAAwB;AFtD1B;;AEyDA;EAAM,cAAc;AFrDpB;;AEsDA;EAAM,UAAU;AFlDhB;;AEuDA;EACE,cC/Le;EDgMf,qBChE4C;AHY9C;;AEkDA;EAKI,cClE8D;EDmE9D,0BClE+C;AHenD;;AE4DA;EAGI,cAAc;EACd,qBAAqB;AF3DzB;;AEkEA;;;;EAIE,iGC8BgH;ECpK9G,cAAW;AJwEf;;AEsEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,gBAAW;AJgFf;;AE8DA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AFpEtB;;AEwEA;EE9JI,gBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AFrEvB;;AEwEE;EACE,cAAc;AFrElB;;AEyEA;EACE,sBCszBuC;ECh+BrC,gBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBFuO+B;AHVnC;;AEiEA;EAQI,UAAU;EEjLV,eAAW;EFmLX,gBCD6B;AHpEjC;;AE8EA;EACE,gBAAgB;AF3ElB;;AEiFA;EACE,sBAAsB;AF9ExB;;AEoFA;EACE,gBAAgB;EAChB,sBAAsB;AFjFxB;;AEyFA;EACE,yBAAyB;AFtF3B;;AEyFA;EACE,mBC4BiC;ED3BjC,sBC2BiC;ED1BjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AFtFtB;;AE4FA;EACE,mBAAmB;AFzFrB;;AEiGA;EACE,qBAAqB;EACrB,qBCiH2C;AH/M7C;;AEqGA;EAEE,gBAAgB;AFnGlB;;AE2GA;EACE,mBAAmB;EACnB,0CAA0C;AFxG5C;;AE6GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;AF1GtB;;AE+GA;;EAEE,iBAAiB;AF5GnB;;AEiHA;;EAEE,oBAAoB;AF9GtB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEwHE,aAAa;AFtHf;;AE8HA;;;;EAIE,0BAA0B;AF3H5B;;AEuHA;;;;EAQM,eAAe;AFxHrB;;AEgIA;EACE,UAAU;EACV,kBAAkB;AF7HpB;;AEuIA;;;;EAIE,6BAA6B;AFpI/B;;AE2IA;EACE,cAAc;EACd,gBAAgB;EAChB,6BAA6B;AFxI/B;;AEkJA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AF/IX;;AEuJA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCxJiC;EChN7B,iBAAW;EF2Wf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AFrJrB;;AEyJA;EACE,cC9JgC;ED+JhC,yBCvJmC;AHCrC;;AE2JA;EACE,wBAAwB;AFxJ1B;;AE+JA;EACE,iBAAiB;EACjB,cAAc;AF5JhB;;AAEA;EEqKE,oBAAoB;EACpB,6BAA6B;AFnK/B;;AEwKA;EACE,wBAAwB;AFrK1B;;AE0KA;EACE,UAAU;AFvKZ;;AE6KA;EACE,aAAa;EACb,0BAA0B;AF1K5B;;AE+KA;EACE,qBAAqB;AF5KvB;;AEiLA;EACE,kBAAkB;EAClB,eAAe;AF9KjB;;AEmLA;EACE,aAAa;AFhLf;;AEmLA;EACE,cAAc;AFhLhB;;AAEA;EEoLE,wBAAwB;AFlL1B;;AM3XA;EF8GM,kBAAW;EE5Gf,gBH8S+B;AHgFjC;;AM1XA;EFwGM,eAAW;EEtGf,gBHiS+B;EGhS/B,gBHwR+B;AHqGjC;;AM3XA;EFmGM,iBAAW;EEjGf,gBH6R+B;EG5R/B,gBHmR+B;AH2GjC;;AM5XA;EF8FM,iBAAW;EE5Ff,gBHyR+B;EGxR/B,gBH8Q+B;AHiHjC;;AM7XA;EFyFM,iBAAW;EEvFf,gBHqR+B;EGpR/B,gBHyQ+B;AHuHjC;;AM9WA;EClEE,eAAe;EACf,gBAAgB;APoblB;;AM9WA;ECvEE,eAAe;EACf,gBAAgB;APyblB;;AMhXA;EACE,qBAAqB;ANmXvB;;AMpXA;EAII,oBHkR+B;AHkGnC;;AM1WA;EF8BI,cAAW;EE5Bb,yBAAyB;AN6W3B;;AMzWA;EACE,mBHkCW;ECKP,kBAAW;AJsUjB;;AMzWA;EACE,cAAc;EFkBZ,cAAW;EEhBb,cH7FgB;AHyclB;;AM/WA;EAMI,qBAAqB;AN6WzB;;AQndA;ECIE,eAAe;EAGf,YAAY;ATidd;;AQldA;EACE,gBL0/BwC;EKz/BxC,sBLRa;EKSb,yBLNgB;EELd,sBFqOgC;EM/NlC,eAAe;EAGf,YAAY;AT0dd;;AQ5cA;EAEE,qBAAqB;AR8cvB;;AQ3cA;EACE,qBAA0B;EAC1B,cAAc;AR8chB;;AQ3cA;EJoFI,cAAW;EIlFb,cL3BgB;AHyelB;;AUhfE;ECDA,WAAW;EACX,mBRuN0C;EQtN1C,kBRsN0C;EQrN1C,kBAAkB;EAClB,iBAAiB;AXqfnB;;AY/bI;EFzDF;ICWI,gBRyLK;EHyTT;AACF;;AYrcI;EFzDF;ICWI,gBR0LK;EH8TT;AACF;;AY3cI;EFzDF;ICWI,gBR2LK;EHmUT;AACF;;AYjdI;EFzDF;ICWI,iBR4LM;EHwUV;AACF;;AU1gBE;ECPA,WAAW;EACX,mBRuN0C;EQtN1C,kBRsN0C;EQrN1C,kBAAkB;EAClB,iBAAiB;AXqhBnB;;AY/dI;EFxCE;IACE,gBPkLG;EHyVT;AACF;;AYreI;EFxCE;IACE,gBPmLG;EH8VT;AACF;;AY3eI;EFxCE;IACE,gBPoLG;EHmWT;AACF;;AYjfI;EFxCE;IACE,iBPqLI;EHwWV;AACF;;AU1gBE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AXmiB3B;;AU3gBE;EACE,eAAe;EACf,cAAc;AV8gBlB;;AUhhBE;;EAMI,gBAAgB;EAChB,eAAe;AV+gBrB;;AajkBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AbykB7B;;AatjBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;AbyjBvB;;AavjBM;EACE,cAAc;EACd,WAAW;EACX,eAAe;Ab0jBvB;;AatjBQ;EFFN,mBAAsC;EAItC,oBAAuC;AXyjBzC;;Aa3jBQ;EFFN,oBAAsC;EAItC,qBAAuC;AX8jBzC;;AahkBQ;EFFN,aAAsC;EAItC,cAAuC;AXmkBzC;;AarkBQ;EFFN,oBAAsC;EAItC,qBAAuC;AXwkBzC;;Aa1kBQ;EFFN,oBAAsC;EAItC,qBAAuC;AX6kBzC;;Aa/kBQ;EFFN,aAAsC;EAItC,cAAuC;AXklBzC;;AaplBQ;EFFN,oBAAsC;EAItC,qBAAuC;AXulBzC;;AazlBQ;EFFN,oBAAsC;EAItC,qBAAuC;AX4lBzC;;Aa9lBQ;EFFN,aAAsC;EAItC,cAAuC;AXimBzC;;AanmBQ;EFFN,oBAAsC;EAItC,qBAAuC;AXsmBzC;;AaxmBQ;EFFN,oBAAsC;EAItC,qBAAuC;AX2mBzC;;Aa7mBQ;EFFN,cAAsC;EAItC,eAAuC;AXgnBzC;;Aa1mBU;EFDR,sBAA8C;AX+mBhD;;Aa9mBU;EFDR,uBAA8C;AXmnBhD;;AalnBU;EFDR,gBAA8C;AXunBhD;;AatnBU;EFDR,uBAA8C;AX2nBhD;;Aa1nBU;EFDR,uBAA8C;AX+nBhD;;Aa9nBU;EFDR,gBAA8C;AXmoBhD;;AaloBU;EFDR,uBAA8C;AXuoBhD;;AatoBU;EFDR,uBAA8C;AX2oBhD;;Aa1oBU;EFDR,gBAA8C;AX+oBhD;;Aa9oBU;EFDR,uBAA8C;AXmpBhD;;AalpBU;EFDR,uBAA8C;AXupBhD;;AYzoBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb8qBrB;Ea5qBI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Eb8qBrB;Ea1qBM;IFFN,mBAAsC;IAItC,oBAAuC;EX4qBvC;Ea9qBM;IFFN,oBAAsC;IAItC,qBAAuC;EXgrBvC;EalrBM;IFFN,aAAsC;IAItC,cAAuC;EXorBvC;EatrBM;IFFN,oBAAsC;IAItC,qBAAuC;EXwrBvC;Ea1rBM;IFFN,oBAAsC;IAItC,qBAAuC;EX4rBvC;Ea9rBM;IFFN,aAAsC;IAItC,cAAuC;EXgsBvC;EalsBM;IFFN,oBAAsC;IAItC,qBAAuC;EXosBvC;EatsBM;IFFN,oBAAsC;IAItC,qBAAuC;EXwsBvC;Ea1sBM;IFFN,aAAsC;IAItC,cAAuC;EX4sBvC;Ea9sBM;IFFN,oBAAsC;IAItC,qBAAuC;EXgtBvC;EaltBM;IFFN,oBAAsC;IAItC,qBAAuC;EXotBvC;EattBM;IFFN,cAAsC;IAItC,eAAuC;EXwtBvC;EaltBQ;IFDR,cAA4B;EXstB5B;EartBQ;IFDR,sBAA8C;EXytB9C;EaxtBQ;IFDR,uBAA8C;EX4tB9C;Ea3tBQ;IFDR,gBAA8C;EX+tB9C;Ea9tBQ;IFDR,uBAA8C;EXkuB9C;EajuBQ;IFDR,uBAA8C;EXquB9C;EapuBQ;IFDR,gBAA8C;EXwuB9C;EavuBQ;IFDR,uBAA8C;EX2uB9C;Ea1uBQ;IFDR,uBAA8C;EX8uB9C;Ea7uBQ;IFDR,gBAA8C;EXivB9C;EahvBQ;IFDR,uBAA8C;EXovB9C;EanvBQ;IFDR,uBAA8C;EXuvB9C;AACF;;AY1uBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb+wBrB;Ea7wBI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Eb+wBrB;Ea3wBM;IFFN,mBAAsC;IAItC,oBAAuC;EX6wBvC;Ea/wBM;IFFN,oBAAsC;IAItC,qBAAuC;EXixBvC;EanxBM;IFFN,aAAsC;IAItC,cAAuC;EXqxBvC;EavxBM;IFFN,oBAAsC;IAItC,qBAAuC;EXyxBvC;Ea3xBM;IFFN,oBAAsC;IAItC,qBAAuC;EX6xBvC;Ea/xBM;IFFN,aAAsC;IAItC,cAAuC;EXiyBvC;EanyBM;IFFN,oBAAsC;IAItC,qBAAuC;EXqyBvC;EavyBM;IFFN,oBAAsC;IAItC,qBAAuC;EXyyBvC;Ea3yBM;IFFN,aAAsC;IAItC,cAAuC;EX6yBvC;Ea/yBM;IFFN,oBAAsC;IAItC,qBAAuC;EXizBvC;EanzBM;IFFN,oBAAsC;IAItC,qBAAuC;EXqzBvC;EavzBM;IFFN,cAAsC;IAItC,eAAuC;EXyzBvC;EanzBQ;IFDR,cAA4B;EXuzB5B;EatzBQ;IFDR,sBAA8C;EX0zB9C;EazzBQ;IFDR,uBAA8C;EX6zB9C;Ea5zBQ;IFDR,gBAA8C;EXg0B9C;Ea/zBQ;IFDR,uBAA8C;EXm0B9C;Eal0BQ;IFDR,uBAA8C;EXs0B9C;Ear0BQ;IFDR,gBAA8C;EXy0B9C;Eax0BQ;IFDR,uBAA8C;EX40B9C;Ea30BQ;IFDR,uBAA8C;EX+0B9C;Ea90BQ;IFDR,gBAA8C;EXk1B9C;Eaj1BQ;IFDR,uBAA8C;EXq1B9C;Eap1BQ;IFDR,uBAA8C;EXw1B9C;AACF;;AY30BI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ebg3BrB;Ea92BI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Ebg3BrB;Ea52BM;IFFN,mBAAsC;IAItC,oBAAuC;EX82BvC;Eah3BM;IFFN,oBAAsC;IAItC,qBAAuC;EXk3BvC;Eap3BM;IFFN,aAAsC;IAItC,cAAuC;EXs3BvC;Eax3BM;IFFN,oBAAsC;IAItC,qBAAuC;EX03BvC;Ea53BM;IFFN,oBAAsC;IAItC,qBAAuC;EX83BvC;Eah4BM;IFFN,aAAsC;IAItC,cAAuC;EXk4BvC;Eap4BM;IFFN,oBAAsC;IAItC,qBAAuC;EXs4BvC;Eax4BM;IFFN,oBAAsC;IAItC,qBAAuC;EX04BvC;Ea54BM;IFFN,aAAsC;IAItC,cAAuC;EX84BvC;Eah5BM;IFFN,oBAAsC;IAItC,qBAAuC;EXk5BvC;Eap5BM;IFFN,oBAAsC;IAItC,qBAAuC;EXs5BvC;Eax5BM;IFFN,cAAsC;IAItC,eAAuC;EX05BvC;Eap5BQ;IFDR,cAA4B;EXw5B5B;Eav5BQ;IFDR,sBAA8C;EX25B9C;Ea15BQ;IFDR,uBAA8C;EX85B9C;Ea75BQ;IFDR,gBAA8C;EXi6B9C;Eah6BQ;IFDR,uBAA8C;EXo6B9C;Ean6BQ;IFDR,uBAA8C;EXu6B9C;Eat6BQ;IFDR,gBAA8C;EX06B9C;Eaz6BQ;IFDR,uBAA8C;EX66B9C;Ea56BQ;IFDR,uBAA8C;EXg7B9C;Ea/6BQ;IFDR,gBAA8C;EXm7B9C;Eal7BQ;IFDR,uBAA8C;EXs7B9C;Ear7BQ;IFDR,uBAA8C;EXy7B9C;AACF;;AY56BI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ebi9BrB;Ea/8BI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Ebi9BrB;Ea78BM;IFFN,mBAAsC;IAItC,oBAAuC;EX+8BvC;Eaj9BM;IFFN,oBAAsC;IAItC,qBAAuC;EXm9BvC;Ear9BM;IFFN,aAAsC;IAItC,cAAuC;EXu9BvC;Eaz9BM;IFFN,oBAAsC;IAItC,qBAAuC;EX29BvC;Ea79BM;IFFN,oBAAsC;IAItC,qBAAuC;EX+9BvC;Eaj+BM;IFFN,aAAsC;IAItC,cAAuC;EXm+BvC;Ear+BM;IFFN,oBAAsC;IAItC,qBAAuC;EXu+BvC;Eaz+BM;IFFN,oBAAsC;IAItC,qBAAuC;EX2+BvC;Ea7+BM;IFFN,aAAsC;IAItC,cAAuC;EX++BvC;Eaj/BM;IFFN,oBAAsC;IAItC,qBAAuC;EXm/BvC;Ear/BM;IFFN,oBAAsC;IAItC,qBAAuC;EXu/BvC;Eaz/BM;IFFN,cAAsC;IAItC,eAAuC;EX2/BvC;Ear/BQ;IFDR,cAA4B;EXy/B5B;Eax/BQ;IFDR,sBAA8C;EX4/B9C;Ea3/BQ;IFDR,uBAA8C;EX+/B9C;Ea9/BQ;IFDR,gBAA8C;EXkgC9C;EajgCQ;IFDR,uBAA8C;EXqgC9C;EapgCQ;IFDR,uBAA8C;EXwgC9C;EavgCQ;IFDR,gBAA8C;EX2gC9C;Ea1gCQ;IFDR,uBAA8C;EX8gC9C;Ea7gCQ;IFDR,uBAA8C;EXihC9C;EahhCQ;IFDR,gBAA8C;EXohC9C;EanhCQ;IFDR,uBAA8C;EXuhC9C;EathCQ;IFDR,uBAA8C;EX0hC9C;AACF;;AcxkCA;EACE,WAAW;EACX,mBX+HW;EW9HX,cXSgB;EWRhB,mBX0W+B;AHiuBjC;;Ac/kCA;;EASI,eXkW+B;EWjW/B,gCXJc;AH+kClB;;AcrlCA;EAcI,uBAAuB;Ad2kC3B;;AczlCA;EAkBI,gCXZc;AHulClB;;Ac7lCA;EAsBI,sBAAsB;EACtB,4BXbc;AHwlClB;;AclmCA;EA2BI,6BXrBc;AHgmClB;;AclkCA;;EAGI,gBXqUgC;AH+vBpC;;Ac3jCA;EACE,yBX3CgB;AHymClB;;Ac/jCA;;EAKI,yBX/Cc;AH8mClB;;AcpkCA;;EAWM,wBAA4C;Ad8jClD;;AczjCA;;;;EAKI,SAAS;Ad2jCb;;AcnjCA;EAEI,qCXlEW;AHunCf;;Ac5iCA;EAGM,cX/EY;EWgFZ,sCX/ES;AH4nCf;;AexoCE;;;EAII,yBC2F4D;AhB+iClE;;Ae9oCE;;;;EAYM,qBCmF0D;AhBsjClE;;AeloCE;EAKM,yBAJsC;AfqoC9C;;AetoCE;;EASQ,yBARoC;Af0oC9C;;Ae9pCE;;;EAII,yBC2F4D;AhBqkClE;;AepqCE;;;;EAYM,qBCmF0D;AhB4kClE;;AexpCE;EAKM,yBAJsC;Af2pC9C;;Ae5pCE;;EASQ,yBARoC;AfgqC9C;;AeprCE;;;EAII,yBC2F4D;AhB2lClE;;Ae1rCE;;;;EAYM,qBCmF0D;AhBkmClE;;Ae9qCE;EAKM,yBAJsC;AfirC9C;;AelrCE;;EASQ,yBARoC;AfsrC9C;;Ae1sCE;;;EAII,yBC2F4D;AhBinClE;;AehtCE;;;;EAYM,qBCmF0D;AhBwnClE;;AepsCE;EAKM,yBAJsC;AfusC9C;;AexsCE;;EASQ,yBARoC;Af4sC9C;;AehuCE;;;EAII,yBC2F4D;AhBuoClE;;AetuCE;;;;EAYM,qBCmF0D;AhB8oClE;;Ae1tCE;EAKM,yBAJsC;Af6tC9C;;Ae9tCE;;EASQ,yBARoC;AfkuC9C;;AetvCE;;;EAII,yBC2F4D;AhB6pClE;;Ae5vCE;;;;EAYM,qBCmF0D;AhBoqClE;;AehvCE;EAKM,yBAJsC;AfmvC9C;;AepvCE;;EASQ,yBARoC;AfwvC9C;;Ae5wCE;;;EAII,yBC2F4D;AhBmrClE;;AelxCE;;;;EAYM,qBCmF0D;AhB0rClE;;AetwCE;EAKM,yBAJsC;AfywC9C;;Ae1wCE;;EASQ,yBARoC;Af8wC9C;;AelyCE;;;EAII,yBC2F4D;AhBysClE;;AexyCE;;;;EAYM,qBCmF0D;AhBgtClE;;Ae5xCE;EAKM,yBAJsC;Af+xC9C;;AehyCE;;EASQ,yBARoC;AfoyC9C;;AexzCE;;;EAII,sCZQS;AHkzCf;;Ae3yCE;EAKM,sCAJsC;Af8yC9C;;Ae/yCE;;EASQ,sCARoC;AfmzC9C;;AcrtCA;EAGM,WXnHS;EWoHT,yBX5GY;EW6GZ,qBX2QqD;AH28B3D;;Ac3tCA;EAWM,cXpHY;EWqHZ,yBX1HY;EW2HZ,qBX1HY;AH80ClB;;Ac/sCA;EACE,WXnIa;EWoIb,yBX5HgB;AH80ClB;;AcptCA;;;EAOI,qBXuPuD;AH49B3D;;Ac1tCA;EAWI,SAAS;AdmtCb;;Ac9tCA;EAgBM,2CXlJS;AHo2Cf;;AcluCA;EAuBQ,WXzJO;EW0JP,4CX1JO;AHy2Cf;;AYpyCI;EEsGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EdisCvC;EctsCG;IASK,SAAS;EdgsCjB;AACF;;AYhzCI;EEsGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ed6sCvC;EcltCG;IASK,SAAS;Ed4sCjB;AACF;;AY5zCI;EEsGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EdytCvC;Ec9tCG;IASK,SAAS;EdwtCjB;AACF;;AYx0CI;EEsGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EdquCvC;Ec1uCG;IASK,SAAS;EdouCjB;AACF;;AcnvCA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AdgvCzC;;Ac1vCA;EAcU,SAAS;AdgvCnB;;AiBr6CA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EbiHd,kBAAW;Ea/Gb,gBdqS+B;AHmoCjC;;AiBr6CA;EACE,+BAAkE;EAClE,kCAAqE;Eb0HjE,kBAAW;EaxHf,gBdkN+B;AHstCjC;;AiBr6CA;EACE,gCAAkE;EAClE,mCAAqE;EbmHjE,mBAAW;EajHf,gBd4M+B;AH4tCjC;;AkB37CA;EACE,cAAc;EACd,WAAW;EACX,uCf+f2H;Ee9f3H,yBf4YkC;EC5Q9B,eAAW;Ec7Hf,gBf8R+B;Ee7R/B,gBfkS+B;EejS/B,cfDgB;EeEhB,sBfTa;EeUb,4BAA4B;EAC5B,yBfPgB;EENd,sBFqOgC;EgBpO9B,wEhBsgB4F;AHq8BlG;;AmBt8CI;EDLJ;ICMM,gBAAgB;EnB08CpB;AACF;;AkBj9CA;EAsBI,6BAA6B;EAC7B,SAAS;AlB+7Cb;;AkBt9CA;EA4BI,cfpBc;EeqBd,sBf5BW;Ee6BX,qBfsdsE;EerdtE,UAAU;EAKR,gDfNW;AHg8CjB;;AkB99CA;EA0CI,cfnCc;EeqCd,UAAU;AlBu7Cd;;AkBn+CA;EA0CI,cfnCc;EeqCd,UAAU;AlBu7Cd;;AkBn+CA;EA0CI,cfnCc;EeqCd,UAAU;AlBu7Cd;;AkBn+CA;EA0CI,cfnCc;EeqCd,UAAU;AlBu7Cd;;AkBn+CA;EA0CI,cfnCc;EeqCd,UAAU;AlBu7Cd;;AkBn+CA;EAsDI,yBfnDc;EesDd,UAAU;AlB+6Cd;;AkBt6CA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBfmO+B;EelO/B,cf9DgB;Ee+DhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AlBy6CrC;;AkBl7CA;EAaI,gBAAgB;EAChB,eAAe;AlBy6CnB;;AkB95CA;EACE,sCfuaqI;EetarI,uBf6TiC;ECtR7B,mBAAW;EcrCf,gBfgI+B;EEhO7B,qBFuO+B;AH2xCnC;;AkB95CA;EACE,oCfgaqI;Ee/ZrI,oBf0TgC;EC3R5B,kBAAW;Ec7Bf,gBfuH+B;EE/N7B,qBFsO+B;AHoyCnC;;AkB95CA;EACE,eAAe;EACf,iBfkSmC;AH+nCrC;;AkB95CA;EbjHI,sBFqOgC;AH8yCpC;;AkB95CA;EbrHI,sBFqOgC;AHkzCpC;;AoBvhDA;EACE,qBAAqB;EACrB,WAAW;EACX,mCjBggB2H;EiB/f3H,0CjB6YkC;EC5Q9B,eAAW;EgB9Hf,gBjB+R+B;EiB9R/B,gBjBmS+B;EiBlS/B,cjBAgB;EiBChB,sBAAsB;EACtB,yRjB4kBsG;EiB3kBtG,yBjBNgB;EENd,sBFqOgC;EiBtNlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ApBwhDlB;;AoBviDA;EAkBI,qBjBmesE;EiBletE,UAAU;EAIR,gDjBQW;AH8gDjB;;AoB7iDA;EAgCM,cjBvBY;EiBwBZ,sBjB/BS;AHgjDf;;AoBljDA;EAuCI,YAAY;EACZ,sBjByWgC;EiBxWhC,sBAAsB;ApB+gD1B;;AoBxjDA;EA6CI,cjBrCc;EiBsCd,yBjB1Cc;AHyjDlB;;AoB7jDA;EAoDI,aAAa;ApB6gDjB;;AoBzgDA;EACE,kCjB2cqI;EiB1crI,oBjBgWkC;EiB/VlC,uBjB+VkC;EiB9VlC,oBjB+ViC;ECtR7B,mBAAW;AJo8CjB;;AoBzgDA;EACE,gCjBocqI;EiBncrI,mBjB6ViC;EiB5VjC,sBjB4ViC;EiB3VjC,kBjB4VgC;EC3R5B,kBAAW;AJ48CjB;;AqBllDA;EACE,cAAc;EACd,kBlB0gB2E;EkBzgB3E,oBlB0gBsE;EkBzgBtE,uBlB0gB+C;AH2kCjD;;AqBllDA;EACE,WAAW;EACX,alBkgB8C;EkBjgB9C,clBigB8C;EkB/f9C,sCAA0D;EAC1D,oBAA0C;EAC1C,sBlBXa;EkBYb,qClBogBoE;EkBngBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ArBolDlB;;AqB7lDA;EhBNI,qBFmhB2C;AHolC/C;;AqBjmDA;EhBNI,kBFohByC;AHulC7C;;AqBrmDA;EAoBI,+BlBqfqD;EkBrfrD,uBlBqfqD;AHgmCzD;;AqBzmDA;EAwBI,qBlBudsE;EkBtdtE,UAAU;EACV,gDlBDa;AHslDjB;;AqB/mDA;EA8BI,yBlBLa;EkBMb,4BlBsf+C;EkBrf/C,kClBsfmD;EkBrfnD,oBlBsfyC;EkBrfzC,qBlBTa;AH8lDjB;;AqBvnDA;EAqCM,mPLmBqI;AhBmkD3I;;AqB3nDA;EAyCM,uJLeqI;AhBukD3I;;AqB/nDA;EA8CI,yBlBrBa;EkBsBb,wOLSuI;EKRvI,4BlB8eqD;EkB7erD,kClB8eyD;EkB7ezD,oBlB8e+C;EkB7e/C,qBlB1Ba;AH+mDjB;;AqBxoDA;EAyDI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;ArBmlDf;;AqB9oDA;EA8DM,WAAW;ArBolDjB;;AqB/kDA;EACE,gBAAgB;ArBklDlB;;AqB3kDA;EACE,mBlB0dyD;AHonC3D;;AqB/kDA;EAII,UlBqdiC;EkBpdjC,mBAA2C;EAC3C,oKLzBuI;EK0BvI,4BAA4B;EAC5B,gCAAgC;EAChC,mCAAmD;EhB1FnD,kBF0iBiC;AHgoCrC;;AqBzlDA;EAgBM,0JLnCqI;AhBgnD3I;;AqB7lDA;EAoBM,uJLvCqI;EKwCrI,iClBidwC;AH4nC9C;;AqBxkDA;EACE,qBAAqB;EACrB,kBlB8c0C;AH6nC5C;;AsB7rDA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCnBogB2H;EmBngB3H,gBAAgB;AtBgsDlB;;AsB7rDA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCnB4f2H;EmB3f3H,SAAS;EACT,UAAU;AtBgsDZ;;AsBtsDA;EAWI,qBnBuesE;EmBtetE,gDnBgBa;AH+qDjB;;AsB3sDA;EAgBI,qBnBkesE;EmBjetE,gDnBWa;AHorDjB;;AsBhtDA;EAuBI,yBnBtBc;AHmtDlB;;AsBxrDA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,mCnB6d2H;EmB5d3H,qBnBjCgB;EENd,sBFqOgC;AH8/CpC;;AsBvrDA;EACE,cAAc;EACd,YAAY;EACZ,yBnBkWkC;EmBjWlC,gBAAgB;EAEhB,gBnBoP+B;EmBnP/B,gBnBwP+B;EmBvP/B,cnB3CgB;EmB4ChB,uBAAuB;EACvB,mBAAmB;EACnB,sBnBrDa;EmBsDb,qBAAqB;EACrB,mBAAmB;EACnB,iBnBwK+B;EEpM7B,+BiB6BiC;EjB5BjC,kCiB4BiC;AtB0rDrC;;AsBvrDA;EACE,cAAc;EACd,cAAc;EACd,yBnBgVkC;EmB/UlC,iBnBgK+B;EmB/J/B,gBnBwO+B;EmBvO/B,cnB3DgB;EoBRd,yBpBGc;EmBkEhB,qBAAqB;EACrB,mBAAmB;EACnB,iBnB0J+B;EElN7B,gCiByDkC;EjBxDlC,mCiBwDkC;AtB2rDtC;;AwBnwDA;EACE,WAAW;EACX,2BAA2F;EAC3F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AxBswDlB;;AwB3wDA;EAQI,aAAa;AxBuwDjB;;AwB/wDA;EAY8B,gErBkBb;AHqvDjB;;AwBnxDA;EAa8B,gErBiBb;AHyvDjB;;AwBvxDA;EAc8B,gErBgBb;AH6vDjB;;AwB3xDA;EAkBI,SAAS;AxB6wDb;;AwB/xDA;EAsBI,WrBgmB2C;EqB/lB3C,YrB+lB2C;EqB9lB3C,oBAAqE;EDxBrE,yBpB8Ba;EqBJb,SrB+lBwC;EE1nBxC,mBF2nB2C;EgB1nBzC,4GhBgoBkI;EqBlmBpI,wBAAgB;EAAhB,gBAAgB;AxB4wDpB;;AmBryDI;EKLJ;ILMM,gBAAgB;EnByyDpB;AACF;;AwBhzDA;EDAI,yBpB8nByE;AHsrC7E;;AwBpzDA;EAsCI,WrBykBkC;EqBxkBlC,crBykBmC;EqBxkBnC,kBAAkB;EAClB,erBwkBqC;EqBvkBrC,yBrBtCc;EqBuCd,yBAAyB;EnB5CzB,mBFonBkC;AH2sCtC;;AwB9zDA;EAiDI,WrBqkB2C;EqBpkB3C,YrBokB2C;EoBtnB3C,yBpB8Ba;EqBsBb,SrBqkBwC;EE1nBxC,mBF2nB2C;EgB1nBzC,4GhBgoBkI;EqBxkBpI,qBAAgB;EAAhB,gBAAgB;AxBgxDpB;;AmBn0DI;EKLJ;ILMM,gBAAgB;EnBu0DpB;AACF;;AwB90DA;EDAI,yBpB8nByE;AHotC7E;;AwBl1DA;EAgEI,WrB+iBkC;EqB9iBlC,crB+iBmC;EqB9iBnC,kBAAkB;EAClB,erB8iBqC;EqB7iBrC,yBrBhEc;EqBiEd,yBAAyB;EnBtEzB,mBFonBkC;AHyuCtC;;AwB51DA;EA2EI,WrB2iB2C;EqB1iB3C,YrB0iB2C;EqBziB3C,aAAa;EACb,oBrBuU+B;EqBtU/B,mBrBsU+B;EoBrZ/B,yBpB8Ba;EqBmDb,SrBwiBwC;EE1nBxC,mBF2nB2C;EgB1nBzC,4GhBgoBkI;EqB3iBpI,gBAAgB;AxBoxDpB;;AmBp2DI;EKLJ;ILMM,gBAAgB;EnBw2DpB;AACF;;AwB/2DA;EDAI,yBpB8nByE;AHqvC7E;;AwBn3DA;EA6FI,WrBkhBkC;EqBjhBlC,crBkhBmC;EqBjhBnC,kBAAkB;EAClB,erBihBqC;EqBhhBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;AxB0xD9C;;AwB73DA;EAwGI,yBrBpGc;EELd,mBFonBkC;AH+wCtC;;AwBl4DA;EA6GI,kBAAkB;EAClB,yBrB1Gc;EELd,mBFonBkC;AHqxCtC;;AwBx4DA;EAoHM,yBrB9GY;AHs4DlB;;AwB54DA;EAwHM,eAAe;AxBwxDrB;;AwBh5DA;EA4HM,yBrBtHY;AH84DlB;;AwBp5DA;EAgIM,eAAe;AxBwxDrB;;AwBx5DA;EAoIM,yBrB9HY;AHs5DlB;;AyB75DE;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AzBg6D7C;;AyBp6DE;;EAQI,kBAA0C;EAC1C,iBAAyC;AzBi6D/C;;AyBn5DA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AzBs5DrB;;AyBz5DA;EASI,WAAW;AzBo5Df;;AY13DI;EanCJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EzBm5DpB;EyBr6DF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EzBi5DpB;EyB56DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EzB+4D1B;EyBj7DF;IAuCM,qBAAqB;EzB64DzB;EyBp7DF;;IA4CM,WAAW;EzB44Df;EyBx7DF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EzBy4DnB;EyB/7DF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBtB0ewC;IsBzexC,cAAc;EzBy4DlB;AACF;;A0B79DA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A1Bg+Db;;A0Br+DA;;;EAUI,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,gBAAgB;A1Bi+DpB;;A0B9+DA;;;;;;;;;EAkBM,iBvB+M2B;AHyxDjC;;A0B1/DA;;;EA0BI,UAAU;A1Bs+Dd;;A0BhgEA;EA+BI,UAAU;A1Bq+Dd;;A0BpgEA;;ErBeI,0BqBqBmD;ErBpBnD,6BqBoBmD;A1Bs+DvD;;A0B1gEA;;ErB6BI,yBqBQmD;ErBPnD,4BqBOmD;A1B2+DvD;;A0BhhEA;EA2CI,aAAa;EACb,mBAAmB;A1By+DvB;;A0BrhEA;ErBeI,0BqB+BoE;ErB9BpE,6BqB8BoE;A1B4+DxE;;A0B1hEA;ErB6BI,yBqBkBoE;ErBjBpE,4BqBiBoE;A1Bg/DxE;;A0Br+DA;;EAEE,aAAa;A1Bw+Df;;A0B1+DA;;EAQI,kBAAkB;EAClB,UAAU;A1Bu+Dd;;A0Bh/DA;;EAYM,UAAU;A1By+DhB;;A0Br/DA;;;;;;;;EAoBI,iBvBmJ6B;AHy1DjC;;A0Bx+DA;EAAuB,kBvB+IU;AH61DjC;;A0B3+DA;EAAsB,iBvB8IW;AHi2DjC;;A0Bv+DA;EACE,aAAa;EACb,mBAAmB;EACnB,yBvBkTkC;EuBjTlC,gBAAgB;EtBqCZ,eAAW;EsBnCf,gBvBoM+B;EuBnM/B,gBvBwM+B;EuBvM/B,cvB3FgB;EuB4FhB,kBAAkB;EAClB,mBAAmB;EACnB,yBvBnGgB;EuBoGhB,yBvBlGgB;EENd,sBFqOgC;AH82DpC;;A0Bv/DA;;EAkBI,aAAa;A1B0+DjB;;A0Bh+DA;EACE,oCvB4YqI;AHulDvI;;A0Bh+DA;EACE,gCvBwYqI;AH2lDvI;;A0Bh+DA;;;;;;EAME,oBvB0RgC;EC3R5B,kBAAW;EsBGf,gBvBuF+B;EE/N7B,qBFsO+B;AHs4DnC;;A0Bh+DA;EACE,sCvBuXqI;AH4mDvI;;A0Bh+DA;EACE,kCvBmXqI;AHgnDvI;;A0Bh+DA;;;;;;EAME,uBvBiQiC;ECtR7B,mBAAW;EsBuBf,gBvBoE+B;EEhO7B,qBFuO+B;AHy5DnC;;A0Bh+DA;;EAEE,sBAAsE;A1Bm+DxE;;A0Bx9DA;;;;;;ErB7JI,0BqBmK4B;ErBlK5B,6BqBkK4B;A1B49DhC;;A0Bz9DA;;;;;;ErBxJI,yBqB8J2B;ErB7J3B,4BqB6J2B;A1B69D/B;;A2BpnEE;EACE,aAAa;EACb,WAAW;EACX,mBxBihB0C;ECpc1C,cAAW;EuB3EX,cxBJa;AH2nEjB;;A2BpnEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxBsyBqC;EwBryBrC,iBAAiB;EvBiFf,mBAAW;EuB/Eb,gBxBqP6B;EwBpP7B,WxBrDW;EwBsDX,wCxBlBa;EEtCb,sBFqOgC;AH28DpC;;A2BvpEI;EAqCE,qBxBxBW;EwB2BT,oCxB8b2F;EwB7b3F,4PXJmI;EWKnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gExB2bwF;AHyrDhG;;A2BhqEI;EAgDI,qBxBnCS;EwBoCT,gDxBpCS;AHwpEjB;;A2BrqEI;;;EAsDI,cAAc;A3BqnEtB;;A2B3qEI;EA+DI,oCxBua2F;EwBta3F,kFxBwa6F;AHwsDrG;;A2BhrEI;EAuEE,qBxB1DW;EwB6DT,sDxBsfkJ;EwBrflJ,olBAAyL;A3B2mEjM;;A2BtrEI;EA+EI,qBxBlES;EwBmET,gDxBnES;AH8qEjB;;A2B3rEI;;;EAqFI,cAAc;A3B4mEtB;;A2BjsEI;;;EA+FI,cAAc;A3BwmEtB;;A2BvsEI;EAsGE,qBxBzFW;AH8rEjB;;A2B3sEI;EJxBA,yBIiI6C;A3BsmEjD;;A2B/sEI;EA6GI,gDxBhGS;AHssEjB;;A2BntEI;EAiHI,cxBpGS;AH0sEjB;;A2BvtEI;;;EAsHI,cAAc;A3BumEtB;;A2BnmEE;EAEI,iBAAiB;A3BqmEvB;;A2BjuEI;EAoII,qBxBvHS;AHwtEjB;;A2BruEI;;;EAyII,cAAc;A3BkmEtB;;A2B3uEI;EA8IM,qBxBjIO;EwBkIP,gDxBlIO;AHmuEjB;;A2BpuEE;EACE,aAAa;EACb,WAAW;EACX,mBxBihB0C;ECpc1C,cAAW;EuB3EX,cxBPa;AH8uEjB;;A2BpuEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxBsyBqC;EwBryBrC,iBAAiB;EvBiFf,mBAAW;EuB/Eb,gBxBqP6B;EwBpP7B,WxBrDW;EwBsDX,wCxBrBa;EEnCb,sBFqOgC;AH2jEpC;;A2BvwEI;EAqCE,qBxB3BW;EwB8BT,oCxB8b2F;EwB7b3F,4UXJmI;EWKnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gExB2bwF;AHyyDhG;;A2BhxEI;EAgDI,qBxBtCS;EwBuCT,gDxBvCS;AH2wEjB;;A2BrxEI;;;EAsDI,cAAc;A3BquEtB;;A2B3xEI;EA+DI,oCxBua2F;EwBta3F,kFxBwa6F;AHwzDrG;;A2BhyEI;EAuEE,qBxB7DW;EwBgET,sDxBsfkJ;EwBrflJ,oqBAAyL;A3B2tEjM;;A2BtyEI;EA+EI,qBxBrES;EwBsET,gDxBtES;AHiyEjB;;A2B3yEI;;;EAqFI,cAAc;A3B4tEtB;;A2BjzEI;;;EA+FI,cAAc;A3BwtEtB;;A2BvzEI;EAsGE,qBxB5FW;AHizEjB;;A2B3zEI;EJxBA,yBIiI6C;A3BstEjD;;A2B/zEI;EA6GI,gDxBnGS;AHyzEjB;;A2Bn0EI;EAiHI,cxBvGS;AH6zEjB;;A2Bv0EI;;;EAsHI,cAAc;A3ButEtB;;A2BntEE;EAEI,iBAAiB;A3BqtEvB;;A2Bj1EI;EAoII,qBxB1HS;AH20EjB;;A2Br1EI;;;EAyII,cAAc;A3BktEtB;;A2B31EI;EA8IM,qBxBpIO;EwBqIP,gDxBrIO;AHs1EjB;;A4Bx3EA;EACE,qBAAqB;EAErB,gBzBkS+B;EyBjS/B,czBMgB;EyBLhB,kBAAkB;EAClB,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECwF3C,yB1B8SkC;EC5Q9B,eAAW;EyBhCf,gB1BsM+B;EE3S7B,sBFqOgC;EgBpO9B,qIhB8c6I;AH27DnJ;;AmBp4EI;ESLJ;ITMM,gBAAgB;EnBw4EpB;AACF;;A4B/4EA;EAeI,czBLc;EyBMd,qBAAqB;A5Bo4EzB;;A4Bp5EA;EAqBI,UAAU;EACV,gDzBQa;AH23EjB;;A4Bz5EA;EA4BI,azBoa6B;AH69DjC;;A4Bl3EA;;EAEE,oBAAoB;A5Bq3EtB;;A4B52EE;ECtDA,W1BCa;EoBDX,yBpB8Ba;E0B5Bf,qB1B4Be;AH04EjB;;A6Bn6EE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7B+6E7H;;A6Bn6EE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7Bi6EvF;;A6B55EE;EAEE,W1B1BW;E0B2BX,yB1BEa;E0BDb,qB1BCa;AH65EjB;;A6Bv5EE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7Bm8EnN;;A6Bp5EI;;EAKI,gDAAiF;A7Bo5EzF;;A4Bj5EE;ECtDA,W1BCa;EoBDX,yBpBOc;E0BLhB,qB1BKgB;AHs8ElB;;A6Bx8EE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7Bo9E7H;;A6Bx8EE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;A7Bs8EvF;;A6Bj8EE;EAEE,W1B1BW;E0B2BX,yB1BrBc;E0BsBd,qB1BtBc;AHy9ElB;;A6B57EE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7Bw+EnN;;A6Bz7EI;;EAKI,iDAAiF;A7By7EzF;;A4Bt7EE;ECtDA,W1BCa;EoBDX,yBpBqCa;E0BnCf,qB1BmCe;AH68EjB;;A6B7+EE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7By/E7H;;A6B7+EE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;A7B2+EvF;;A6Bt+EE;EAEE,W1B1BW;E0B2BX,yB1BSa;E0BRb,qB1BQa;AHg+EjB;;A6Bj+EE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7B6gFnN;;A6B99EI;;EAKI,+CAAiF;A7B89EzF;;A4B39EE;ECtDA,W1BCa;EoBDX,yBpBuCa;E0BrCf,qB1BqCe;AHg/EjB;;A6BlhFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7B8hF7H;;A6BlhFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7BghFvF;;A6B3gFE;EAEE,W1B1BW;E0B2BX,yB1BWa;E0BVb,qB1BUa;AHmgFjB;;A6BtgFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BkjFnN;;A6BngFI;;EAKI,gDAAiF;A7BmgFzF;;A4BhgFE;ECtDA,c1BUgB;EoBVd,yBpBoCa;E0BlCf,qB1BkCe;AHwhFjB;;A6BvjFE;EACE,c1BIc;EoBVd,yBMDoF;EASpF,qBATyH;A7BmkF7H;;A6BvjFE;EAEE,c1BHc;EoBVd,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7BqjFvF;;A6BhjFE;EAEE,c1BjBc;E0BkBd,yB1BQa;E0BPb,qB1BOa;AH2iFjB;;A6B3iFE;;EAGE,c1B7Bc;E0B8Bd,yBAzCuK;EA6CvK,qBA7C+M;A7BulFnN;;A6BxiFI;;EAKI,gDAAiF;A7BwiFzF;;A4BriFE;ECtDA,W1BCa;EoBDX,yBpBkCa;E0BhCf,qB1BgCe;AH+jFjB;;A6B5lFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7BwmF7H;;A6B5lFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;A7B0lFvF;;A6BrlFE;EAEE,W1B1BW;E0B2BX,yB1BMa;E0BLb,qB1BKa;AHklFjB;;A6BhlFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7B4nFnN;;A6B7kFI;;EAKI,+CAAiF;A7B6kFzF;;A4B1kFE;ECtDA,c1BUgB;EoBVd,yBpBEc;E0BAhB,qB1BAgB;AHooFlB;;A6BjoFE;EACE,c1BIc;EoBVd,yBMDoF;EASpF,qBATyH;A7B6oF7H;;A6BjoFE;EAEE,c1BHc;EoBVd,yBMDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;A7B+nFvF;;A6B1nFE;EAEE,c1BjBc;E0BkBd,yB1B1Bc;E0B2Bd,qB1B3Bc;AHupFlB;;A6BrnFE;;EAGE,c1B7Bc;E0B8Bd,yBAzCuK;EA6CvK,qBA7C+M;A7BiqFnN;;A6BlnFI;;EAKI,iDAAiF;A7BknFzF;;A4B/mFE;ECtDA,W1BCa;EoBDX,yBpBSc;E0BPhB,qB1BOgB;AHkqFlB;;A6BtqFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7BkrF7H;;A6BtqFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;A7BoqFvF;;A6B/pFE;EAEE,W1B1BW;E0B2BX,yB1BnBc;E0BoBd,qB1BpBc;AHqrFlB;;A6B1pFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BssFnN;;A6BvpFI;;EAKI,8CAAiF;A7BupFzF;;A4B9oFE;ECFA,c1B5Be;E0B6Bf,qB1B7Be;AHirFjB;;A6BlpFE;EACE,W1B7DW;E0B8DX,yB1BjCa;E0BkCb,qB1BlCa;AHurFjB;;A6BlpFE;EAEE,+C1BvCa;AH2rFjB;;A6BjpFE;EAEE,c1B5Ca;E0B6Cb,6BAA6B;A7BmpFjC;;A6BhpFE;;EAGE,W1BhFW;E0BiFX,yB1BpDa;E0BqDb,qB1BrDa;AHusFjB;;A6BhpFI;;EAKI,+C1B5DS;AH4sFjB;;A4B9qFE;ECFA,c1BnDgB;E0BoDhB,qB1BpDgB;AHwuFlB;;A6BlrFE;EACE,W1B7DW;E0B8DX,yB1BxDc;E0ByDd,qB1BzDc;AH8uFlB;;A6BlrFE;EAEE,iD1B9Dc;AHkvFlB;;A6BjrFE;EAEE,c1BnEc;E0BoEd,6BAA6B;A7BmrFjC;;A6BhrFE;;EAGE,W1BhFW;E0BiFX,yB1B3Ec;E0B4Ed,qB1B5Ec;AH8vFlB;;A6BhrFI;;EAKI,iD1BnFU;AHmwFlB;;A4B9sFE;ECFA,c1BrBe;E0BsBf,qB1BtBe;AH0uFjB;;A6BltFE;EACE,W1B7DW;E0B8DX,yB1B1Ba;E0B2Bb,qB1B3Ba;AHgvFjB;;A6BltFE;EAEE,+C1BhCa;AHovFjB;;A6BjtFE;EAEE,c1BrCa;E0BsCb,6BAA6B;A7BmtFjC;;A6BhtFE;;EAGE,W1BhFW;E0BiFX,yB1B7Ca;E0B8Cb,qB1B9Ca;AHgwFjB;;A6BhtFI;;EAKI,+C1BrDS;AHqwFjB;;A4B9uFE;ECFA,c1BnBe;E0BoBf,qB1BpBe;AHwwFjB;;A6BlvFE;EACE,W1B7DW;E0B8DX,yB1BxBa;E0ByBb,qB1BzBa;AH8wFjB;;A6BlvFE;EAEE,gD1B9Ba;AHkxFjB;;A6BjvFE;EAEE,c1BnCa;E0BoCb,6BAA6B;A7BmvFjC;;A6BhvFE;;EAGE,W1BhFW;E0BiFX,yB1B3Ca;E0B4Cb,qB1B5Ca;AH8xFjB;;A6BhvFI;;EAKI,gD1BnDS;AHmyFjB;;A4B9wFE;ECFA,c1BtBe;E0BuBf,qB1BvBe;AH2yFjB;;A6BlxFE;EACE,c1BpDc;E0BqDd,yB1B3Ba;E0B4Bb,qB1B5Ba;AHizFjB;;A6BlxFE;EAEE,+C1BjCa;AHqzFjB;;A6BjxFE;EAEE,c1BtCa;E0BuCb,6BAA6B;A7BmxFjC;;A6BhxFE;;EAGE,c1BvEc;E0BwEd,yB1B9Ca;E0B+Cb,qB1B/Ca;AHi0FjB;;A6BhxFI;;EAKI,+C1BtDS;AHs0FjB;;A4B9yFE;ECFA,c1BxBe;E0ByBf,qB1BzBe;AH60FjB;;A6BlzFE;EACE,W1B7DW;E0B8DX,yB1B7Ba;E0B8Bb,qB1B9Ba;AHm1FjB;;A6BlzFE;EAEE,+C1BnCa;AHu1FjB;;A6BjzFE;EAEE,c1BxCa;E0ByCb,6BAA6B;A7BmzFjC;;A6BhzFE;;EAGE,W1BhFW;E0BiFX,yB1BhDa;E0BiDb,qB1BjDa;AHm2FjB;;A6BhzFI;;EAKI,+C1BxDS;AHw2FjB;;A4B90FE;ECFA,c1BxDgB;E0ByDhB,qB1BzDgB;AH64FlB;;A6Bl1FE;EACE,c1BpDc;E0BqDd,yB1B7Dc;E0B8Dd,qB1B9Dc;AHm5FlB;;A6Bl1FE;EAEE,iD1BnEc;AHu5FlB;;A6Bj1FE;EAEE,c1BxEc;E0ByEd,6BAA6B;A7Bm1FjC;;A6Bh1FE;;EAGE,c1BvEc;E0BwEd,yB1BhFc;E0BiFd,qB1BjFc;AHm6FlB;;A6Bh1FI;;EAKI,iD1BxFU;AHw6FlB;;A4B92FE;ECFA,c1BjDgB;E0BkDhB,qB1BlDgB;AHs6FlB;;A6Bl3FE;EACE,W1B7DW;E0B8DX,yB1BtDc;E0BuDd,qB1BvDc;AH46FlB;;A6Bl3FE;EAEE,8C1B5Dc;AHg7FlB;;A6Bj3FE;EAEE,c1BjEc;E0BkEd,6BAA6B;A7Bm3FjC;;A6Bh3FE;;EAGE,W1BhFW;E0BiFX,yB1BzEc;E0B0Ed,qB1B1Ec;AH47FlB;;A6Bh3FI;;EAKI,8C1BjFU;AHi8FlB;;A4Bn4FA;EACE,gBzB6N+B;EyB5N/B,czB3Ce;EyB4Cf,qBzBoF4C;AHkzF9C;;A4Bz4FA;EAMI,czBkF8D;EyBjF9D,0BzBkF+C;AHqzFnD;;A4B94FA;EAYI,0BzB6E+C;EyB5E/C,gBAAgB;A5Bs4FpB;;A4Bn5FA;EAkBI,czBlFc;EyBmFd,oBAAoB;A5Bq4FxB;;A4B13FA;ECHE,oB1B6TgC;EC3R5B,kBAAW;EyBhCf,gB1B0H+B;EE/N7B,qBFsO+B;AHiwFnC;;A4B73FA;ECPE,uB1BwTiC;ECtR7B,mBAAW;EyBhCf,gB1B2H+B;EEhO7B,qBFuO+B;AHuwFnC;;A4B33FA;EACE,cAAc;EACd,WAAW;A5B83Fb;;A4Bh4FA;EAMI,kBzB+U+B;AH+iFnC;;A8B5/FA;EXMM,gChBuP2C;AHmwFjD;;AmBr/FI;EWXJ;IXYM,gBAAgB;EnBy/FpB;AACF;;A8BtgGA;EAII,UAAU;A9BsgGd;;A8BlgGA;EAEI,aAAa;A9BogGjB;;A8BhgGA;EACE,SAAS;EACT,gBAAgB;EXVZ,6BhBwPwC;AHsxF9C;;AmBzgGI;EWGJ;IXFM,gBAAgB;EnB6gGpB;AACF;;A+BzhGA;;;;EAIE,kBAAkB;A/B4hGpB;;A0B32FqE;EK7KnE,mBAAmB;A/B4hGrB;;AgCxgGI;EACE,qBAAqB;EACrB,oB7B2N0C;E6B1N1C,uB7ByN0C;E6BxN1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EA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B4BwB8B;E5BvB9B,6B4BuB8B;AjC8wGlC;;AiCxxGA;;E5BAI,yB4Be6B;E5Bd7B,4B4Bc6B;AjC+wGjC;;AiC/vGA;EACE,wBAAmC;EACnC,uBAAkC;AjCkwGpC;;AiCpwGA;;;EAOI,cAAc;AjCmwGlB;;AiChwGE;EACE,eAAe;AjCmwGnB;;AiC/vGA;EACE,uBAAsC;EACtC,sBAAqC;AjCkwGvC;;AiC/vGA;EACE,sBAAsC;EACtC,qBAAqC;AjCkwGvC;;AiC9uGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AjCivGzB;;AiCpvGA;;EAOI,WAAW;AjCkvGf;;AiCzvGA;;EAYI,gB9B+G6B;AHmoGjC;;AiC9vGA;;E5BhFI,6B4BkG+B;E5BjG/B,4B4BiG+B;AjCkvGnC;;AiCpwGA;;E5B9FI,yB4BqH4B;E5BpH5B,0B4BoH4B;AjCmvGhC;;AiCluGA;;EAGI,gBAAgB;AjCouGpB;;AiCvuGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AjCuuG1B;;AkC/3GA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AlCk4GlB;;AkC/3GA;EACE,cAAc;EACd,oB/B2rBsC;AHusFxC;;AkCp4GA;EAMI,qBAAqB;AlCk4GzB;;AkCx4GA;EAWI,c/BXc;E+BYd,oBAAoB;EACpB,eAAe;AlCi4GnB;;AkCz3GA;EACE,gC/BzBgB;AHq5GlB;;AkC73GA;EAII,mB/BiM6B;AH4rGjC;;AkCj4GA;EAQI,6BAAgD;E7B5BhD,+BF4NgC;EE3NhC,gCF2NgC;AH+rGpC;;AkCv4GA;EAaM,qC/BrCY;AHm6GlB;;AkC34GA;EAiBM,c/BtCY;E+BuCZ,6BAA6B;EAC7B,yBAAyB;AlC83G/B;;AkCj5GA;;EAyBI,c/B7Cc;E+B8Cd,sB/BrDW;E+BsDX,kC/BtDW;AHm7Gf;;AkCx5GA;EAgCI,gB/BqK6B;EEzN7B,yB6BsD4B;E7BrD5B,0B6BqD4B;AlC43GhC;;AkCn3GA;E7BxEI,sBFqOgC;AH0tGpC;;AkCv3GA;;EAOI,W/B7EW;E+B8EX,yB/BjDa;AHs6GjB;;AkC52GA;E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yiB6B;AHy/FzC;;AmCvkHA;;EA2CU,iBAAiB;AnCiiH3B;;AmC5kHA;EA0DU,wBAAwB;EAGxB,gBAAgB;AnCohH1B;;AmCjlHA;EAiEU,aAAa;AnCohHvB;;AmCvgHA;EAEI,yBhChNW;AHytHf;;AmC3gHA;EAMM,yBhCpNS;AH6tHf;;AmC/gHA;EAYM,yBhC1NS;AHiuHf;;AmCnhHA;EAgBQ,yBhC9NO;AHquHf;;AmCvhHA;EAoBQ,yBhClOO;AHyuHf;;AmC3hHA;;;;EA4BM,yBhC1OS;AHgvHf;;AmCliHA;EAiCI,yBhC/OW;EgCgPX,gChChPW;AHqvHf;;AmCviHA;EAsCI,wPnBlMuI;AhBusH3I;;AmC3iHA;EA0CI,yBhCxPW;AH6vHf;;AmC/iHA;;;EA+CM,yBhC7PS;AHmwHf;;AmChgHA;EAEI,WhC/QW;AHixHf;;AmCpgHA;EAMM,WhCnRS;AHqxHf;;AmCxgHA;EAYM,+BhCzRS;AHyxHf;;AmC5gHA;EAgBQ,gChC7RO;AH6xHf;;AmChhHA;EAoBQ,gChCjSO;AHiyHf;;AmCphHA;;;;EA4BM,WhCzSS;AHwyHf;;AmC3hHA;EAiCI,+BhC9SW;EgC+SX,sChC/SW;AH6yHf;;AmChiHA;EAsCI,8PnBvPuI;AhBqvH3I;;AmCpiHA;EA0CI,+BhCvTW;AHqzHf;;AmCxiHA;;;EA8CM,WhC3TS;AH2zHf;;AoC9zHA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,sBjCHa;EiCIb,2BAA2B;EAC3B,sCjCKa;EEZX,sBFqOgC;AHomHpC;;AoC10HA;EAYI,eAAe;EACf,cAAc;ApCk0HlB;;AoC/0HA;E/BUI,+BF4NgC;EE3NhC,gCF2NgC;AH8mHpC;;AoCp1HA;E/BwBI,mCF8MgC;EE7MhC,kCF6MgC;AHmnHpC;;AoC5zHA;EAGE,cAAc;EAGd,eAAe;EACf,gBjC6xByC;AH8hG3C;;AoCvzHA;EACE,sBjCuxBwC;AHmiG1C;;AoCvzHA;EACE,qBAA+B;EAC/B,gBAAgB;ApC0zHlB;;AoCvzHA;EACE,gBAAgB;ApC0zHlB;;AoCvzHA;EAEI,qBAAqB;ApCyzHzB;;AoC3zHA;EAMI,oBjCswBuC;AHmjG3C;;AoCjzHA;EACE,wBjC6vByC;EiC5vBzC,gBAAgB;EAEhB,qCjC1Da;EiC2Db,6CjC3Da;AH82Hf;;AoCxzHA;E/BlEI,0D+B0E8E;ApCozHlF;;AoC5zHA;EAaM,aAAa;ApCmzHnB;;AoC9yHA;EACE,wBjC2uByC;EiC1uBzC,qCjC1Ea;EiC2Eb,0CjC3Ea;AH43Hf;;AoCpzHA;E/BpFI,0DFo0BoF;AHwkGxF;;AoCzyHA;EACE,uBAAiC;EACjC,uBjC0tBwC;EiCztBxC,sBAAgC;EAChC,gBAAgB;ApC4yHlB;;AoClyHA;EACE,uBAAiC;EACjC,sBAAgC;ApCqyHlC;;AoCjyHA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gBjC6sByC;AHulG3C;;AoCjyHA;EACE,WAAW;E/BjIT,kCFo0BoF;AHkmGxF;;AoChyHA;EACE,WAAW;E/B9HT,2CF2zBoF;EE1zBpF,4CF0zBoF;AHwmGxF;;AoCjyHA;EACE,WAAW;E/BrHT,+CF6yBoF;EE5yBpF,8CF4yBoF;AH8mGxF;;AoC/xHA;EACE,aAAa;EACb,sBAAsB;ApCkyHxB;;AoCpyHA;EAKI,mBjCorBsD;AH+mG1D;;AYj4HI;EwByFJ;IASI,mBAAmB;IACnB,mBjC+qBsD;IiC9qBtD,kBjC8qBsD;EHsnGxD;EoC/yHF;IAcM,aAAa;IAEb,YAAY;IACZ,sBAAsB;IACtB,kBjCuqBoD;IiCtqBpD,gBAAgB;IAChB,iBjCqqBoD;EH8nGxD;AACF;;AoC1xHA;EACE,aAAa;EACb,sBAAsB;ApC6xHxB;;AoC/xHA;EAOI,mBjCopBsD;AHwoG1D;;AY15HI;EwBuHJ;IAWI,mBAAmB;EpC6xHrB;EoCxyHF;IAgBM,YAAY;IACZ,gBAAgB;EpC2xHpB;EoC5yHF;IAoBQ,cAAc;IACd,cAAc;EpC2xHpB;EoChzHF;I/BjKI,0B+B4LoC;I/B3LpC,6B+B2LoC;EpCyxHtC;EoCpzHF;;IAgCY,0BAA0B;EpCwxHpC;EoCxzHF;;IAqCY,6BAA6B;EpCuxHvC;EoC5zHF;I/BnJI,yB+B6LmC;I/B5LnC,4B+B4LmC;EpCsxHrC;EoCh0HF;;IA+CY,yBAAyB;EpCqxHnC;EoCp0HF;;IAoDY,4BAA4B;EpCoxHtC;AACF;;AoCxwHA;EAEI,gBAAgB;ApC0wHpB;;AoC5wHA;E/BlPI,gB+BwP4B;ApC0wHhC;;AoChxHA;EAUQ,gBAAgB;E/B5PpB,gB+B6P4B;ApC0wHhC;;AoCrxHA;EAgBM,gBAAgB;E/B3OlB,6B+B4OiC;E/B3OjC,4B+B2OiC;ApC0wHrC;;AoC3xHA;E/BzOI,yB+B8P8B;E/B7P9B,0B+B6P8B;ApC2wHlC;;AoChyHA;EAyBM,mBjCzC2B;AHozHjC;;AqC3hIA;EACE,aAAa;EACb,eAAe;EACf,qBlCshCsC;EkCrhCtC,mBlCwhCsC;EkCvhCtC,gBAAgB;EAChB,yBlCGgB;EEJd,sBFqOgC;AH2zHpC;;AqC3hIA;EAGI,oBlC6gCqC;AH+gGzC;;AqC/hIA;EAMM,qBAAqB;EACrB,qBlCygCmC;EkCxgCnC,clCLY;EkCMZ,YlC8gCuC;AH+gG7C;;AqCtiIA;EAoBI,0BAA0B;ArCshI9B;;AqC1iIA;EAwBI,qBAAqB;ArCshIzB;;AqC9iIA;EA4BI,clCzBc;AH+iIlB;;AsC5jIA;EACE,aAAa;E/BGb,eAAe;EACf,gBAAgB;AP6jIlB;;AsC7jIA;EACE,kBAAkB;EAClB,cAAc;EACd,cnC4Be;EmC3Bf,sBnCFa;EmCGb,yBnCAgB;AHgkIlB;;AsCrkIA;EAQI,UAAU;EACV,cnCuJ8D;EmCtJ9D,qBAAqB;EACrB,yBnCPc;EmCQd,qBnCPc;AHwkIlB;;AsC7kIA;EAgBI,UAAU;EACV,UnC6xBiC;EmC5xBjC,gDnCaa;AHojIjB;;AsC7jIA;EAEI,iBnC0M6B;AHq3HjC;;AsCjkIA;EAMI,UAAU;EACV,WnC3BW;EmC4BX,yBnCCa;EmCAb,qBnCAa;AH+jIjB;;AsCxkIA;EAaI,cnC3Bc;EmC4Bd,oBAAoB;EAEpB,YAAY;EACZ,sBnCrCW;EmCsCX,qBnCnCc;AHimIlB;;AsCtmIA;ECDI,uBpCgyBsC;EoC9xBtC,iBpCmyBoC;AHu0GxC;;AuCvmIE;ElC0BE,+BFuMgC;EEtMhC,kCFsMgC;AH24HpC;;AuC5mIE;ElCYE,gCFqNgC;EEpNhC,mCFoNgC;AHg5HpC;;AuCvnIE;EACE,uBpCoyBsC;EC9pBpC,kBAAW;EmCpIb,gBpC8N6B;AH45HjC;;AuCpnIQ;ElCuBJ,8BFwM+B;EEvM/B,iCFuM+B;AH05HnC;;AuCnnIQ;ElCGJ,+BFsN+B;EErN/B,kCFqN+B;AH+5HnC;;AuCvoIE;EACE,uBpCkyBqC;EC5pBnC,mBAAW;EmCpIb,gBpC+N6B;AH26HjC;;AuCpoIQ;ElCuBJ,8BFyM+B;EExM/B,iCFwM+B;AHy6HnC;;AuCnoIQ;ElCGJ,+BFuN+B;EEtN/B,kCFsN+B;AH86HnC;;AwCrpIA;EACE,qBAAqB;EACrB,qBrC05BsC;ECvyBpC,cAAW;EoCjHb,gBrCmS+B;EqClS/B,cAAc;EACd,WrCJa;EqCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EnCTtB,sBFqOgC;AH67HpC;;AwClqIA;EAcI,aAAa;AxCwpIjB;;AwCnpIA;EACE,kBAAkB;EAClB,SAAS;AxCspIX;;AyC5qIA;EACE,kBAAkB;EAClB,wBtC88ByC;EsC78BzC,mBtC88BsC;EsC78BtC,6BAA6C;EpCH3C,sBFqOgC;AH88HpC;;AyC3qIA;EAEE,cAAc;AzC6qIhB;;AyCzqIA;EACE,gBtCwR+B;AHo5HjC;;AyCpqIA;EACE,mBAAsD;AzCuqIxD;;AyCxqIA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCg7BuC;EsC/6BvC,cAAc;AzCuqIlB;;AyC7pIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB8mIlE;;A0C7sIE;EACE,cAA0B;A1CgtI9B;;AyCvqIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBwnIlE;;A0CvtIE;EACE,cAA0B;A1C0tI9B;;AyCjrIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBkoIlE;;A0CjuIE;EACE,cAA0B;A1CouI9B;;AyC3rIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB4oIlE;;A0C3uIE;EACE,cAA0B;A1C8uI9B;;AyCrsIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBspIlE;;A0CrvIE;EACE,cAA0B;A1CwvI9B;;AyC/sIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBgqIlE;;A0C/vIE;EACE,cAA0B;A1CkwI9B;;AyCztIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB0qIlE;;A0CzwIE;EACE,cAA0B;A1C4wI9B;;AyCnuIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBorIlE;;A0CnxIE;EACE,cAA0B;A1CsxI9B;;A2C1xIE;EACE;IAAK,2BxC89B+B;EHg0GtC;AACF;;A2ChyIE;EACE;IAAK,2BxC89B+B;EHg0GtC;AACF;;A2C3xIA;EACE,aAAa;EACb,YxCw9BsC;EwCv9BtC,gBAAgB;EvCgIZ,kBAAW;EuC9Hf,yBxCHgB;EEJd,sBFqOgC;AHikIpC;;A2C1xIA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,WxCda;EwCeb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCYe;EgB9BX,2BhBm+B4C;AH60GlD;;AmB3yII;EwBMJ;IxBLM,gBAAgB;EnB+yIpB;AACF;;A2ChyIA;EpBeE,qMAA6I;EoBb7I,0BxCm8BsC;AHg2GxC;;A2C/xIE;EACE,0DxCq8BkD;EwCr8BlD,kDxCq8BkD;AH61GtD;;A2C/xIM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3CmyIrB;AACF;;A4Cv0IA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A5Cw0IlB;;A4C/zIA;EACE,WAAW;EACX,czCPgB;EyCQhB,mBAAmB;A5Ck0IrB;;A4Cr0IA;EAQI,UAAU;EACV,czCdc;EyCed,qBAAqB;EACrB,yBzCtBc;AHu1IlB;;A4C50IA;EAeI,czClBc;EyCmBd,yBzC1Bc;AH21IlB;;A4CxzIA;EACE,kBAAkB;EAClB,cAAc;EACd,wBzCs8ByC;EyCp8BzC,sBzC1Ca;EyC2Cb,sCzCjCa;AH21If;;A4Ch0IA;EvC9BI,+BF4NgC;EE3NhC,gCF2NgC;AHuoIpC;;A4Cr0IA;EvChBI,mCF8MgC;EE7MhC,kCF6MgC;AH4oIpC;;A4C10IA;EAkBI,czCjDc;EyCkDd,oBAAoB;EACpB,sBzCzDW;AHq3If;;A4Ch1IA;EAyBI,UAAU;EACV,WzC/DW;EyCgEX,yBzCnCa;EyCoCb,qBzCpCa;AH+1IjB;;A4Cv1IA;EAgCI,mBAAmB;A5C2zIvB;;A4C31IA;EAmCM,gBzCwJ2B;EyCvJ3B,qBzCuJ2B;AHqqIjC;;A4C9yII;EACE,mBAAmB;A5CizIzB;;A4ClzII;EvClCA,kCF8KgC;EE1LhC,0BuCoDwC;A5CizI5C;;A4CvzII;EvC9CA,gCF0LgC;EE9KhC,4BuC6C0C;A5CizI9C;;A4C5zII;EAeM,aAAa;A5CizIvB;;A4Ch0II;EAmBM,qBzCsHuB;EyCrHvB,oBAAoB;A5CizI9B;;A4Cr0II;EAuBQ,iBzCkHqB;EyCjHrB,sBzCiHqB;AHisIjC;;AYz2II;EgC+BA;IACE,mBAAmB;E5C80IvB;E4C/0IE;IvClCA,kCF8KgC;IE1LhC,0BuCoDwC;E5C60I1C;E4Cn1IE;IvC9CA,gCF0LgC;IE9KhC,4BuC6C0C;E5C40I5C;E4Cv1IE;IAeM,aAAa;E5C20IrB;E4C11IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5C00I5B;E4C91IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EHytI/B;AACF;;AYl4II;EgC+BA;IACE,mBAAmB;E5Cu2IvB;E4Cx2IE;IvClCA,kCF8KgC;IE1LhC,0BuCoDwC;E5Cs2I1C;E4C52IE;IvC9CA,gCF0LgC;IE9KhC,4BuC6C0C;E5Cq2I5C;E4Ch3IE;IAeM,aAAa;E5Co2IrB;E4Cn3IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5Cm2I5B;E4Cv3IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EHkvI/B;AACF;;AY35II;EgC+BA;IACE,mBAAmB;E5Cg4IvB;E4Cj4IE;IvClCA,kCF8KgC;IE1LhC,0BuCoDwC;E5C+3I1C;E4Cr4IE;IvC9CA,gCF0LgC;IE9KhC,4BuC6C0C;E5C83I5C;E4Cz4IE;IAeM,aAAa;E5C63IrB;E4C54IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5C43I5B;E4Ch5IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EH2wI/B;AACF;;AYp7II;EgC+BA;IACE,mBAAmB;E5Cy5IvB;E4C15IE;IvClCA,kCF8KgC;IE1LhC,0BuCoDwC;E5Cw5I1C;E4C95IE;IvC9CA,gCF0LgC;IE9KhC,4BuC6C0C;E5Cu5I5C;E4Cl6IE;IAeM,aAAa;E5Cs5IrB;E4Cr6IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5Cq5I5B;E4Cz6IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EHoyI/B;AACF;;A4Cx4IA;EAEI,qBAAqB;EACrB,oBAAoB;EvClIpB,gBuCmIwB;A5C04I5B;;A4C94IA;EAOM,mBAAmB;A5C24IzB;;A4Cl5IA;EAaM,sBAAsB;A5Cy4I5B;;A6CvhJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB27IlE;;A6C5hJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CyhJjD;;A6CjiJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBs8IlE;;A6CviJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB28IlE;;A6C5iJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CyiJjD;;A6CjjJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBs9IlE;;A6CvjJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB29IlE;;A6C5jJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CyjJjD;;A6CjkJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBs+IlE;;A6CvkJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB2+IlE;;A6C5kJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CykJjD;;A6CjlJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBs/IlE;;A6CvlJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB2/IlE;;A6C5lJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CylJjD;;A6CjmJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBsgJlE;;A6CvmJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB2gJlE;;A6C5mJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CymJjD;;A6CjnJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBshJlE;;A6CvnJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB2hJlE;;A6C5nJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CynJjD;;A6CjoJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBsiJlE;;A6CvoJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhB2iJlE;;A6C5oJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CyoJjD;;A6CjpJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhBsjJlE;;A8C1pJA;E1C0IM,iBAAW;E0CxIf,gB3C0S+B;E2CzS/B,cAAc;EACd,W3Caa;E2CZb,yB3CEa;E2CDb,WAAW;A9C6pJb;;A8CnqJA;EAUI,W3COW;E2CNX,qBAAqB;A9C6pJzB;;A8CxqJA;EAiBM,YAAY;A9C2pJlB;;A8ChpJA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A9CmpJlB;;A8C7oJA;EACE,oBAAoB;A9CgpJtB;;A+CvrJA;EACE,gB5C04BuC;E4Cz4BvC,gBAAgB;E3CwIZ,mBAAW;E2CrIf,2C5CEa;E4CDb,4BAA4B;EAC5B,oC5C24BmD;E4C14BnD,6C5CSa;E4CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;E1CLR,sBFqOgC;AH09IpC;;A+CpsJA;EAcI,sB5C83BsC;AH4zH1C;;A+CxsJA;EAkBI,UAAU;A/C0rJd;;A+C5sJA;EAsBI,cAAc;EACd,UAAU;A/C0rJd;;A+CjtJA;EA2BI,aAAa;A/C0rJjB;;A+CtrJA;EACE,aAAa;EACb,mBAAmB;EACnB,wB5C02BwC;E4Cz2BxC,c5CtBgB;E4CuBhB,2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AwE;AnDyiK5E;;AmD7iKA;EAOM,SAAS;EACT,6BAAgE;EAChE,qChDw1BiE;AHktIvE;;AmDnjKA;EAaM,WhDqL2B;EgDpL3B,6BAAgE;EAChE,sBhD7CS;AHulKf;;AmDriKA;EACE,mBhDy0BuC;AH+tIzC;;AmDziKA;EAII,+BAAsE;EACtE,ahDq0BqC;EgDp0BrC,YhDm0BoC;EgDl0BpC,gBAAgC;AnDyiKpC;;AmDhjKA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uChDi0BiE;AHyuIvE;;AmDtjKA;EAgBM,ShD8J2B;EgD7J3B,oCAA2F;EAC3F,wBhDpES;AH8mKf;;AmDriKA;EACE,kBhDkzBuC;AHsvIzC;;AmDziKA;EAII,8BAAqE;AnDyiKzE;;AmD7iKA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wChD6yBiE;AH6vIvE;;AmDnjKA;EAaM,QhD0I2B;EgDzI3B,oCAA2F;EAC3F,yBhDxFS;AHkoKf;;AmDzjKA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WhDyxBoC;EgDxxBpC,oBAAsC;EACtC,WAAW;EACX,gChD6wBuD;AH2xI3D;;AmDpiKA;EACE,oBhDkxBuC;AHqxIzC;;AmDxiKA;EAII,gCAAuE;EACvE,ahD8wBqC;EgD7wBrC,YhD4wBoC;EgD3wBpC,gBAAgC;AnDwiKpC;;AmD/iKA;EAUM,QAAQ;EACR,oChDwwBmC;EgDvwBnC,sChD0wBiE;AH+xIvE;;AmDrjKA;EAgBM,UhDuG2B;EgDtG3B,oChDkwBmC;EgDjwBnC,uBhD3HS;AHoqKf;;AmDnhKA;EACE,uBhDmuBwC;EgDluBxC,gBAAgB;E/ChBZ,eAAW;E+CmBf,yBhD4tByD;EgD3tBzD,gCAAyE;E9ChJvE,0CFw2B0F;EEv2B1F,2CFu2B0F;AH+zI9F;;AmD7hKA;EAUI,aAAa;AnDuhKjB;;AmDnhKA;EACE,uBhDqtBwC;EgDptBxC,chDxJgB;AH8qKlB;;AoDjrKA;EACE,kBAAkB;ApDorKpB;;AoDjrKA;EACE,mBAAmB;ApDorKrB;;AoDjrKA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ApDorKlB;;Aq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B;A/DiuLvC;;A+DpuLI;EAGI,gCAA+B;A/DquLvC;;A+DxuLI;EAGI,gCAA+B;A/DyuLvC;;A+D5uLI;EAGI,6BAA+B;A/D6uLvC;;A+DhvLI;EAGI,qBAA+B;A/DivLvC;;A+DpvLI;EAGI,qBAA+B;A/DqvLvC;;A+DxvLI;EAGI,qBAA+B;A/DyvLvC;;A+D5vLI;EAGI,sBAA+B;A/D6vLvC;;A+DhwLI;EAGI,sBAA+B;A/DiwLvC;;A+DpwLI;EAGI,0BAA+B;A/DqwLvC;;A+DxwLI;EAGI,uBAA+B;A/DywLvC;;A+D5wLI;EAGI,2BAA+B;A/D6wLvC;;A+DhxLI;EAGI,sBAA+B;A/DixLvC;;A+DpxLI;EAGI,sBAA+B;A/DqxLvC;;A+DxxLI;EAGI,sBAA+B;A/DyxLvC;;A+D5xLI;EAGI,uBAA+B;A/D6xLvC;;A+DhyLI;EAGI,uBAA+B;A/DiyLvC;;A+DpyLI;EAGI,2BAA+B;A/DqyLvC;;A+DxyLI;EAGI,wBAA+B;A/DyyLvC;;A+D5yLI;EAGI,4BAA+B;A/D6yLvC;;A+DhzLI;EAGI,yBAA+B;A/DizLvC;;A+DpzLI;EAGI,8BAA+B;A/DqzLvC;;A+DxzLI;EAGI,iCAA+B;A/DyzLvC;;A+D5zLI;EAGI,sCAA+B;A/D6zLvC;;A+Dh0LI;EAGI,yCAA+B;A/Di0LvC;;A+Dp0LI;EAGI,uBAA+B;A/Dq0LvC;;A+Dx0LI;EAGI,uBAA+B;A/Dy0LvC;;A+D50LI;EAGI,yBAA+B;A/D60LvC;;A+Dh1LI;EAGI,yBAA+B;A/Di1LvC;;A+Dp1LI;EAGI,0BAA+B;A/Dq1LvC;;A+Dx1LI;EAGI,4BAA+B;A/Dy1LvC;;A+D51LI;EAGI,kCAA+B;A/D61LvC;;A+Dh2LI;EAGI,sCAA+B;A/Di2LvC;;A+Dp2LI;EAGI,oCAA+B;A/Dq2LvC;;A+Dx2LI;EAGI,kCAA+B;A/Dy2LvC;;A+D52LI;EAGI,yCAA+B;A/D62LvC;;A+Dh3LI;EAGI,wCAA+B;A/Di3LvC;;A+Dp3LI;EAGI,kCAA+B;A/Dq3LvC;;A+Dx3LI;EAGI,gCAA+B;A/Dy3LvC;;A+D53LI;EAGI,8BAA+B;A/D63LvC;;A+Dh4LI;EAGI,gCAA+B;A/Di4LvC;;A+Dp4LI;EAGI,+BAA+B;A/Dq4LvC;;A+Dx4LI;EAGI,oCAA+B;A/Dy4LvC;;A+D54LI;EAGI,kCAA+B;A/D64LvC;;A+Dh5LI;EAGI,gCAA+B;A/Di5LvC;;A+Dp5LI;EAGI,uCAA+B;A/Dq5LvC;;A+Dx5LI;EAGI,sCAA+B;A/Dy5LvC;;A+D55LI;EAGI,iCAA+B;A/D65LvC;;A+Dh6LI;EAGI,2BAA+B;A/Di6LvC;;A+Dp6LI;EAGI,iCAA+B;A/Dq6LvC;;A+Dx6LI;EAGI,+BAA+B;A/Dy6LvC;;A+D56LI;EAGI,6BAA+B;A/D66LvC;;A+Dh7LI;EAGI,+BAA+B;A/Di7LvC;;A+Dp7LI;EAGI,8BAA+B;A/Dq7LvC;;A+Dx7LI;EAGI,oBAA+B;A/Dy7LvC;;A+D57LI;EAGI,mBAA+B;A/D67LvC;;A+Dh8LI;EAGI,mBAA+B;A/Di8LvC;;A+Dp8LI;EAGI,mBAA+B;A/Dq8LvC;;A+Dx8LI;EAGI,mBAA+B;A/Dy8LvC;;A+D58LI;EAGI,mBAA+B;A/D68LvC;;A+Dh9LI;EAGI,mBAA+B;A/Di9LvC;;A+Dp9LI;EAGI,mBAA+B;A/Dq9LvC;;A+Dx9LI;EAGI,oBAA+B;A/Dy9LvC;;A+D59LI;EAGI,0BAA+B;A/D69LvC;;A+Dh+LI;EAGI,yBAA+B;A/Di+LvC;;A+Dp+LI;EAGI,uBAA+B;A/Dq+LvC;;A+Dx+LI;EAGI,yBAA+B;A/Dy+LvC;;A+D5+LI;EAGI,uBAA+B;A/D6+LvC;;A+Dh/LI;EAGI,uBAA+B;A/Di/LvC;;A+Dp/LI;EAGI,0BAA+B;EAA/B,yBAA+B;A/Ds/LvC;;A+Dz/LI;EAGI,gCAA+B;EAA/B,+BAA+B;A/D2/LvC;;A+D9/LI;EAGI,+BAA+B;EAA/B,8BAA+B;A/DggMvC;;A+DngMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/DqgMvC;;A+DxgMI;EAGI,+BAA+B;EAA/B,8BAA+B;A/D0gMvC;;A+D7gMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/D+gMvC;;A+DlhMI;EAGI,6BAA+B;EAA/B,4BAA+B;A/DohMvC;;A+DvhMI;EAGI,wBAA+B;EAA/B,2BAA+B;A/DyhMvC;;A+D5hMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/D8hMvC;;A+DjiMI;EAGI,6BAA+B;EAA/B,gCAA+B;A/DmiMvC;;A+DtiMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/DwiMvC;;A+D3iMI;EAGI,6BAA+B;EAA/B,gCAA+B;A/D6iMvC;;A+DhjMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/DkjMvC;;A+DrjMI;EAGI,2BAA+B;EAA/B,8BAA+B;A/DujMvC;;A+D1jMI;EAGI,wBAA+B;A/D2jMvC;;A+D9jMI;EAGI,8BAA+B;A/D+jMvC;;A+DlkMI;EAGI,6BAA+B;A/DmkMvC;;A+DtkMI;EAGI,2BAA+B;A/DukMvC;;A+D1kMI;EAGI,6BAA+B;A/D2kMvC;;A+D9kMI;EAGI,2BAA+B;A/D+kMvC;;A+DllMI;EAGI,2BAA+B;A/DmlMvC;;A+DtlMI;EAGI,0BAA+B;A/DulMvC;;A+D1lMI;EAGI,gCAA+B;A/D2lMvC;;A+D9lMI;EAGI,+BAA+B;A/D+lMvC;;A+DlmMI;EAGI,6BAA+B;A/DmmMvC;;A+DtmMI;EAGI,+BAA+B;A/DumMvC;;A+D1mMI;EAGI,6BAA+B;A/D2mMvC;;A+D9mMI;EAGI,6BAA+B;A/D+mMvC;;A+DlnMI;EAGI,2BAA+B;A/DmnMvC;;A+DtnMI;EAGI,iCAA+B;A/DunMvC;;A+D1nMI;EAGI,gCAA+B;A/D2nMvC;;A+D9nMI;EAGI,8BAA+B;A/D+nMvC;;A+DloMI;EAGI,gCAA+B;A/DmoMvC;;A+DtoMI;EAGI,8BAA+B;A/DuoMvC;;A+D1oMI;EAGI,8BAA+B;A/D2oMvC;;A+D9oMI;EAGI,yBAA+B;A/D+oMvC;;A+DlpMI;EAGI,+BAA+B;A/DmpMvC;;A+DtpMI;EAGI,8BAA+B;A/DupMvC;;A+D1pMI;EAGI,4BAA+B;A/D2pMvC;;A+D9pMI;EAGI,8BAA+B;A/D+pMvC;;A+DlqMI;EAGI,4BAA+B;A/DmqMvC;;A+DtqMI;EAGI,4BAA+B;A/DuqMvC;;A+D1qMI;EAGI,2BAA+B;A/D2qMvC;;A+D9qMI;EAGI,0BAA+B;A/D+qMvC;;A+DlrMI;EAGI,wBAA+B;A/DmrMvC;;A+DtrMI;EAGI,0BAA+B;A/DurMvC;;A+D1rMI;EAGI,wBAA+B;A/D2rMvC;;A+D9rMI;EAGI,iCAA+B;EAA/B,gCAA+B;A/DgsMvC;;A+DnsMI;EAGI,gCAA+B;EAA/B,+BAA+B;A/DqsMvC;;A+DxsMI;EAGI,8BAA+B;EAA/B,6BAA+B;A/D0sMvC;;A+D7sMI;EAGI,gCAA+B;EAA/B,+BAA+B;A/D+sMvC;;A+DltMI;EAGI,8BAA+B;EAA/B,6BAA+B;A/DotMvC;;A+DvtMI;EAGI,+BAA+B;EAA/B,kCAA+B;A/DytMvC;;A+D5tMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/D8tMvC;;A+DjuMI;EAGI,4BAA+B;EAA/B,+BAA+B;A/DmuMvC;;A+DtuMI;EAGI,8BAA+B;EAA/B,iCAA+B;A/DwuMvC;;A+D3uMI;EAGI,4BAA+B;EAA/B,+BAA+B;A/D6uMvC;;A+DhvMI;EAGI,+BAA+B;A/DivMvC;;A+DpvMI;EAGI,8BAA+B;A/DqvMvC;;A+DxvMI;EAGI,4BAA+B;A/DyvMvC;;A+D5vMI;EAGI,8BAA+B;A/D6vMvC;;A+DhwMI;EAGI,4BAA+B;A/DiwMvC;;A+DpwMI;EAGI,iCAA+B;A/DqwMvC;;A+DxwMI;EAGI,gCAA+B;A/DywMvC;;A+D5wMI;EAGI,8BAA+B;A/D6wMvC;;A+DhxMI;EAGI,gCAA+B;A/DixMvC;;A+DpxMI;EAGI,8BAA+B;A/DqxMvC;;A+DxxMI;EAGI,kCAA+B;A/DyxMvC;;A+D5xMI;EAGI,iCAA+B;A/D6xMvC;;A+DhyMI;EAGI,+BAA+B;A/DiyMvC;;A+DpyMI;EAGI,iCAA+B;A/DqyMvC;;A+DxyMI;EAGI,+BAA+B;A/DyyMvC;;A+D5yMI;EAGI,gCAA+B;A/D6yMvC;;A+DhzMI;EAGI,+BAA+B;A/DizMvC;;A+DpzMI;EAGI,6BAA+B;A/DqzMvC;;A+DxzMI;EAGI,+BAA+B;A/DyzMvC;;A+D5zMI;EAGI,6BAA+B;A/D6zMvC;;A+Dh0MI;EAGI,qBAA+B;A/Di0MvC;;A+Dp0MI;EAGI,2BAA+B;A/Dq0MvC;;A+Dx0MI;EAGI,0BAA+B;A/Dy0MvC;;A+D50MI;EAGI,wBAA+B;A/D60MvC;;A+Dh1MI;EAGI,0BAA+B;A/Di1MvC;;A+Dp1MI;EAGI,wBAA+B;A/Dq1MvC;;A+Dx1MI;EAGI,2BAA+B;EAA/B,0BAA+B;A/D01MvC;;A+D71MI;EAGI,iCAA+B;EAA/B,gCAA+B;A/D+1MvC;;A+Dl2MI;EAGI,gCAA+B;EAA/B,+BAA+B;A/Do2MvC;;A+Dv2MI;EAGI,8BAA+B;EAA/B,6BAA+B;A/Dy2MvC;;A+D52MI;EAGI,gCAA+B;EAA/B,+BAA+B;A/D82MvC;;A+Dj3MI;EAGI,8BAA+B;EAA/B,6BAA+B;A/Dm3MvC;;A+Dt3MI;EAGI,yBAA+B;EAA/B,4BAA+B;A/Dw3MvC;;A+D33MI;EAGI,+BAA+B;EAA/B,kCAA+B;A/D63MvC;;A+Dh4MI;EAGI,8BAA+B;EAA/B,iCAA+B;A/Dk4MvC;;A+Dr4MI;EAGI,4BAA+B;EAA/B,+BAA+B;A/Du4MvC;;A+D14MI;EAGI,8BAA+B;EAA/B,iCAA+B;A/D44MvC;;A+D/4MI;EAGI,4BAA+B;EAA/B,+BAA+B;A/Di5MvC;;A+Dp5MI;EAGI,yBAA+B;A/Dq5MvC;;A+Dx5MI;EAGI,+BAA+B;A/Dy5MvC;;A+D55MI;EAGI,8BAA+B;A/D65MvC;;A+Dh6MI;EAGI,4BAA+B;A/Di6MvC;;A+Dp6MI;EAGI,8BAA+B;A/Dq6MvC;;A+Dx6MI;EAGI,4BAA+B;A/Dy6MvC;;A+D56MI;EAGI,2BAA+B;A/D66MvC;;A+Dh7MI;EAGI,iCAA+B;A/Di7MvC;;A+Dp7MI;EAGI,gCAA+B;A/Dq7MvC;;A+Dx7MI;EAGI,8BAA+B;A/Dy7MvC;;A+D57MI;EAGI,gCAA+B;A/D67MvC;;A+Dh8MI;EAGI,8BAA+B;A/Di8MvC;;A+Dp8MI;EAGI,4BAA+B;A/Dq8MvC;;A+Dx8MI;EAGI,kCAA+B;A/Dy8MvC;;A+D58MI;EAGI,iCAA+B;A/D68MvC;;A+Dh9MI;EAGI,+BAA+B;A/Di9MvC;;A+Dp9MI;EAGI,iCAA+B;A/Dq9MvC;;A+Dx9MI;EAGI,+BAA+B;A/Dy9MvC;;A+D59MI;EAGI,0BAA+B;A/D69MvC;;A+Dh+MI;EAGI,gCAA+B;A/Di+MvC;;A+Dp+MI;EAGI,+BAA+B;A/Dq+MvC;;A+Dx+MI;EAGI,6BAA+B;A/Dy+MvC;;A+D5+MI;EAGI,+BAA+B;A/D6+MvC;;A+Dh/MI;EAGI,6BAA+B;A/Di/MvC;;A+Dp/MI;EAGI,2BAA+B;A/Dq/MvC;;A+Dx/MI;EAGI,+BAA+B;A/Dy/MvC;;A+D5/MI;EAGI,2BAA+B;A/D6/MvC;;A+DhgNI;EAGI,2BAA+B;A/DigNvC;;A+DpgNI;EAGI,8BAA+B;A/DqgNvC;;A+DxgNI;EAGI,oCAA+B;A/DygNvC;;A+D5gNI;EAGI,oCAA+B;A/D6gNvC;;A+DhhNI;EAGI,qCAA+B;A/DihNvC;;A+DphNI;EAGI,2BAA+B;A/DqhNvC;;A+DxhNI;EAGI,4BAA+B;A/DyhNvC;;A+D5hNI;EAGI,6BAA+B;A/D6hNvC;;A+DhiNI;EAGI,8BAA+B;A/DiiNvC;;A+DpiNI;EAGI,yBAA+B;A/DqiNvC;;A+DxiNI;EAGI,yBAA+B;A/DyiNvC;;A+D5iNI;EAGI,yBAA+B;A/D6iNvC;;A+DhjNI;EAGI,yBAA+B;A/DijNvC;;A+DpjNI;EAGI,yBAA+B;A/DqjNvC;;A+DxjNI;EAGI,yBAA+B;A/DyjNvC;;A+D5jNI;EAGI,yBAA+B;A/D6jNvC;;A+DhkNI;EAGI,yBAA+B;A/DikNvC;;A+DpkNI;EAGI,sBAA+B;A/DqkNvC;;A+DxkNI;EAGI,yBAA+B;A/DykNvC;;A+D5kNI;EAGI,yBAA+B;A/D6kNvC;;A+DhlNI;EAGI,oCAA+B;A/DilNvC;;A+DplNI;EAGI,0CAA+B;A/DqlNvC;;A+DxlNI;EAGI,yBAA+B;A/DylNvC;;A+D5lNI;EAGI,oCAA+B;A/D6lNvC;;A+DhmNI;EAGI,oCAA+B;A/DimNvC;;A+DpmNI;EAGI,oCAA+B;A/DqmNvC;;A+DxmNI;EAGI,oCAA+B;A/DymNvC;;A+D5mNI;EAGI,oCAA+B;A/D6mNvC;;A+DhnNI;EAGI,oCAA+B;A/DinNvC;;A+DpnNI;EAGI,oCAA+B;A/DqnNvC;;A+DxnNI;EAGI,oCAA+B;A/DynNvC;;A+D5nNI;EAGI,iCAA+B;A/D6nNvC;;A+DhoNI;EAGI,wCAA+B;A/DioNvC;;A+DpoNI;EAGI,8BAA+B;A/DqoNvC;;A+DxoNI;EAGI,8BAA+B;A/DyoNvC;;A+D5oNI;EAGI,gCAA+B;A/D6oNvC;;A+DhpNI;EAGI,6BAA+B;A/DipNvC;;A+DppNI;EAGI,oCAA+B;EAA/B,iCAA+B;A/DspNvC;;A+DzpNI;EAGI,4GAA+B;A/D0pNvC;;A+D7pNI;EAGI,iCAA+B;A/D8pNvC;;A+DjqNI;EAGI,gCAA+B;A/DkqNvC;;A+DrqNI;EAGI,gCAA+B;A/DsqNvC;;A+DzqNI;EAGI,6BAA+B;A/D0qNvC;;A+D7qNI;EAGI,+BAA+B;A/D8qNvC;;A+DjrNI;EAGI,2BAA+B;A/DkrNvC;;A+DrrNI;EAGI,0CAA+B;EAA/B,2CAA+B;A/DurNvC;;A+D1rNI;EAGI,2CAA+B;EAA/B,8CAA+B;A/D4rNvC;;A+D/rNI;EAGI,8CAA+B;EAA/B,6CAA+B;A/DisNvC;;A+DpsNI;EAGI,6CAA+B;EAA/B,0CAA+B;A/DssNvC;;A+DzsNI;EAGI,8BAA+B;A/D0sNvC;;A+D7sNI;EAGI,6BAA+B;A/D8sNvC;;AY7qNI;EmDpCA;IAGI,sBAA+B;E/DmtNrC;E+DttNE;IAGI,uBAA+B;E/DstNrC;E+DztNE;IAGI,sBAA+B;E/DytNrC;E+D5tNE;IAGI,wBAA+B;E/D4tNrC;E+D/tNE;IAGI,0BAA+B;E/D+tNrC;E+DluNE;IAGI,gCAA+B;E/DkuNrC;E+DruNE;IAGI,yBAA+B;E/DquNrC;E+DxuNE;IAGI,yBAA+B;E/DwuNrC;E+D3uNE;IAGI,6BAA+B;E/D2uNrC;E+D9uNE;IAGI,8BAA+B;E/D8uNrC;E+DjvNE;IAGI,wBAA+B;E/DivNrC;E+DpvNE;IAGI,+BAA+B;E/DovNrC;E+DvvNE;IAGI,yBAA+B;E/DuvNrC;E+D1vNE;IAGI,8BAA+B;E/D0vNrC;E+D7vNE;IAGI,iCAA+B;E/D6vNrC;E+DhwNE;IAGI,sCAA+B;E/DgwNrC;E+DnwNE;IAGI,yCAA+B;E/DmwNrC;E+DtwNE;IAGI,uBAA+B;E/DswNrC;E+DzwNE;IAGI,uBAA+B;E/DywNrC;E+D5wNE;IAGI,yBAA+B;E/D4wNrC;E+D/wNE;IAGI,yBAA+B;E/D+wNrC;E+DlxNE;IAGI,0BAA+B;E/DkxNrC;E+DrxNE;IAGI,4BAA+B;E/DqxNrC;E+DxxNE;IAGI,kCAA+B;E/DwxNrC;E+D3xNE;IAGI,sCAA+B;E/D2xNrC;E+D9xNE;IAGI,oCAA+B;E/D8xNrC;E+DjyNE;IAGI,kCAA+B;E/DiyNrC;E+DpyNE;IAGI,yCAA+B;E/DoyNrC;E+DvyNE;IAGI,wCAA+B;E/DuyNrC;E+D1yNE;IAGI,kCAA+B;E/D0yNrC;E+D7yNE;IAGI,gCAA+B;E/D6yNrC;E+DhzNE;IAGI,8BAA+B;E/DgzNrC;E+DnzNE;IAGI,gCAA+B;E/DmzNrC;E+DtzNE;IAGI,+BAA+B;E/DszNrC;E+DzzNE;IAGI,oCAA+B;E/DyzNrC;E+D5zNE;IAGI,kCAA+B;E/D4zNrC;E+D/zNE;IAGI,gCAA+B;E/D+zNrC;E+Dl0NE;IAGI,uCAA+B;E/Dk0NrC;E+Dr0NE;IAGI,sCAA+B;E/Dq0NrC;E+Dx0NE;IAGI,iCAA+B;E/Dw0NrC;E+D30NE;IAGI,2BAA+B;E/D20NrC;E+D90NE;IAGI,iCAA+B;E/D80NrC;E+Dj1NE;IAGI,+BAA+B;E/Di1NrC;E+Dp1NE;IAGI,6BAA+B;E/Do1NrC;E+Dv1NE;IAGI,+BAA+B;E/Du1NrC;E+D11NE;IAGI,8BAA+B;E/D01NrC;E+D71NE;IAGI,oBAA+B;E/D61NrC;E+Dh2NE;IAGI,mBAA+B;E/Dg2NrC;E+Dn2NE;IAGI,mBAA+B;E/Dm2NrC;E+Dt2NE;IAGI,mBAA+B;E/Ds2NrC;E+Dz2NE;IAGI,mBAA+B;E/Dy2NrC;E+D52NE;IAGI,mBAA+B;E/D42NrC;E+D/2NE;IAGI,mBAA+B;E/D+2NrC;E+Dl3NE;IAGI,mBAA+B;E/Dk3NrC;E+Dr3NE;IAGI,oBAA+B;E/Dq3NrC;E+Dx3NE;IAGI,0BAA+B;E/Dw3NrC;E+D33NE;IAGI,yBAA+B;E/D23NrC;E+D93NE;IAGI,uBAA+B;E/D83NrC;E+Dj4NE;IAGI,yBAA+B;E/Di4NrC;E+Dp4NE;IAGI,uBAA+B;E/Do4NrC;E+Dv4NE;IAGI,uBAA+B;E/Du4NrC;E+D14NE;IAGI,0BAA+B;IAA/B,yBAA+B;E/D24NrC;E+D94NE;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/DqvOrC;E+DxvOE;IAGI,+BAA+B;E/DwvOrC;E+D3vOE;IAGI,iCAA+B;E/D2vOrC;E+D9vOE;IAGI,+BAA+B;E/D8vOrC;E+DjwOE;IAGI,0BAA+B;E/DiwOrC;E+DpwOE;IAGI,gCAA+B;E/DowOrC;E+DvwOE;IAGI,+BAA+B;E/DuwOrC;E+D1wOE;IAGI,6BAA+B;E/D0wOrC;E+D7wOE;IAGI,+BAA+B;E/D6wOrC;E+DhxOE;IAGI,6BAA+B;E/DgxOrC;E+DnxOE;IAGI,2BAA+B;E/DmxOrC;E+DtxOE;IAGI,4BAA+B;E/DsxOrC;E+DzxOE;IAGI,6BAA+B;E/DyxOrC;E+D5xOE;IAGI,8BAA+B;E/D4xOrC;AACF;;AY5vOI;EmDpCA;IAGI,sBAA+B;E/DkyOrC;E+DryOE;IAGI,uBAA+B;E/DqyOrC;E+DxyOE;IAGI,sBAA+B;E/DwyOrC;E+D3yOE;IAGI,wBAA+B;E/D2yOrC;E+D9yOE;IAGI,0BAA+B;E/D8yOrC;E+DjzOE;IAGI,gCAA+B;E/DizOrC;E+DpzOE;IAGI,yBAA+B;E/DozOrC;E+DvzOE;IAGI,yBAA+B;E/DuzOrC;E+D1zOE;IAGI,6BAA+B;E/D0zOrC;E+D7zOE;IAGI,8BAA+B;E/D6zOrC;E+Dh0OE;IAGI,wBAA+B;E/Dg0OrC;E+Dn0OE;IAGI,+BAA+B;E/Dm0OrC;E+Dt0OE;IAGI,yBAA+B;E/Ds0OrC;E+Dz0OE;IAGI,8BAA+B;E/Dy0OrC;E+D50OE;IAGI,iCAA+B;E/D40OrC;E+D/0OE;IAGI,sCAA+B;E/D+0OrC;E+Dl1OE;IAGI,yCAA+B;E/Dk1OrC;E+Dr1OE;IAGI,uBAA+B;E/Dq1OrC;E+Dx1OE;IAGI,uBAA+B;E/Dw1OrC;E+D31OE;IAGI,yBAA+B;E/D21OrC;E+D91OE;IAGI,yBAA+B;E/D81OrC;E+Dj2OE;IAGI,0BAA+B;E/Di2OrC;E+Dp2OE;IAGI,4BAA+B;E/Do2OrC;E+Dv2OE;IAGI,kCAA+B;E/Du2OrC;E+D12OE;IAGI,sCAA+B;E/D02OrC;E+D72OE;IAGI,oCAA+B;E/D62OrC;E+Dh3OE;IAGI,kCAA+B;E/Dg3OrC;E+Dn3OE;IAGI,yCAA+B;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Dz1PE;IAGI,6BAA+B;E/Dy1PrC;E+D51PE;IAGI,+BAA+B;E/D41PrC;E+D/1PE;IAGI,6BAA+B;E/D+1PrC;E+Dl2PE;IAGI,2BAA+B;E/Dk2PrC;E+Dr2PE;IAGI,4BAA+B;E/Dq2PrC;E+Dx2PE;IAGI,6BAA+B;E/Dw2PrC;E+D32PE;IAGI,8BAA+B;E/D22PrC;AACF;;AY30PI;EmDpCA;IAGI,sBAA+B;E/Di3PrC;E+Dp3PE;IAGI,uBAA+B;E/Do3PrC;E+Dv3PE;IAGI,sBAA+B;E/Du3PrC;E+D13PE;IAGI,wBAA+B;E/D03PrC;E+D73PE;IAGI,0BAA+B;E/D63PrC;E+Dh4PE;IAGI,gCAA+B;E/Dg4PrC;E+Dn4PE;IAGI,yBAA+B;E/Dm4PrC;E+Dt4PE;IAGI,yBAA+B;E/Ds4PrC;E+Dz4PE;IAGI,6BAA+B;E/Dy4PrC;E+D54PE;IAGI,8BAA+B;E/D44PrC;E+D/4PE;IAGI,wBAA+B;E/D+4PrC;E+Dl5PE;IAGI,+BAA+B;E/Dk5PrC;E+Dr5PE;IAGI,yBAA+B;E/Dq5PrC;E+Dx5PE;IAGI,8BAA+B;E/Dw5PrC;E+D35PE;IAGI,iCAA+B;E/D25PrC;E+D95PE;IAGI,sCAA+B;E/D85PrC;E+Dj6PE;IAGI,yCAA+B;E/Di6PrC;E+Dp6PE;IAGI,uBAA+B;E/Do6PrC;E+Dv6PE;IAGI,uBAA+B;E/Du6PrC;E+D16PE;IAGI,yBAA+B;E/D06PrC;E+D76PE;IAGI,yBAA+B;E/D66PrC;E+Dh7PE;IAGI,0BAA+B;E/Dg7PrC;E+Dn7PE;IAGI,4BAA+B;E/Dm7PrC;E+Dt7PE;IAGI,kCAA+B;E/Ds7PrC;E+Dz7PE;IAGI,sCAA+B;E/Dy7PrC;E+D57PE;IAGI,oCAA+B;E/D47PrC;E+D/7PE;IAGI,kCAA+B;E/D+7PrC;E+Dl8PE;IAGI,yCAA+B;E/Dk8PrC;E+Dr8PE;IAGI,wCAA+B;E/Dq8PrC;E+Dx8PE;IAGI,kCAA+B;E/Dw8PrC;E+D38PE;IAGI,gCAA+B;E/D28PrC;E+D98PE;IAGI,8BAA+B;E/D88PrC;E+Dj9PE;IAGI,gCAA+B;E/Di9PrC;E+Dp9PE;IAGI,+BAA+B;E/Do9PrC;E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,8BAA+B;E/D07QrC;AACF;;AY15QI;EmDpCA;IAGI,sBAA+B;E/Dg8QrC;E+Dn8QE;IAGI,uBAA+B;E/Dm8QrC;E+Dt8QE;IAGI,sBAA+B;E/Ds8QrC;E+Dz8QE;IAGI,wBAA+B;E/Dy8QrC;E+D58QE;IAGI,0BAA+B;E/D48QrC;E+D/8QE;IAGI,gCAA+B;E/D+8QrC;E+Dl9QE;IAGI,yBAA+B;E/Dk9QrC;E+Dr9QE;IAGI,yBAA+B;E/Dq9QrC;E+Dx9QE;IAGI,6BAA+B;E/Dw9QrC;E+D39QE;IAGI,8BAA+B;E/D29QrC;E+D99QE;IAGI,wBAA+B;E/D89QrC;E+Dj+QE;IAGI,+BAA+B;E/Di+QrC;E+Dp+QE;IAGI,yBAA+B;E/Do+QrC;E+Dv+QE;IAGI,8BAA+B;E/Du+QrC;E+D1+QE;IAGI,iCAA+B;E/D0+QrC;E+D7+QE;IAGI,sCAA+B;E/D6+QrC;E+Dh/QE;IAGI,yCAA+B;E/Dg/QrC;E+Dn/QE;IAGI,uBAA+B;E/Dm/QrC;E+Dt/QE;IAGI,uBAA+B;E/Ds/QrC;E+Dz/QE;IAGI,yBAA+B;E/Dy/QrC;E+D5/QE;IAGI,yBAA+B;E/D4/QrC;E+D//QE;IAGI,0BAA+B;E/D+/QrC;E+DlgRE;IAGI,4BAA+B;E/DkgRrC;E+DrgRE;IAGI,kCAA+B;E/DqgRrC;E+DxgRE;IAGI,sCAA+B;E/DwgRrC;E+D3gRE;IAGI,oCAA+B;E/D2gRrC;E+D9gRE;IAGI,kCAA+B;E/D8gRrC;E+DjhRE;IAGI,yCAA+B;E/DihRrC;E+DphRE;IAGI,wCAA+B;E/DohRrC;E+DvhRE;IAGI,kCAA+B;E/DuhRrC;E+D1hRE;IAGI,gCAA+B;E/D0hRrC;E+D7hRE;IAGI,8BAA+B;E/D6hRrC;E+DhiRE;IAGI,gCAA+B;E/DgiRrC;E+DniRE;IAGI,+BAA+B;E/DmiRrC;E+DtiRE;IAGI,oCAA+B;E/DsiRrC;E+DziRE;IAGI,kCAA+B;E/DyiRrC;E+D5iRE;IAGI,gCAA+B;E/D4iRrC;E+D/iRE;IAGI,uCAA+B;E/D+iRrC;E+DljRE;IAGI,sCAA+B;E/DkjRrC;E+DrjRE;IAGI,iCAA+B;E/DqjRrC;E+DxjRE;IAG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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table td {\n border-bottom: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check-input {\n float: left;\n width: 1.25em;\n height: 1.25em;\n margin-top: calc((1.5em - 1.25em) / 2);\n margin-left: -1.75em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #007bff;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-select:valid ~ .valid-feedback,\n.was-validated .form-select:valid ~ .valid-tooltip, .form-select.is-valid ~ .valid-feedback,\n.form-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid ~ .valid-feedback,\n.was-validated .form-file-input:valid ~ .valid-tooltip, .form-file-input.is-valid ~ .valid-feedback,\n.form-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-select:invalid ~ .invalid-feedback,\n.was-validated .form-select:invalid ~ .invalid-tooltip, .form-select.is-invalid ~ .invalid-feedback,\n.form-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid ~ .invalid-feedback,\n.was-validated .form-file-input:invalid ~ .invalid-tooltip, .form-file-input.is-invalid ~ .invalid-feedback,\n.form-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.5rem 0.75rem;\n line-height: 1.25;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #007bff;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #0056b3;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n// 3. Use the same borders as textfields\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n -webkit-appearance: textfield; // 3\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n td {\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @return if($yiq >= $yiq-contrasted-threshold, $dark, $light);\n}\n\n// Request a color level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n}\n\n.form-check-input {\n float: left;\n width: $form-check-input-width;\n height: $form-check-input-width;\n // Todo: Change static value to base line-height?\n margin-top: calc((1.5em - #{$form-check-input-width}) / 2); // line-height minus check height\n margin-left: $form-check-padding-left * -1;\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n\n &[type=\"radio\"] {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n background-size: $form-check-input-indeterminate-bg-size;\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(#{$form-switch-height} - 2px); // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-image: escape-svg($form-switch-checked-bg-image);\n background-position: $form-switch-checked-bg-position;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: calc(#{$form-range-thumb-height} + #{$form-range-thumb-focus-box-shadow-width * 2});\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated &:#{$state},\n &.is-#{$state} {\n @content;\n }\n } @else {\n &.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n\n .form-control-file {\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:first-of-type) {\n .card-header:first-child {\n @include border-radius(0);\n }\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-radius(0);\n }\n }\n\n &:first-of-type:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:last-of-type {\n @include border-top-radius(0);\n }\n\n .card-header {\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-line-height, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: calc(100% - #{$modal-dialog-margin * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - #{$modal-dialog-margin * 2});\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: calc(100vh - #{$modal-dialog-margin * 2});\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n &::before {\n height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACLF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAKhB,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEFA;EACE,SAAS;EACT,kMC0PiN;ECpJ7M,eAAW;EFpGf,gBCsQ+B;EDrQ/B,gBC0Q+B;EDzQ/B,cCxBgB;ED0BhB,sBCnCa;EDoCb,8BAA8B;EAC9B,6CC3Ba;AH+Bf;;AAEA;EEQE,qBAAqB;AFNvB;;AEgBA;EACE,cAAsB;EACtB,cCqRmC;EDpRnC,8BAA8B;EAC9B,SAAS;EACT,aCoR+B;AHjSjC;;AEgBA;EACE,WC2J+B;AHxKjC;;AEuBA;EACE,aAAa;EACb,qBCiOuC;ED9NvC,gBCiO+B;EDhO/B,gBCiO+B;AHvPjC;;AE0BA;EEyCM,iBAAW;AJ/DjB;;AE2BA;EEoCM,eAAW;AJ3DjB;;AE4BA;EE+BM,kBAAW;AJvDjB;;AE6BA;EE0BM,iBAAW;AJnDjB;;AE8BA;EEqBM,kBAAW;AJ/CjB;;AE+BA;EEgBM,eAAW;AJ3CjB;;AEsCA;EACE,aAAa;EACb,mBC0C8B;AH7EhC;;AE8CA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AF3ChC;;AE+CA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF5CtB;;AE+CA;;EAEE,kBAAkB;AF5CpB;;AE+CA;;;EAGE,aAAa;EACb,mBAAmB;AF5CrB;;AE+CA;;;;EAIE,gBAAgB;AF5ClB;;AE+CA;EACE,gBCwH+B;AHpKjC;;AEiDA;EACE,oBAAoB;EACpB,cAAc;AF9ChB;;AEiDA;EACE,gBAAgB;AF9ClB;;AEmDA;;EAEE,mBCuGkC;AHvJpC;;AEsDA;EEnFI,kBAAW;AJiCf;;AEyDA;;EAEE,kBAAkB;EE5FhB,iBAAW;EF8Fb,cAAc;EACd,wBAAwB;AFtD1B;;AEyDA;EAAM,cAAc;AFrDpB;;AEsDA;EAAM,UAAU;AFlDhB;;AEuDA;EACE,cC/Le;EDgMf,qBChE4C;AHY9C;;AEkDA;EAKI,cClE8D;EDmE9D,0BClE+C;AHenD;;AE4DA;EAGI,cAAc;EACd,qBAAqB;AF3DzB;;AEkEA;;;;EAIE,iGC+BgH;ECrK9G,cAAW;AJwEf;;AEsEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EElJZ,kBAAW;AJgFf;;AE8DA;EE9II,kBAAW;EFyJX,cAAc;EACd,kBAAkB;AFpEtB;;AEwEA;EE9JI,kBAAW;EFgKb,cCnPe;EDoPf,qBAAqB;AFrEvB;;AEwEE;EACE,cAAc;AFrElB;;AEyEA;EACE,sBCyzBuC;ECn+BrC,kBAAW;EF4Kb,WC/Ra;EDgSb,yBCvRgB;EEXd,qBFwO+B;AHXnC;;AEiEA;EAQI,UAAU;EEjLV,cAAW;EFmLX,gBCA6B;AHrEjC;;AE8EA;EACE,gBAAgB;AF3ElB;;AEiFA;EACE,sBAAsB;AF9ExB;;AEoFA;EACE,gBAAgB;EAChB,sBAAsB;AFjFxB;;AEyFA;EACE,yBAAyB;AFtF3B;;AEyFA;EACE,mBCiCiC;EDhCjC,sBCgCiC;ED/BjC,cCxUgB;EDyUhB,gBAAgB;EAChB,oBAAoB;AFtFtB;;AE4FA;EACE,mBAAmB;AFzFrB;;AEiGA;EACE,qBAAqB;EACrB,qBCkH2C;AHhN7C;;AEqGA;EAEE,gBAAgB;AFnGlB;;AE2GA;EACE,mBAAmB;EACnB,0CAA0C;AFxG5C;;AE6GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5QlB,kBAAW;EF8Qb,oBAAoB;AF1GtB;;AE+GA;;EAEE,iBAAiB;AF5GnB;;AEiHA;;EAEE,oBAAoB;AF9GtB;;AEqHA;EACE,iBAAiB;AFlHnB;;AAEA;EEwHE,aAAa;AFtHf;;AE8HA;;;;EAIE,0BAA0B;AF3H5B;;AEuHA;;;;EAQM,eAAe;AFxHrB;;AEgIA;EACE,UAAU;EACV,kBAAkB;AF7HpB;;AEuIA;;;;EAIE,6BAA6B;AFpI/B;;AE0IA;EACE,cAAc;EACd,gBAAgB;AFvIlB;;AEiJA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AF9IX;;AEsJA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCjJiC;ECrN7B,iBAAW;EFyWf,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AFpJrB;;AEwJA;EACE,cCvJgC;EDwJhC,yBChJmC;AHLrC;;AE0JA;EACE,wBAAwB;AFvJ1B;;AE8JA;EACE,iBAAiB;EACjB,cAAc;AF3JhB;;AAEA;EEoKE,oBAAoB;EACpB,6BAA6B;AFlK/B;;AEuKA;EACE,wBAAwB;AFpK1B;;AEyKA;EACE,UAAU;AFtKZ;;AE4KA;EACE,aAAa;EACb,0BAA0B;AFzK5B;;AE8KA;EACE,qBAAqB;AF3KvB;;AEgLA;EACE,kBAAkB;EAClB,eAAe;AF7KjB;;AEkLA;EACE,aAAa;AF/Kf;;AEkLA;EACE,cAAc;AF/KhB;;AAEA;EEmLE,wBAAwB;AFjL1B;;AM1XA;EF8GM,kBAAW;EE5Gf,gBH+S+B;AH8EjC;;AMzXA;EFwGM,eAAW;EEtGf,gBHkS+B;EGjS/B,gBHyR+B;AHmGjC;;AM1XA;EFmGM,iBAAW;EEjGf,gBH8R+B;EG7R/B,gBHoR+B;AHyGjC;;AM3XA;EF8FM,iBAAW;EE5Ff,gBH0R+B;EGzR/B,gBH+Q+B;AH+GjC;;AM5XA;EFyFM,iBAAW;EEvFf,gBHsR+B;EGrR/B,gBH0Q+B;AHqHjC;;AM7WA;EClEE,eAAe;EACf,gBAAgB;APmblB;;AM7WA;ECvEE,eAAe;EACf,gBAAgB;APwblB;;AM/WA;EACE,qBAAqB;ANkXvB;;AMnXA;EAII,oBHuR+B;AH4FnC;;AMzWA;EF8BI,kBAAW;EE5Bb,yBAAyB;AN4W3B;;AMxWA;EACE,mBHkCW;ECKP,kBAAW;AJqUjB;;AMxWA;EACE,cAAc;EFkBZ,kBAAW;EEhBb,cH7FgB;AHwclB;;AM9WA;EAMI,qBAAqB;AN4WzB;;AQldA;ECIE,eAAe;EAGf,YAAY;ATgdd;;AQjdA;EACE,gBLy/BwC;EKx/BxC,sBLRa;EKSb,yBLNgB;EELd,sBFsOgC;EMhOlC,eAAe;EAGf,YAAY;ATydd;;AQ3cA;EAEE,qBAAqB;AR6cvB;;AQ1cA;EACE,qBAA0B;EAC1B,cAAc;AR6chB;;AQ1cA;EJoFI,kBAAW;EIlFb,cL3BgB;AHwelB;;AU/eE;ECDA,WAAW;EACX,mBRwN0C;EQvN1C,kBRuN0C;EQtN1C,kBAAkB;EAClB,iBAAiB;AXofnB;;AY9bI;EFzDF;ICWI,gBRyLK;EHwTT;AACF;;AYpcI;EFzDF;ICWI,gBR0LK;EH6TT;AACF;;AY1cI;EFzDF;ICWI,gBR2LK;EHkUT;AACF;;AYhdI;EFzDF;ICWI,iBR4LM;EHuUV;AACF;;AUzgBE;ECPA,WAAW;EACX,mBRwN0C;EQvN1C,kBRuN0C;EQtN1C,kBAAkB;EAClB,iBAAiB;AXohBnB;;AY9dI;EFxCE;IACE,gBPkLG;EHwVT;AACF;;AYpeI;EFxCE;IACE,gBPmLG;EH6VT;AACF;;AY1eI;EFxCE;IACE,gBPoLG;EHkWT;AACF;;AYhfI;EFxCE;IACE,iBPqLI;EHuWV;AACF;;AUzgBE;ECrBA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AXkiB3B;;AU1gBE;EACE,eAAe;EACf,cAAc;AV6gBlB;;AU/gBE;;EAMI,gBAAgB;EAChB,eAAe;AV8gBrB;;AahkBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AbwkB7B;;AarjBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;AbwjBvB;;AapjBQ;EFsBJ,cAAuB;EACvB,eAAwB;AXkiB5B;;AazjBQ;EFsBJ,aAAuB;EACvB,cAAwB;AXuiB5B;;Aa9jBQ;EFsBJ,oBAAuB;EACvB,qBAAwB;AX4iB5B;;AankBQ;EFsBJ,aAAuB;EACvB,cAAwB;AXijB5B;;AaxkBQ;EFsBJ,aAAuB;EACvB,cAAwB;AXsjB5B;;Aa7kBQ;EFsBJ,oBAAuB;EACvB,qBAAwB;AX2jB5B;;Aa7kBM;EACE,cAAc;EACd,WAAW;EACX,eAAe;AbglBvB;;Aa5kBQ;EFTN,mBAAsC;EAItC,oBAAuC;AXslBzC;;AajlBQ;EFTN,oBAAsC;EAItC,qBAAuC;AX2lBzC;;AatlBQ;EFTN,aAAsC;EAItC,cAAuC;AXgmBzC;;Aa3lBQ;EFTN,oBAAsC;EAItC,qBAAuC;AXqmBzC;;AahmBQ;EFTN,oBAAsC;EAItC,qBAAuC;AX0mBzC;;AarmBQ;EFTN,aAAsC;EAItC,cAAuC;AX+mBzC;;Aa1mBQ;EFTN,oBAAsC;EAItC,qBAAuC;AXonBzC;;Aa/mBQ;EFTN,oBAAsC;EAItC,qBAAuC;AXynBzC;;AapnBQ;EFTN,aAAsC;EAItC,cAAuC;AX8nBzC;;AaznBQ;EFTN,oBAAsC;EAItC,qBAAuC;AXmoBzC;;Aa9nBQ;EFTN,oBAAsC;EAItC,qBAAuC;AXwoBzC;;AanoBQ;EFTN,cAAsC;EAItC,eAAuC;AX6oBzC;;AahoBU;EFRR,sBAA8C;AX4oBhD;;AapoBU;EFRR,uBAA8C;AXgpBhD;;AaxoBU;EFRR,gBAA8C;AXopBhD;;Aa5oBU;EFRR,uBAA8C;AXwpBhD;;AahpBU;EFRR,uBAA8C;AX4pBhD;;AappBU;EFRR,gBAA8C;AXgqBhD;;AaxpBU;EFRR,uBAA8C;AXoqBhD;;Aa5pBU;EFRR,uBAA8C;AXwqBhD;;AahqBU;EFRR,gBAA8C;AX4qBhD;;AapqBU;EFRR,uBAA8C;AXgrBhD;;AaxqBU;EFRR,uBAA8C;AXorBhD;;AYtqBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb2sBrB;EavsBM;IFsBJ,cAAuB;IACvB,eAAwB;EXorB1B;Ea3sBM;IFsBJ,aAAuB;IACvB,cAAwB;EXwrB1B;Ea/sBM;IFsBJ,oBAAuB;IACvB,qBAAwB;EX4rB1B;EantBM;IFsBJ,aAAuB;IACvB,cAAwB;EXgsB1B;EavtBM;IFsBJ,aAAuB;IACvB,cAAwB;EXosB1B;Ea3tBM;IFsBJ,oBAAuB;IACvB,qBAAwB;EXwsB1B;Ea1tBI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Eb4tBrB;EaxtBM;IFTN,mBAAsC;IAItC,oBAAuC;EXiuBvC;Ea5tBM;IFTN,oBAAsC;IAItC,qBAAuC;EXquBvC;EahuBM;IFTN,aAAsC;IAItC,cAAuC;EXyuBvC;EapuBM;IFTN,oBAAsC;IAItC,qBAAuC;EX6uBvC;EaxuBM;IFTN,oBAAsC;IAItC,qBAAuC;EXivBvC;Ea5uBM;IFTN,aAAsC;IAItC,cAAuC;EXqvBvC;EahvBM;IFTN,oBAAsC;IAItC,qBAAuC;EXyvBvC;EapvBM;IFTN,oBAAsC;IAItC,qBAAuC;EX6vBvC;EaxvBM;IFTN,aAAsC;IAItC,cAAuC;EXiwBvC;Ea5vBM;IFTN,oBAAsC;IAItC,qBAAuC;EXqwBvC;EahwBM;IFTN,oBAAsC;IAItC,qBAAuC;EXywBvC;EapwBM;IFTN,cAAsC;IAItC,eAAuC;EX6wBvC;EahwBQ;IFRR,cAA4B;EX2wB5B;EanwBQ;IFRR,sBAA8C;EX8wB9C;EatwBQ;IFRR,uBAA8C;EXixB9C;EazwBQ;IFRR,gBAA8C;EXoxB9C;Ea5wBQ;IFRR,uBAA8C;EXuxB9C;Ea/wBQ;IFRR,uBAA8C;EX0xB9C;EalxBQ;IFRR,gBAA8C;EX6xB9C;EarxBQ;IFRR,uBAA8C;EXgyB9C;EaxxBQ;IFRR,uBAA8C;EXmyB9C;Ea3xBQ;IFRR,gBAA8C;EXsyB9C;Ea9xBQ;IFRR,uBAA8C;EXyyB9C;EajyBQ;IFRR,uBAA8C;EX4yB9C;AACF;;AY/xBI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ebo0BrB;Eah0BM;IFsBJ,cAAuB;IACvB,eAAwB;EX6yB1B;Eap0BM;IFsBJ,aAAuB;IACvB,cAAwB;EXizB1B;Eax0BM;IFsBJ,oBAAuB;IACvB,qBAAwB;EXqzB1B;Ea50BM;IFsBJ,aAAuB;IACvB,cAAwB;EXyzB1B;Eah1BM;IFsBJ,aAAuB;IACvB,cAAwB;EX6zB1B;Eap1BM;IFsBJ,oBAAuB;IACvB,qBAAwB;EXi0B1B;Ean1BI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Ebq1BrB;Eaj1BM;IFTN,mBAAsC;IAItC,oBAAuC;EX01BvC;Ear1BM;IFTN,oBAAsC;IAItC,qBAAuC;EX81BvC;Eaz1BM;IFTN,aAAsC;IAItC,cAAuC;EXk2BvC;Ea71BM;IFTN,oBAAsC;IAItC,qBAAuC;EXs2BvC;Eaj2BM;IFTN,oBAAsC;IAItC,qBAAuC;EX02BvC;Ear2BM;IFTN,aAAsC;IAItC,cAAuC;EX82BvC;Eaz2BM;IFTN,oBAAsC;IAItC,qBAAuC;EXk3BvC;Ea72BM;IFTN,oBAAsC;IAItC,qBAAuC;EXs3BvC;Eaj3BM;IFTN,aAAsC;IAItC,cAAuC;EX03BvC;Ear3BM;IFTN,oBAAsC;IAItC,qBAAuC;EX83BvC;Eaz3BM;IFTN,oBAAsC;IAItC,qBAAuC;EXk4BvC;Ea73BM;IFTN,cAAsC;IAItC,eAAuC;EXs4BvC;Eaz3BQ;IFRR,cAA4B;EXo4B5B;Ea53BQ;IFRR,sBAA8C;EXu4B9C;Ea/3BQ;IFRR,uBAA8C;EX04B9C;Eal4BQ;IFRR,gBAA8C;EX64B9C;Ear4BQ;IFRR,uBAA8C;EXg5B9C;Eax4BQ;IFRR,uBAA8C;EXm5B9C;Ea34BQ;IFRR,gBAA8C;EXs5B9C;Ea94BQ;IFRR,uBAA8C;EXy5B9C;Eaj5BQ;IFRR,uBAA8C;EX45B9C;Eap5BQ;IFRR,gBAA8C;EX+5B9C;Eav5BQ;IFRR,uBAA8C;EXk6B9C;Ea15BQ;IFRR,uBAA8C;EXq6B9C;AACF;;AYx5BI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Eb67BrB;Eaz7BM;IFsBJ,cAAuB;IACvB,eAAwB;EXs6B1B;Ea77BM;IFsBJ,aAAuB;IACvB,cAAwB;EX06B1B;Eaj8BM;IFsBJ,oBAAuB;IACvB,qBAAwB;EX86B1B;Ear8BM;IFsBJ,aAAuB;IACvB,cAAwB;EXk7B1B;Eaz8BM;IFsBJ,aAAuB;IACvB,cAAwB;EXs7B1B;Ea78BM;IFsBJ,oBAAuB;IACvB,qBAAwB;EX07B1B;Ea58BI;IACE,cAAc;IACd,WAAW;IACX,eAAe;Eb88BrB;Ea18BM;IFTN,mBAAsC;IAItC,oBAAuC;EXm9BvC;Ea98BM;IFTN,oBAAsC;IAItC,qBAAuC;EXu9BvC;Eal9BM;IFTN,aAAsC;IAItC,cAAuC;EX29BvC;Eat9BM;IFTN,oBAAsC;IAItC,qBAAuC;EX+9BvC;Ea19BM;IFTN,oBAAsC;IAItC,qBAAuC;EXm+BvC;Ea99BM;IFTN,aAAsC;IAItC,cAAuC;EXu+BvC;Eal+BM;IFTN,oBAAsC;IAItC,qBAAuC;EX2+BvC;Eat+BM;IFTN,oBAAsC;IAItC,qBAAuC;EX++BvC;Ea1+BM;IFTN,aAAsC;IAItC,cAAuC;EXm/BvC;Ea9+BM;IFTN,oBAAsC;IAItC,qBAAuC;EXu/BvC;Eal/BM;IFTN,oBAAsC;IAItC,qBAAuC;EX2/BvC;Eat/BM;IFTN,cAAsC;IAItC,eAAuC;EX+/BvC;Eal/BQ;IFRR,cAA4B;EX6/B5B;Ear/BQ;IFRR,sBAA8C;EXggC9C;Eax/BQ;IFRR,uBAA8C;EXmgC9C;Ea3/BQ;IFRR,gBAA8C;EXsgC9C;Ea9/BQ;IFRR,uBAA8C;EXygC9C;EajgCQ;IFRR,uBAA8C;EX4gC9C;EapgCQ;IFRR,gBAA8C;EX+gC9C;EavgCQ;IFRR,uBAA8C;EXkhC9C;Ea1gCQ;IFRR,uBAA8C;EXqhC9C;Ea7gCQ;IFRR,gBAA8C;EXwhC9C;EahhCQ;IFRR,uBAA8C;EX2hC9C;EanhCQ;IFRR,uBAA8C;EX8hC9C;AACF;;AYjhCI;ECjCE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EbsjCrB;EaljCM;IFsBJ,cAAuB;IACvB,eAAwB;EX+hC1B;EatjCM;IFsBJ,aAAuB;IACvB,cAAwB;EXmiC1B;Ea1jCM;IFsBJ,oBAAuB;IACvB,qBAAwB;EXuiC1B;Ea9jCM;IFsBJ,aAAuB;IACvB,cAAwB;EX2iC1B;EalkCM;IFsBJ,aAAuB;IACvB,cAAwB;EX+iC1B;EatkCM;IFsBJ,oBAAuB;IACvB,qBAAwB;EXmjC1B;EarkCI;IACE,cAAc;IACd,WAAW;IACX,eAAe;EbukCrB;EankCM;IFTN,mBAAsC;IAItC,oBAAuC;EX4kCvC;EavkCM;IFTN,oBAAsC;IAItC,qBAAuC;EXglCvC;Ea3kCM;IFTN,aAAsC;IAItC,cAAuC;EXolCvC;Ea/kCM;IFTN,oBAAsC;IAItC,qBAAuC;EXwlCvC;EanlCM;IFTN,oBAAsC;IAItC,qBAAuC;EX4lCvC;EavlCM;IFTN,aAAsC;IAItC,cAAuC;EXgmCvC;Ea3lCM;IFTN,oBAAsC;IAItC,qBAAuC;EXomCvC;Ea/lCM;IFTN,oBAAsC;IAItC,qBAAuC;EXwmCvC;EanmCM;IFTN,aAAsC;IAItC,cAAuC;EX4mCvC;EavmCM;IFTN,oBAAsC;IAItC,qBAAuC;EXgnCvC;Ea3mCM;IFTN,oBAAsC;IAItC,qBAAuC;EXonCvC;Ea/mCM;IFTN,cAAsC;IAItC,eAAuC;EXwnCvC;Ea3mCQ;IFRR,cAA4B;EXsnC5B;Ea9mCQ;IFRR,sBAA8C;EXynC9C;EajnCQ;IFRR,uBAA8C;EX4nC9C;EapnCQ;IFRR,gBAA8C;EX+nC9C;EavnCQ;IFRR,uBAA8C;EXkoC9C;Ea1nCQ;IFRR,uBAA8C;EXqoC9C;Ea7nCQ;IFRR,gBAA8C;EXwoC9C;EahoCQ;IFRR,uBAA8C;EX2oC9C;EanoCQ;IFRR,uBAA8C;EX8oC9C;EatoCQ;IFRR,gBAA8C;EXipC9C;EazoCQ;IFRR,uBAA8C;EXopC9C;Ea5oCQ;IFRR,uBAA8C;EXupC9C;AACF;;AcrsCA;EACE,WAAW;EACX,mBX+HW;EW9HX,cXSgB;EWRhB,mBX+W+B;AHy1BjC;;Ac5sCA;;EASI,eXuW+B;EWtW/B,gCXJc;AH4sClB;;AcltCA;EAcI,uBAAuB;AdwsC3B;;ActtCA;EAkBI,sBAAsB;EACtB,4BXTc;AHitClB;;Ac3tCA;EAuBI,6BXjBc;AHytClB;;Ac/rCA;;EAGI,gBX8UgC;AHm3BpC;;AcxrCA;EACE,yBXvCgB;AHkuClB;;Ac5rCA;;EAKI,yBX3Cc;AHuuClB;;AcjsCA;;EAWM,wBAA4C;Ad2rClD;;ActrCA;;;;EAKI,SAAS;AdwrCb;;AchrCA;EAEI,qCX9DW;AHgvCf;;AczqCA;EAGM,cX3EY;EW4EZ,sCX3ES;AHqvCf;;AejwCE;;;EAII,yBC2F4D;AhBwqClE;;AevwCE;;;;EAYM,qBCmF0D;AhB+qClE;;Ae3vCE;EAKM,yBAJsC;Af8vC9C;;Ae/vCE;;EASQ,yBARoC;AfmwC9C;;AevxCE;;;EAII,yBC2F4D;AhB8rClE;;Ae7xCE;;;;EAYM,qBCmF0D;AhBqsClE;;AejxCE;EAKM,yBAJsC;AfoxC9C;;AerxCE;;EASQ,yBARoC;AfyxC9C;;Ae7yCE;;;EAII,yBC2F4D;AhBotClE;;AenzCE;;;;EAYM,qBCmF0D;AhB2tClE;;AevyCE;EAKM,yBAJsC;Af0yC9C;;Ae3yCE;;EASQ,yBARoC;Af+yC9C;;Aen0CE;;;EAII,yBC2F4D;AhB0uClE;;Aez0CE;;;;EAYM,qBCmF0D;AhBivClE;;Ae7zCE;EAKM,yBAJsC;Afg0C9C;;Aej0CE;;EASQ,yBARoC;Afq0C9C;;Aez1CE;;;EAII,yBC2F4D;AhBgwClE;;Ae/1CE;;;;EAYM,qBCmF0D;AhBuwClE;;Aen1CE;EAKM,yBAJsC;Afs1C9C;;Aev1CE;;EASQ,yBARoC;Af21C9C;;Ae/2CE;;;EAII,yBC2F4D;AhBsxClE;;Aer3CE;;;;EAYM,qBCmF0D;AhB6xClE;;Aez2CE;EAKM,yBAJsC;Af42C9C;;Ae72CE;;EASQ,yBARoC;Afi3C9C;;Aer4CE;;;EAII,yBC2F4D;AhB4yClE;;Ae34CE;;;;EAYM,qBCmF0D;AhBmzClE;;Ae/3CE;EAKM,yBAJsC;Afk4C9C;;Aen4CE;;EASQ,yBARoC;Afu4C9C;;Ae35CE;;;EAII,yBC2F4D;AhBk0ClE;;Aej6CE;;;;EAYM,qBCmF0D;AhBy0ClE;;Aer5CE;EAKM,yBAJsC;Afw5C9C;;Aez5CE;;EASQ,yBARoC;Af65C9C;;Aej7CE;;;EAII,sCZQS;AH26Cf;;Aep6CE;EAKM,sCAJsC;Afu6C9C;;Aex6CE;;EASQ,sCARoC;Af46C9C;;Acl1CA;EAGM,WX/GS;EWgHT,yBXxGY;EWyGZ,qBXoRqD;AH+jC3D;;Acx1CA;EAWM,cXhHY;EWiHZ,yBXtHY;EWuHZ,qBXtHY;AHu8ClB;;Ac50CA;EACE,WX/Ha;EWgIb,yBXxHgB;AHu8ClB;;Acj1CA;;;EAOI,qBXgQuD;AHglC3D;;Acv1CA;EAWI,SAAS;Adg1Cb;;Ac31CA;EAgBM,2CX9IS;AH69Cf;;Ac/1CA;EAuBQ,WXrJO;EWsJP,4CXtJO;AHk+Cf;;AY75CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ed8zCvC;Ecn0CG;IASK,SAAS;Ed6zCjB;AACF;;AYz6CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Ed00CvC;Ec/0CG;IASK,SAAS;Edy0CjB;AACF;;AYr7CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Eds1CvC;Ec31CG;IASK,SAAS;Edq1CjB;AACF;;AYj8CI;EEkGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;Edk2CvC;Ecv2CG;IASK,SAAS;Edi2CjB;AACF;;Ach3CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;Ad62CzC;;Acv3CA;EAcU,SAAS;Ad62CnB;;AiB9hDA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EbiHd,kBAAW;Ea/Gb,gBdsS+B;AH2vCjC;;AiB9hDA;EACE,+BAAkE;EAClE,kCAAqE;Eb0HjE,kBAAW;AJw6CjB;;AiB9hDA;EACE,gCAAkE;EAClE,mCAAqE;EboHjE,mBAAW;AJ86CjB;;AkBpjDA;EACE,cAAc;EACd,WAAW;EACX,uCfggB2H;Ee/f3H,yBfmZkC;ECjR9B,eAAW;Ec/Hf,gBfiS+B;EehS/B,gBfqS+B;EepS/B,cfCgB;EeAhB,sBfPa;EeQb,4BAA4B;EAC5B,yBfLgB;EENd,sBFsOgC;EgBrO9B,wEhBqgB4F;AH6jClG;;AmB7jDI;EDPJ;ICQM,gBAAgB;EnBikDpB;AACF;;AkB1kDA;EAsBI,6BAA6B;EAC7B,SAAS;AlBwjDb;;AkB/kDA;EA4BI,cflBc;EemBd,sBf1BW;Ee2BX,qBfudsE;EetdtE,UAAU;EAKR,iDfJW;AHujDjB;;AkBvlDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EA0CI,cfjCc;EemCd,UAAU;AlBgjDd;;AkB5lDA;EAsDI,yBfjDc;EeoDd,UAAU;AlBwiDd;;AkB/hDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBfsO+B;EerO/B,cf5DgB;Ee6DhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AlBkiDrC;;AkB3iDA;EAaI,gBAAgB;EAChB,eAAe;AlBkiDnB;;AkBvhDA;EACE,sCfwakI;EevalI,uBfoUiC;EC3R7B,mBAAW;ECrIb,qBFwO+B;AHg5CnC;;AkBvhDA;EACE,oCfkakI;EejalI,oBfiUgC;EC/R5B,kBAAW;ECrIb,qBFuO+B;AHw5CnC;;AkBvhDA;EACE,eAAe;EACf,iBf2SmC;AH+uCrC;;AkBvhDA;Eb7GI,sBFsOgC;AHk6CpC;;AkBvhDA;EbjHI,sBFsOgC;AHs6CpC;;AoB5oDA;EACE,qBAAqB;EACrB,WAAW;EACX,mCjB+f2H;EiB9f3H,0CjBkZkC;ECjR9B,eAAW;EgB9Hf,gBjBgS+B;EiB/R/B,gBjBoS+B;EiBnS/B,cjBAgB;EiBChB,sBAAsB;EACtB,yRjB2kBsG;EiB1kBtG,yBjBNgB;EENd,sBFsOgC;EiBvNlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ApB6oDlB;;AoB5pDA;EAkBI,qBjBkesE;EiBjetE,UAAU;EAIR,iDjBQW;AHmoDjB;;AoBlqDA;EAgCM,cjBvBY;EiBwBZ,sBjB/BS;AHqqDf;;AoBvqDA;EAuCI,YAAY;EACZ,sBjB8WgC;EiB7WhC,sBAAsB;ApBooD1B;;AoB7qDA;EA6CI,cjBrCc;EiBsCd,yBjB1Cc;AH8qDlB;;AoBlrDA;EAoDI,aAAa;ApBkoDjB;;AoBtrDA;EAyDI,kBAAkB;EAClB,0BjBjDc;AHkrDlB;;AoB7nDA;EACE,kCjBockI;EiBnclI,oBjB+VkC;EiB9VlC,uBjB8VkC;EiB7VlC,oBjB8ViC;EC3R7B,mBAAW;AJ8jDjB;;AoB7nDA;EACE,gCjB6bkI;EiB5blI,mBjB2ViC;EiB1VjC,sBjB0ViC;EiBzVjC,kBjB0VgC;EC/R5B,kBAAW;AJskDjB;;AqB5sDA;EACE,cAAc;EACd,kBlBygB2E;EkBxgB3E,oBlBygBsE;EkBxgBtE,uBlBygB+C;AHssCjD;;AqBntDA;EAOI,WAAW;EACX,oBAA0C;ArBgtD9C;;AqB5sDA;EACE,alB6f8C;EkB5f9C,clB4f8C;EkB3f9C,mBAA6D;EAC7D,sBlBba;EkBcb,qClBigBoE;EkBhgBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;ArB+sDlB;;AqBrtDA;EhBXI,qBFkhB2C;AHktC/C;;AqBztDA;EhBXI,kBFmhByC;AHqtC7C;;AqB7tDA;EAiBI,+BlBkfqD;EkBlfrD,uBlBkfqD;AH8tCzD;;AqBjuDA;EAqBI,qBlBodsE;EkBndtE,UAAU;EACV,iDlBHa;AHmtDjB;;AqBvuDA;EA2BI,yBlBPa;EkBQb,4BlBmf+C;EkBlf/C,kClBmfmD;EkBlfnD,oBlBmfyC;EkBlfzC,qBlBXa;AH2tDjB;;AqB/uDA;EAkCM,mPLiBqI;AhBgsD3I;;AqBnvDA;EAsCM,uJLaqI;AhBosD3I;;AqBvvDA;EA2CI,yBlBvBa;EkBwBb,wOLOuI;EKNvI,4BlB2eqD;EkB1erD,kClB2eyD;EkB1ezD,oBlB2e+C;EkB1e/C,qBlB5Ba;AH4uDjB;;AqBhwDA;EAsDI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;ArB8sDf;;AqBtwDA;EA2DM,WAAW;ArB+sDjB;;AqB1sDA;EACE,gBAAgB;ArB6sDlB;;AqBtsDA;EACE,mBlBudyD;AHkvC3D;;AqB1sDA;EAII,UlBkdiC;EkBjdjC,mBAA2C;EAC3C,oKL3BuI;EK4BvI,4BAA4B;EAC5B,gCAAgC;EAChC,mCAAmD;EhB5FnD,kBFyiBiC;AH8vCrC;;AqBptDA;EAgBM,0JLrCqI;AhB6uD3I;;AqBxtDA;EAoBM,uJLzCqI;EK0CrI,iClB8cwC;AH0vC9C;;AqBnsDA;EACE,qBAAqB;EACrB,kBlB2c0C;AH2vC5C;;AsB1zDA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCnBmgB2H;EmBlgB3H,gBAAgB;AtB6zDlB;;AsB1zDA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCnB2f2H;EmB1f3H,SAAS;EACT,UAAU;AtB6zDZ;;AsBn0DA;EAWI,qBnBsesE;EmBretE,iDnBgBa;AH4yDjB;;AsBx0DA;EAgBI,qBnBiesE;EmBhetE,iDnBWa;AHizDjB;;AsB70DA;EAuBI,yBnBtBc;AHg1DlB;;AsBrzDA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,mCnB4d2H;EmB3d3H,qBnBjCgB;EENd,sBFsOgC;AH0nDpC;;AsBpzDA;EACE,cAAc;EACd,YAAY;EACZ,yBnBuWkC;EmBtWlC,gBAAgB;EAEhB,gBnBqP+B;EmBpP/B,gBnByP+B;EmBxP/B,cnB3CgB;EmB4ChB,uBAAuB;EACvB,mBAAmB;EACnB,sBnBrDa;EmBsDb,qBAAqB;EACrB,mBAAmB;EACnB,iBnByK+B;EErM7B,+BiB6BiC;EjB5BjC,kCiB4BiC;AtBuzDrC;;AsBpzDA;EACE,cAAc;EACd,cAAc;EACd,yBnBqVkC;EmBpVlC,iBnBiK+B;EmBhK/B,gBnByO+B;EmBxO/B,cnB3DgB;EoBRd,yBpBGc;EmBkEhB,qBAAqB;EACrB,mBAAmB;EACnB,iBnB2J+B;EEnN7B,gCiByDkC;EjBxDlC,mCiBwDkC;AtBwzDtC;;AwBh4DA;EACE,WAAW;EACX,2BAA2F;EAC3F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AxBm4DlB;;AwBx4DA;EAQI,aAAa;AxBo4DjB;;AwB54DA;EAY8B,iErBkBb;AHk3DjB;;AwBh5DA;EAa8B,iErBiBb;AHs3DjB;;AwBp5DA;EAc8B,iErBgBb;AH03DjB;;AwBx5DA;EAkBI,SAAS;AxB04Db;;AwB55DA;EAsBI,WrB+lB2C;EqB9lB3C,YrB8lB2C;EqB7lB3C,oBAAqE;EDxBrE,yBpB8Ba;EqBJb,SrB8lBwC;EEznBxC,mBF0nB2C;EgBznBzC,4GhB+nBkI;EqBjmBpI,wBAAgB;EAAhB,gBAAgB;AxBy4DpB;;AmBl6DI;EKLJ;ILMM,gBAAgB;EnBs6DpB;AACF;;AwB76DA;EDAI,yBpB6nByE;AHozC7E;;AwBj7DA;EAsCI,WrBwkBkC;EqBvkBlC,crBwkBmC;EqBvkBnC,kBAAkB;EAClB,erBukBqC;EqBtkBrC,yBrBtCc;EqBuCd,yBAAyB;EnB5CzB,mBFmnBkC;AHy0CtC;;AwB37DA;EAiDI,WrBokB2C;EqBnkB3C,YrBmkB2C;EoBrnB3C,yBpB8Ba;EqBsBb,SrBokBwC;EEznBxC,mBF0nB2C;EgBznBzC,4GhB+nBkI;EqBvkBpI,qBAAgB;EAAhB,gBAAgB;AxB64DpB;;AmBh8DI;EKLJ;ILMM,gBAAgB;EnBo8DpB;AACF;;AwB38DA;EDAI,yBpB6nByE;AHk1C7E;;AwB/8DA;EAgEI,WrB8iBkC;EqB7iBlC,crB8iBmC;EqB7iBnC,kBAAkB;EAClB,erB6iBqC;EqB5iBrC,yBrBhEc;EqBiEd,yBAAyB;EnBtEzB,mBFmnBkC;AHu2CtC;;AwBz9DA;EA2EI,WrB0iB2C;EqBziB3C,YrByiB2C;EqBxiB3C,aAAa;EACb,oBrB4U+B;EqB3U/B,mBrB2U+B;EoB1Z/B,yBpB8Ba;EqBmDb,SrBuiBwC;EEznBxC,mBF0nB2C;EgBznBzC,4GhB+nBkI;EqB1iBpI,gBAAgB;AxBi5DpB;;AmBj+DI;EKLJ;ILMM,gBAAgB;EnBq+DpB;AACF;;AwB5+DA;EDAI,yBpB6nByE;AHm3C7E;;AwBh/DA;EA6FI,WrBihBkC;EqBhhBlC,crBihBmC;EqBhhBnC,kBAAkB;EAClB,erBghBqC;EqB/gBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;AxBu5D9C;;AwB1/DA;EAwGI,yBrBpGc;EELd,mBFmnBkC;AH64CtC;;AwB//DA;EA6GI,kBAAkB;EAClB,yBrB1Gc;EELd,mBFmnBkC;AHm5CtC;;AwBrgEA;EAoHM,yBrB9GY;AHmgElB;;AwBzgEA;EAwHM,eAAe;AxBq5DrB;;AwB7gEA;EA4HM,yBrBtHY;AH2gElB;;AwBjhEA;EAgIM,eAAe;AxBq5DrB;;AwBrhEA;EAoIM,yBrB9HY;AHmhElB;;AyB1hEE;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AzB6hE7C;;AyBjiEE;;EAQI,kBAA0C;EAC1C,iBAAyC;AzB8hE/C;;AyBhhEA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AzBmhErB;;AyBthEA;EASI,WAAW;AzBihEf;;AYv/DI;EanCJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EzBghEpB;EyBliEF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EzB8gEpB;EyBziEF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EzB4gE1B;EyB9iEF;IAuCM,qBAAqB;EzB0gEzB;EyBjjEF;;IA4CM,WAAW;EzBygEf;EyBrjEF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EzBsgEnB;EyB5jEF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBtByewC;IsBxexC,cAAc;EzBsgElB;AACF;;A0B1lEA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A1B6lEb;;A0BlmEA;;;EAUI,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,gBAAgB;A1B8lEpB;;A0B3mEA;;;;;;;;;EAkBM,iBvBgN2B;AHq5DjC;;A0BvnEA;;;EA0BI,UAAU;A1BmmEd;;A0B7nEA;EA+BI,UAAU;A1BkmEd;;A0BjoEA;;ErBeI,0BqBqBmD;ErBpBnD,6BqBoBmD;A1BmmEvD;;A0BvoEA;;ErB6BI,yBqBQmD;ErBPnD,4BqBOmD;A1BwmEvD;;A0B7oEA;EA2CI,aAAa;EACb,mBAAmB;A1BsmEvB;;A0BlpEA;ErBeI,0BqB+BoE;ErB9BpE,6BqB8BoE;A1BymExE;;A0BvpEA;ErB6BI,yBqBkBoE;ErBjBpE,4BqBiBoE;A1B6mExE;;A0BlmEA;;EAEE,aAAa;A1BqmEf;;A0BvmEA;;EAQI,kBAAkB;EAClB,UAAU;A1BomEd;;A0B7mEA;;EAYM,UAAU;A1BsmEhB;;A0BlnEA;;;;;;;;EAoBI,iBvBoJ6B;AHq9DjC;;A0BrmEA;EAAuB,kBvBgJU;AHy9DjC;;A0BxmEA;EAAsB,iBvB+IW;AH69DjC;;A0BpmEA;EACE,aAAa;EACb,mBAAmB;EACnB,yBvBuTkC;EuBtTlC,gBAAgB;EtBqCZ,eAAW;EsBnCf,gBvBqM+B;EuBpM/B,gBvByM+B;EuBxM/B,cvB3FgB;EuB4FhB,kBAAkB;EAClB,mBAAmB;EACnB,yBvBnGgB;EuBoGhB,yBvBlGgB;EENd,sBFsOgC;AH0+DpC;;A0BpnEA;;EAkBI,aAAa;A1BumEjB;;A0B7lEA;EACE,oCvB2YkI;AHqtDpI;;A0B7lEA;EACE,gCvBuYkI;AHytDpI;;A0B7lEA;;;;;;EAME,oBvB8RgC;EC/R5B,kBAAW;ECrIb,qBFuO+B;AHigEnC;;A0B7lEA;EACE,sCvBuXkI;AHyuDpI;;A0B7lEA;EACE,kCvBmXkI;AH6uDpI;;A0B7lEA;;;;;;EAME,uBvBuQiC;EC3R7B,mBAAW;ECrIb,qBFwO+B;AHmhEnC;;A0B7lEA;;EAEE,sBAAsE;A1BgmExE;;A0BrlEA;;;;;;ErB3JI,0BqBiK4B;ErBhK5B,6BqBgK4B;A1BylEhC;;A0BtlEA;;;;;;ErBtJI,yBqB4J2B;ErB3J3B,4BqB2J2B;A1B0lE/B;;A2B/uEE;EACE,aAAa;EACb,WAAW;EACX,mBxBghB0C;ECnc1C,kBAAW;EuB3EX,cxBJa;AHsvEjB;;A2B/uEE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxBqyBqC;EwBpyBrC,iBAAiB;EvBiFf,mBAAW;EuB9Eb,WxBrDW;EwBsDX,wCxBlBa;EEtCb,sBFsOgC;AHokEpC;;A2BjxEI;;;;EAsCE,cAAc;A3BkvEpB;;A2BxxEI;EA4CE,qBxB/BW;EwBkCT,oCxBsb2F;EwBrb3F,4PXXmI;EWYnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBmbwF;AH2zDhG;;A2BjyEI;EAuDI,qBxB1CS;EwB2CT,gDxB3CS;AHyxEjB;;A2BtyEI;EAiEI,oCxBoa2F;EwBna3F,kFxBqa6F;AHo0DrG;;A2B3yEI;EAyEE,qBxB5DW;EwB+DT,sDxBmfkJ;EwBlflJ,olBAAyL;A3BouEjM;;A2BjzEI;EAiFI,qBxBpES;EwBqET,gDxBrES;AHyyEjB;;A2BtzEI;EAyFE,qBxB5EW;AH6yEjB;;A2B1zEI;EJxBA,yBIoH6C;A3BkuEjD;;A2B9zEI;EAgGI,gDxBnFS;AHqzEjB;;A2Bl0EI;EAoGI,cxBvFS;AHyzEjB;;A2B9tEE;EAEI,iBAAiB;A3BguEvB;;A2B10EI;EAkHI,qBxBrGS;AHi0EjB;;A2B90EI;EAuHM,qBxB1GO;EwB2GP,gDxB3GO;AHs0EjB;;A2Bv0EE;EACE,aAAa;EACb,WAAW;EACX,mBxBghB0C;ECnc1C,kBAAW;EuB3EX,cxBPa;AHi1EjB;;A2Bv0EE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBxBqyBqC;EwBpyBrC,iBAAiB;EvBiFf,mBAAW;EuB9Eb,WxBrDW;EwBsDX,wCxBrBa;EEnCb,sBFsOgC;AH4pEpC;;A2Bz2EI;;;;EAsCE,cAAc;A3B00EpB;;A2Bh3EI;EA4CE,qBxBlCW;EwBqCT,oCxBsb2F;EwBrb3F,4UXXmI;EWYnI,4BAA4B;EAC5B,2DAA6D;EAC7D,gExBmbwF;AHm5DhG;;A2Bz3EI;EAuDI,qBxB7CS;EwB8CT,gDxB9CS;AHo3EjB;;A2B93EI;EAiEI,oCxBoa2F;EwBna3F,kFxBqa6F;AH45DrG;;A2Bn4EI;EAyEE,qBxB/DW;EwBkET,sDxBmfkJ;EwBlflJ,oqBAAyL;A3B4zEjM;;A2Bz4EI;EAiFI,qBxBvES;EwBwET,gDxBxES;AHo4EjB;;A2B94EI;EAyFE,qBxB/EW;AHw4EjB;;A2Bl5EI;EJxBA,yBIoH6C;A3B0zEjD;;A2Bt5EI;EAgGI,gDxBtFS;AHg5EjB;;A2B15EI;EAoGI,cxB1FS;AHo5EjB;;A2BtzEE;EAEI,iBAAiB;A3BwzEvB;;A2Bl6EI;EAkHI,qBxBxGS;AH45EjB;;A2Bt6EI;EAuHM,qBxB7GO;EwB8GP,gDxB9GO;AHi6EjB;;A4Bn8EA;EACE,qBAAqB;EAErB,gBzBmS+B;EyBlS/B,gBzBuS+B;EyBtS/B,czBKgB;EyBJhB,kBAAkB;EAClB,sBAAsB;EACtB,eAAsD;EACtD,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yB1BmTkC;ECjR9B,eAAW;ECrIb,sBFsOgC;EgBrO9B,qIhB+c6I;AHqgEnJ;;AmB/8EI;ESLJ;ITMM,gBAAgB;EnBm9EpB;AACF;;A4B19EA;EAgBI,czBNc;EyBOd,qBAAqB;A5B88EzB;;A4B/9EA;EAsBI,UAAU;EACV,iDzBOa;AHs8EjB;;A4Bp+EA;EA6BI,azBoa6B;AHuiEjC;;A4B57EA;;EAEE,oBAAoB;A5B+7EtB;;A4Bt7EE;ECvDA,W1BCa;EoBDX,yBpB8Ba;E0B5Bf,qB1B4Be;AHq9EjB;;A6B9+EE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7B0/E7H;;A6B9+EE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7B4+EvF;;A6Bv+EE;EAEE,W1B1BW;E0B2BX,yB1BEa;E0BDb,qB1BCa;AHw+EjB;;A6Bl+EE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7B8gFnN;;A6B/9EI;;EAKI,gDAAiF;A7B+9EzF;;A4B39EE;ECvDA,W1BCa;EoBDX,yBpBOc;E0BLhB,qB1BKgB;AHihFlB;;A6BnhFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7B+hF7H;;A6BnhFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;A7BihFvF;;A6B5gFE;EAEE,W1B1BW;E0B2BX,yB1BrBc;E0BsBd,qB1BtBc;AHoiFlB;;A6BvgFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BmjFnN;;A6BpgFI;;EAKI,iDAAiF;A7BogFzF;;A4BhgFE;ECvDA,W1BCa;EoBDX,yBpBqCa;E0BnCf,qB1BmCe;AHwhFjB;;A6BxjFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7BokF7H;;A6BxjFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;A7BsjFvF;;A6BjjFE;EAEE,W1B1BW;E0B2BX,yB1BSa;E0BRb,qB1BQa;AH2iFjB;;A6B5iFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BwlFnN;;A6BziFI;;EAKI,+CAAiF;A7ByiFzF;;A4BriFE;ECvDA,W1BCa;EoBDX,yBpBuCa;E0BrCf,qB1BqCe;AH2jFjB;;A6B7lFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7BymF7H;;A6B7lFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7B2lFvF;;A6BtlFE;EAEE,W1B1BW;E0B2BX,yB1BWa;E0BVb,qB1BUa;AH8kFjB;;A6BjlFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7B6nFnN;;A6B9kFI;;EAKI,gDAAiF;A7B8kFzF;;A4B1kFE;ECvDA,c1BUgB;EoBVd,yBpBoCa;E0BlCf,qB1BkCe;AHmmFjB;;A6BloFE;EACE,c1BIc;EoBVd,yBMDoF;EASpF,qBATyH;A7B8oF7H;;A6BloFE;EAEE,c1BHc;EoBVd,yBMDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;A7BgoFvF;;A6B3nFE;EAEE,c1BjBc;E0BkBd,yB1BQa;E0BPb,qB1BOa;AHsnFjB;;A6BtnFE;;EAGE,c1B7Bc;E0B8Bd,yBAzCuK;EA6CvK,qBA7C+M;A7BkqFnN;;A6BnnFI;;EAKI,gDAAiF;A7BmnFzF;;A4B/mFE;ECvDA,W1BCa;EoBDX,yBpBkCa;E0BhCf,qB1BgCe;AH0oFjB;;A6BvqFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7BmrF7H;;A6BvqFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;A7BqqFvF;;A6BhqFE;EAEE,W1B1BW;E0B2BX,yB1BMa;E0BLb,qB1BKa;AH6pFjB;;A6B3pFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BusFnN;;A6BxpFI;;EAKI,+CAAiF;A7BwpFzF;;A4BppFE;ECvDA,c1BUgB;EoBVd,yBpBEc;E0BAhB,qB1BAgB;AH+sFlB;;A6B5sFE;EACE,c1BIc;EoBVd,yBMDoF;EASpF,qBATyH;A7BwtF7H;;A6B5sFE;EAEE,c1BHc;EoBVd,yBMDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;A7B0sFvF;;A6BrsFE;EAEE,c1BjBc;E0BkBd,yB1B1Bc;E0B2Bd,qB1B3Bc;AHkuFlB;;A6BhsFE;;EAGE,c1B7Bc;E0B8Bd,yBAzCuK;EA6CvK,qBA7C+M;A7B4uFnN;;A6B7rFI;;EAKI,iDAAiF;A7B6rFzF;;A4BzrFE;ECvDA,W1BCa;EoBDX,yBpBSc;E0BPhB,qB1BOgB;AH6uFlB;;A6BjvFE;EACE,W1BLW;EoBDX,yBMDoF;EASpF,qBATyH;A7B6vF7H;;A6BjvFE;EAEE,W1BZW;EoBDX,yBMDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;A7B+uFvF;;A6B1uFE;EAEE,W1B1BW;E0B2BX,yB1BnBc;E0BoBd,qB1BpBc;AHgwFlB;;A6BruFE;;EAGE,W1BtCW;E0BuCX,yBAzCuK;EA6CvK,qBA7C+M;A7BixFnN;;A6BluFI;;EAKI,8CAAiF;A7BkuFzF;;A4BxtFE;ECHA,c1B5Be;E0B6Bf,qB1B7Be;AH4vFjB;;A6B7tFE;EACE,W1B7DW;E0B8DX,yB1BjCa;E0BkCb,qB1BlCa;AHkwFjB;;A6B7tFE;EAEE,gD1BvCa;AHswFjB;;A6B5tFE;EAEE,c1B5Ca;E0B6Cb,6BAA6B;A7B8tFjC;;A6B3tFE;;EAGE,W1BhFW;E0BiFX,yB1BpDa;E0BqDb,qB1BrDa;AHkxFjB;;A6B3tFI;;EAKI,gD1B5DS;AHuxFjB;;A4BxvFE;ECHA,c1BnDgB;E0BoDhB,qB1BpDgB;AHmzFlB;;A6B7vFE;EACE,W1B7DW;E0B8DX,yB1BxDc;E0ByDd,qB1BzDc;AHyzFlB;;A6B7vFE;EAEE,iD1B9Dc;AH6zFlB;;A6B5vFE;EAEE,c1BnEc;E0BoEd,6BAA6B;A7B8vFjC;;A6B3vFE;;EAGE,W1BhFW;E0BiFX,yB1B3Ec;E0B4Ed,qB1B5Ec;AHy0FlB;;A6B3vFI;;EAKI,iD1BnFU;AH80FlB;;A4BxxFE;ECHA,c1BrBe;E0BsBf,qB1BtBe;AHqzFjB;;A6B7xFE;EACE,W1B7DW;E0B8DX,yB1B1Ba;E0B2Bb,qB1B3Ba;AH2zFjB;;A6B7xFE;EAEE,+C1BhCa;AH+zFjB;;A6B5xFE;EAEE,c1BrCa;E0BsCb,6BAA6B;A7B8xFjC;;A6B3xFE;;EAGE,W1BhFW;E0BiFX,yB1B7Ca;E0B8Cb,qB1B9Ca;AH20FjB;;A6B3xFI;;EAKI,+C1BrDS;AHg1FjB;;A4BxzFE;ECHA,c1BnBe;E0BoBf,qB1BpBe;AHm1FjB;;A6B7zFE;EACE,W1B7DW;E0B8DX,yB1BxBa;E0ByBb,qB1BzBa;AHy1FjB;;A6B7zFE;EAEE,gD1B9Ba;AH61FjB;;A6B5zFE;EAEE,c1BnCa;E0BoCb,6BAA6B;A7B8zFjC;;A6B3zFE;;EAGE,W1BhFW;E0BiFX,yB1B3Ca;E0B4Cb,qB1B5Ca;AHy2FjB;;A6B3zFI;;EAKI,gD1BnDS;AH82FjB;;A4Bx1FE;ECHA,c1BtBe;E0BuBf,qB1BvBe;AHs3FjB;;A6B71FE;EACE,c1BpDc;E0BqDd,yB1B3Ba;E0B4Bb,qB1B5Ba;AH43FjB;;A6B71FE;EAEE,+C1BjCa;AHg4FjB;;A6B51FE;EAEE,c1BtCa;E0BuCb,6BAA6B;A7B81FjC;;A6B31FE;;EAGE,c1BvEc;E0BwEd,yB1B9Ca;E0B+Cb,qB1B/Ca;AH44FjB;;A6B31FI;;EAKI,+C1BtDS;AHi5FjB;;A4Bx3FE;ECHA,c1BxBe;E0ByBf,qB1BzBe;AHw5FjB;;A6B73FE;EACE,W1B7DW;E0B8DX,yB1B7Ba;E0B8Bb,qB1B9Ba;AH85FjB;;A6B73FE;EAEE,+C1BnCa;AHk6FjB;;A6B53FE;EAEE,c1BxCa;E0ByCb,6BAA6B;A7B83FjC;;A6B33FE;;EAGE,W1BhFW;E0BiFX,yB1BhDa;E0BiDb,qB1BjDa;AH86FjB;;A6B33FI;;EAKI,+C1BxDS;AHm7FjB;;A4Bx5FE;ECHA,c1BxDgB;E0ByDhB,qB1BzDgB;AHw9FlB;;A6B75FE;EACE,c1BpDc;E0BqDd,yB1B7Dc;E0B8Dd,qB1B9Dc;AH89FlB;;A6B75FE;EAEE,iD1BnEc;AHk+FlB;;A6B55FE;EAEE,c1BxEc;E0ByEd,6BAA6B;A7B85FjC;;A6B35FE;;EAGE,c1BvEc;E0BwEd,yB1BhFc;E0BiFd,qB1BjFc;AH8+FlB;;A6B35FI;;EAKI,iD1BxFU;AHm/FlB;;A4Bx7FE;ECHA,c1BjDgB;E0BkDhB,qB1BlDgB;AHi/FlB;;A6B77FE;EACE,W1B7DW;E0B8DX,yB1BtDc;E0BuDd,qB1BvDc;AHu/FlB;;A6B77FE;EAEE,8C1B5Dc;AH2/FlB;;A6B57FE;EAEE,c1BjEc;E0BkEd,6BAA6B;A7B87FjC;;A6B37FE;;EAGE,W1BhFW;E0BiFX,yB1BzEc;E0B0Ed,qB1B1Ec;AHugGlB;;A6B37FI;;EAKI,8C1BjFU;AH4gGlB;;A4B78FA;EACE,gBzB6N+B;EyB5N/B,czB5Ce;EyB6Cf,qBzBmF4C;AH63F9C;;A4Bn9FA;EAMI,czBiF8D;EyBhF9D,0BzBiF+C;AHg4FnD;;A4Bx9FA;EAYI,0BzB4E+C;EyB3E/C,gBAAgB;A5Bg9FpB;;A4B79FA;EAkBI,czBnFc;EyBoFd,oBAAoB;A5B+8FxB;;A4Bp8FA;ECJE,oB1BiUgC;EC/R5B,kBAAW;ECrIb,qBFuO+B;AH00FnC;;A4Bt8FA;ECRE,uB1B6TiC;EC3R7B,mBAAW;ECrIb,qBFwO+B;AH+0FnC;;A4Bn8FA;EACE,cAAc;EACd,WAAW;A5Bs8Fb;;A4Bx8FA;EAMI,kBzB+U+B;AHunFnC;;A8BrkGA;EXMM,gChBwP2C;AH20FjD;;AmB9jGI;EWXJ;IXYM,gBAAgB;EnBkkGpB;AACF;;A8B/kGA;EAII,UAAU;A9B+kGd;;A8B3kGA;EAEI,aAAa;A9B6kGjB;;A8BzkGA;EACE,SAAS;EACT,gBAAgB;EXVZ,6BhByPwC;AH81F9C;;AmBllGI;EWGJ;IXFM,gBAAgB;EnBslGpB;AACF;;A+BlmGA;;;;EAIE,kBAAkB;A/BqmGpB;;A0Bt7FqE;EK3KnE,mBAAmB;A/BqmGrB;;AgCjlGI;EACE,qBAAqB;EACrB,oB7B4N0C;E6B3N1C,uB7B0N0C;E6BzN1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AhCqnG7C;;AgChkGI;EACE,cAAc;AhCmkGpB;;A+B7mGA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a5ByqBsC;E4BxqBtC,aAAa;EACb,gB5B6uBuC;E4B5uBvC,iBAA8B;EAC9B,oBAA4B;E3BkHxB,eAAW;E2BhHf,c5BVgB;E4BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB5BtBa;E4BuBb,4BAA4B;EAC5B,qC5Bda;EEZX,sBFsOgC;AHq6FpC;;A+BxmGI;EACE,WAAW;EACX,OAAO;A/B2mGb;;A+BxmGI;EACE,QAAQ;EACR,UAAU;A/B2mGhB;;AY3lGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BsnGX;E+BnnGE;IACE,QAAQ;IACR,UAAU;E/BqnGd;AACF;;AYtmGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BioGX;E+B9nGE;IACE,QAAQ;IACR,UAAU;E/BgoGd;AACF;;AYjnGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/B4oGX;E+BzoGE;IACE,QAAQ;IACR,UAAU;E/B2oGd;AACF;;AY5nGI;EmBvBA;IACE,WAAW;IACX,OAAO;E/BupGX;E+BppGE;IACE,QAAQ;IACR,UAAU;E/BspGd;AACF;;A+BhpGA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB5B0sBuC;AHw8E3C;;AgChrGI;EACE,qBAAqB;EACrB,oB7B4N0C;E6B3N1C,uB7B0N0C;E6BzN1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AhC6sG7C;;AgC/pGI;EACE,cAAc;AhCkqGpB;;A+BzpGA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB5B4rBuC;AH+9E3C;;AgCvsGI;EACE,qBAAqB;EACrB,oB7B4N0C;E6B3N1C,uB7B0N0C;E6BzN1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AhC6tGjC;;AgCtrGI;EACE,cAAc;AhCyrGpB;;AgCttGI;EDkDE,iBAAiB;A/BwqGvB;;A+BnqGA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB5B2qBuC;AH0/E3C;;AgCluGI;EACE,qBAAqB;EACrB,oB7B4N0C;E6B3N1C,uB7B0N0C;E6BzN1C,WAAW;AhCquGjB;;AgCzuGI;EAgBI,aAAa;AhC6tGrB;;AgC1tGM;EACE,qBAAqB;EACrB,qB7ByMwC;E6BxMxC,uB7BuMwC;E6BtMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AhC4vG/C;;AgC3tGI;EACE,cAAc;AhC8tGpB;;AgCxuGM;EDgDA,iBAAiB;A/B4rGvB;;A+BrrGA;EAKI,WAAW;EACX,YAAY;A/BorGhB;;A+B/qGA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,6B5B7GgB;AH+xGlB;;A+B5qGA;EACE,cAAc;EACd,WAAW;EACX,uB5B4pBwC;E4B3pBxC,WAAW;EACX,gB5B2K+B;E4B1K/B,c5BlHgB;E4BmHhB,mBAAmB;EACnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A/B+qGX;;A+BzrGA;EA0BI,c5B4nBqD;E4B3nBrD,qBAAqB;ERjJrB,yBpBEc;AHmzGlB;;A+B/rGA;EAiCI,W5BtJW;E4BuJX,qBAAqB;ERxJrB,yBpB8Ba;AH6xGjB;;A+BrsGA;EAwCI,c5BvJc;E4BwJd,oBAAoB;EACpB,6BAA6B;A/BiqGjC;;A+BzpGA;EACE,cAAc;A/B4pGhB;;A+BxpGA;EACE,cAAc;EACd,sB5BsmBwC;E4BrmBxC,gBAAgB;E3B5CZ,mBAAW;E2B8Cf,c5B3KgB;E4B4KhB,mBAAmB;A/B2pGrB;;A+BvpGA;EACE,cAAc;EACd,uB5B4lBwC;E4B3lBxC,c5BhLgB;AH00GlB;;AiCv1GA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AjC01GxB;;AiC91GA;;EAOI,kBAAkB;EAClB,cAAc;AjC41GlB;;AiCp2GA;;;;;EAgBM,UAAU;AjC41GhB;;AiCt1GA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AjCy1G7B;;AiC51GA;EAMI,WAAW;AjC01Gf;;AiCt1GA;;EAII,iB9BiM6B;AHspGjC;;AiC31GA;;E5BdI,0B4BwB8B;E5BvB9B,6B4BuB8B;AjCu1GlC;;AiCj2GA;;E5BAI,yB4Be6B;E5Bd7B,4B4Bc6B;AjCw1GjC;;AiCx0GA;EACE,wBAAmC;EACnC,uBAAkC;AjC20GpC;;AiC70GA;;;EAOI,cAAc;AjC40GlB;;AiCz0GE;EACE,eAAe;AjC40GnB;;AiCx0GA;EACE,uBAAsC;EACtC,sBAAqC;AjC20GvC;;AiCx0GA;EACE,sBAAsC;EACtC,qBAAqC;AjC20GvC;;AiCvzGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AjC0zGzB;;AiC7zGA;;EAOI,WAAW;AjC2zGf;;AiCl0GA;;EAYI,gB9BgH6B;AH2sGjC;;AiCv0GA;;E5BhFI,6B4BkG+B;E5BjG/B,4B4BiG+B;AjC2zGnC;;AiC70GA;;E5B9FI,yB4BqH4B;E5BpH5B,0B4BoH4B;AjC4zGhC;;AiC3yGA;;EAGI,gBAAgB;AjC6yGpB;;AiChzGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AjCgzG1B;;AkCx8GA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AlC28GlB;;AkCx8GA;EACE,cAAc;EACd,oB/B0rBsC;AHixFxC;;AkC78GA;EAMI,qBAAqB;AlC28GzB;;AkCj9GA;EAWI,c/BXc;E+BYd,oBAAoB;EACpB,eAAe;AlC08GnB;;AkCl8GA;EACE,gC/BzBgB;AH89GlB;;AkCt8GA;EAII,mB/BkM6B;AHowGjC;;AkC18GA;EAQI,6BAAgD;E7B5BhD,+BF6NgC;EE5NhC,gCF4NgC;AHuwGpC;;AkCh9GA;EAaM,qC/BrCY;AH4+GlB;;AkCp9GA;EAiBM,c/BtCY;E+BuCZ,6BAA6B;EAC7B,yBAAyB;AlCu8G/B;;AkC19GA;;EAyBI,c/B7Cc;E+B8Cd,sB/BrDW;E+BsDX,kC/BtDW;AH4/Gf;;AkCj+GA;EAgCI,gB/BsK6B;EE1N7B,yB6BsD4B;E7BrD5B,0B6BqD4B;AlCq8GhC;;AkC57GA;E7BxEI,sBFsOgC;AHkyGpC;;AkCh8GA;;EAOI,W/B7EW;E+B8EX,yB/BjDa;AH++GjB;;AkCr7GA;EAEI,cAAc;EACd,kBAAkB;AlCu7GtB;;AkCn7GA;EAEI,aAAa;EACb,YAAY;EACZ,kBAAkB;AlCq7GtB;;AkC56GA;EAEI,aAAa;AlC86GjB;;AkCh7GA;EAKI,cAAc;AlC+6GlB;;AmCrhHA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,oBhC8GW;AH06Gb;;AmC9hHA;;EAWI,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;AnCwhHlC;;AmCpgHA;EACE,qBAAqB;EACrB,sBhC+qB+E;EgC9qB/E,yBhC8qB+E;EgC7qB/E,kBhC8EW;ECKP,kBAAW;E+BjFf,oBAAoB;EACpB,mBAAmB;AnCugHrB;;AmC9gHA;EAWI,qBAAqB;AnCugHzB;;AmC9/GA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnCigHlB;;AmCtgHA;EAQI,gBAAgB;EAChB,eAAe;AnCkgHnB;;AmC3gHA;EAaI,gBAAgB;AnCkgHpB;;AmCz/GA;EACE,qBAAqB;EACrB,mBhCymBuC;EgCxmBvC,sBhCwmBuC;AHo5FzC;;AmCh/GA;EACE,gBAAgB;EAChB,YAAY;EAGZ,mBAAmB;AnCi/GrB;;AmC7+GA;EACE,wBhCinBwC;EC7lBpC,kBAAW;E+BlBf,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E9BrHrC,sBFsOgC;AHg4GpC;;AmCt/GA;EAUI,qBAAqB;AnCg/GzB;;AmC1+GA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,mCAAmC;EACnC,0BAA0B;AnC6+G5B;;AY7iHI;EuB0EC;;IAGK,gBAAgB;IAChB,eAAe;EnCs+GvB;AACF;;AYlkHI;EuBuFA;IAoBI,qBAAqB;IACrB,2BAA2B;EnC49GjC;EmCj/GG;IAwBK,mBAAmB;EnC49G3B;EmCp/GG;IA2BO,kBAAkB;EnC49G5B;EmCv/GG;IA+BO,qBhCyiB6B;IgCxiB7B,oBhCwiB6B;EHm7FvC;EmC3/GG;;IAsCK,iBAAiB;EnCy9GzB;EmC//GG;IAqDK,wBAAwB;IAGxB,gBAAgB;EnC28GxB;EmCngHG;IA4DK,aAAa;EnC08GrB;AACF;;AYjlHI;EuB0EC;;IAGK,gBAAgB;IAChB,eAAe;EnC0gHvB;AACF;;AYtmHI;EuBuFA;IAoBI,qBAAqB;IACrB,2BAA2B;EnCggHjC;EmCrhHG;IAwBK,mBAAmB;EnCggH3B;EmCxhHG;IA2BO,kBAAkB;EnCggH5B;EmC3hHG;IA+BO,qBhCyiB6B;IgCxiB7B,oBhCwiB6B;EHu9FvC;EmC/hHG;;IAsCK,iBAAiB;EnC6/GzB;EmCniHG;IAqDK,wBAAwB;IAGxB,gBAAgB;EnC++GxB;EmCviHG;IA4DK,aAAa;EnC8+GrB;AACF;;AYrnHI;EuB0EC;;IAGK,gBAAgB;IAChB,eAAe;EnC8iHvB;AACF;;AY1oHI;EuBuFA;IAoBI,qBAAqB;IACrB,2BAA2B;EnCoiHjC;EmCzjHG;IAwBK,mBAAmB;EnCoiH3B;EmC5jHG;IA2BO,kBAAkB;EnCoiH5B;EmC/jHG;IA+BO,qBhCyiB6B;IgCxiB7B,oBhCwiB6B;EH2/FvC;EmCnkHG;;IAsCK,iBAAiB;EnCiiHzB;EmCvkHG;IAqDK,wBAAwB;IAGxB,gBAAgB;EnCmhHxB;EmC3kHG;IA4DK,aAAa;EnCkhHrB;AACF;;AYzpHI;EuB0EC;;IAGK,gBAAgB;IAChB,eAAe;EnCklHvB;AACF;;AY9qHI;EuBuFA;IAoBI,qBAAqB;IACrB,2BAA2B;EnCwkHjC;EmC7lHG;IAwBK,mBAAmB;EnCwkH3B;EmChmHG;IA2BO,kBAAkB;EnCwkH5B;EmCnmHG;IA+BO,qBhCyiB6B;IgCxiB7B,oBhCwiB6B;EH+hGvC;EmCvmHG;;IAsCK,iBAAiB;EnCqkHzB;EmC3mHG;IAqDK,wBAAwB;IAGxB,gBAAgB;EnCujHxB;EmC/mHG;IA4DK,aAAa;EnCsjHrB;AACF;;AmCxnHA;EAyBQ,qBAAqB;EACrB,2BAA2B;AnCmmHnC;;AmC7nHA;;EAQU,gBAAgB;EAChB,eAAe;AnC0nHzB;;AmCnoHA;EA6BU,mBAAmB;AnC0mH7B;;AmCvoHA;EAgCY,kBAAkB;AnC2mH9B;;AmC3oHA;EAoCY,qBhCyiB6B;EgCxiB7B,oBhCwiB6B;AHmkGzC;;AmChpHA;;EA2CU,iBAAiB;AnC0mH3B;;AmCrpHA;EA0DU,wBAAwB;EAGxB,gBAAgB;AnC6lH1B;;AmC1pHA;EAiEU,aAAa;AnC6lHvB;;AmChlHA;EAEI,yBhChNW;AHkyHf;;AmCplHA;EAMM,yBhCpNS;AHsyHf;;AmCxlHA;EAYM,yBhC1NS;AH0yHf;;AmC5lHA;EAgBQ,yBhC9NO;AH8yHf;;AmChmHA;EAoBQ,yBhClOO;AHkzHf;;AmCpmHA;;;;EA4BM,yBhC1OS;AHyzHf;;AmC3mHA;EAiCI,yBhC/OW;EgCgPX,gChChPW;AH8zHf;;AmChnHA;EAsCI,wPnBlMuI;AhBgxH3I;;AmCpnHA;EA0CI,yBhCxPW;AHs0Hf;;AmCxnHA;;;EA+CM,yBhC7PS;AH40Hf;;AmCzkHA;EAEI,WhC/QW;AH01Hf;;AmC7kHA;EAMM,WhCnRS;AH81Hf;;AmCjlHA;EAYM,+BhCzRS;AHk2Hf;;AmCrlHA;EAgBQ,gChC7RO;AHs2Hf;;AmCzlHA;EAoBQ,gChCjSO;AH02Hf;;AmC7lHA;;;;EA4BM,WhCzSS;AHi3Hf;;AmCpmHA;EAiCI,+BhC9SW;EgC+SX,sChC/SW;AHs3Hf;;AmCzmHA;EAsCI,8PnBvPuI;AhB8zH3I;;AmC7mHA;EA0CI,+BhCvTW;AH83Hf;;AmCjnHA;;;EA8CM,WhC3TS;AHo4Hf;;AoCv4HA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBjCJa;EiCKb,2BAA2B;EAC3B,sCjCIa;EEZX,sBFsOgC;AH4qHpC;;AoCn5HA;EAaI,eAAe;EACf,cAAc;ApC04HlB;;AoCx5HA;E/BUI,+BF6NgC;EE5NhC,gCF4NgC;AHsrHpC;;AoC75HA;E/BwBI,mCF+MgC;EE9MhC,kCF8MgC;AH2rHpC;;AoCp4HA;EAGE,cAAc;EAGd,eAAe;EACf,gBjC0xByC;AHymG3C;;AoC/3HA;EACE,sBjCoxBwC;AH8mG1C;;AoC/3HA;EACE,qBAA+B;EAC/B,gBAAgB;ApCk4HlB;;AoC/3HA;EACE,gBAAgB;ApCk4HlB;;AoC/3HA;EAEI,qBAAqB;ApCi4HzB;;AoCn4HA;EAMI,oBjCmwBuC;AH8nG3C;;AoCz3HA;EACE,wBjC0vByC;EiCzvBzC,gBAAgB;EAEhB,qCjC3Da;EiC4Db,6CjC5Da;AHu7Hf;;AoCh4HA;E/BnEI,0D+B2E8E;ApC43HlF;;AoCp4HA;EAaM,aAAa;ApC23HnB;;AoCt3HA;EACE,wBjCwuByC;EiCvuBzC,qCjC3Ea;EiC4Eb,0CjC5Ea;AHq8Hf;;AoC53HA;E/BrFI,0DFk0BoF;AHmpGxF;;AoCj3HA;EACE,uBAAiC;EACjC,uBjCutBwC;EiCttBxC,sBAAgC;EAChC,gBAAgB;ApCo3HlB;;AoC12HA;EACE,uBAAiC;EACjC,sBAAgC;ApC62HlC;;AoCz2HA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gBjC2sByC;AHiqG3C;;AoCz2HA;;;EAGE,cAAc;EACd,WAAW;ApC42Hb;;AoCz2HA;;E/B/HI,2CFyzBoF;EExzBpF,4CFwzBoF;AHqrGxF;;AoC12HA;;E/BtHI,+CF2yBoF;EE1yBpF,8CF0yBoF;AH2rGxF;;AoCx2HA;EAEI,mBjCorBsD;AHsrG1D;;AYv8HI;EwB2FJ;IAMI,aAAa;IACb,mBAAmB;IACnB,mBjC8qBsD;IiC7qBtD,kBjC6qBsD;EH8rGxD;EoCp3HF;IAaM,YAAY;IACZ,kBjCwqBoD;IiCvqBpD,gBAAgB;IAChB,iBjCsqBoD;EHosGxD;AACF;;AoCj2HA;EAII,mBjCwpBsD;AHysG1D;;AY19HI;EwBqHJ;IAQI,aAAa;IACb,mBAAmB;EpCk2HrB;EoC32HF;IAcM,YAAY;IACZ,gBAAgB;EpCg2HpB;EoC/2HF;IAkBQ,cAAc;IACd,cAAc;EpCg2HpB;EoCn3HF;I/B/JI,0B+BwLoC;I/BvLpC,6B+BuLoC;EpC81HtC;EoCv3HF;;IA8BY,0BAA0B;EpC61HpC;EoC33HF;;IAmCY,6BAA6B;EpC41HvC;EoC/3HF;I/BjJI,yB+ByLmC;I/BxLnC,4B+BwLmC;EpC21HrC;EoCn4HF;;IA6CY,yBAAyB;EpC01HnC;EoCv4HF;;IAkDY,4BAA4B;EpCy1HtC;AACF;;AoC70HA;EAEI,gBAAgB;ApC+0HpB;;AoCj1HA;EAKM,gBAAgB;E/B5NlB,6B+B6NiC;E/B5NjC,4B+B4NiC;ApCi1HrC;;AoCv1HA;E/BrOI,yB+B+O8B;E/B9O9B,0B+B8O8B;ApCk1HlC;;AoC51HA;E/B9OI,gB+B4P0B;EACxB,mBjC1B2B;AH42HjC;;AqCplIA;EACE,aAAa;EACb,eAAe;EACf,qBlCuhCsC;EkCthCtC,mBlCyhCsC;EkCvhCtC,gBAAgB;EAChB,yBlCEgB;EEJd,sBFsOgC;AHm3HpC;;AqCnlIA;EAGI,oBlC6gCqC;AHukGzC;;AqCvlIA;EAMM,qBAAqB;EACrB,qBlCygCmC;EkCxgCnC,clCNY;EkCOZ,YlC8gCuC;AHukG7C;;AqC9lIA;EAoBI,0BAA0B;ArC8kI9B;;AqClmIA;EAwBI,qBAAqB;ArC8kIzB;;AqCtmIA;EA4BI,clC1Bc;AHwmIlB;;AsCrnIA;EACE,aAAa;E/BGb,eAAe;EACf,gBAAgB;APsnIlB;;AsCtnIA;EACE,kBAAkB;EAClB,cAAc;EACd,cnC4Be;EmC3Bf,sBnCFa;EmCGb,yBnCAgB;AHynIlB;;AsC9nIA;EAQI,UAAU;EACV,cnCuJ8D;EmCtJ9D,qBAAqB;EACrB,yBnCPc;EmCQd,qBnCPc;AHioIlB;;AsCtoIA;EAgBI,UAAU;EACV,UnC2xBiC;EmC1xBjC,iDnCaa;AH6mIjB;;AsCtnIA;EAEI,iBnC2M6B;AH66HjC;;AsC1nIA;EAMI,UAAU;EACV,WnC3BW;EmC4BX,yBnCCa;EmCAb,qBnCAa;AHwnIjB;;AsCjoIA;EAaI,cnC3Bc;EmC4Bd,oBAAoB;EAEpB,YAAY;EACZ,sBnCrCW;EmCsCX,qBnCnCc;AH0pIlB;;AsC/pIA;ECDI,yBpC+xBsC;AHq4G1C;;AuChqIE;ElC2BE,+BFwMgC;EEvMhC,kCFuMgC;AHk8HpC;;AuCrqIE;ElCaE,gCFsNgC;EErNhC,mCFqNgC;AHu8HpC;;AuC/qIE;EACE,uBpCmyBsC;EC7pBpC,kBAAW;AJ6iIjB;;AuC5qIQ;ElCwBJ,8BFyM+B;EExM/B,iCFwM+B;AHg9HnC;;AuC3qIQ;ElCIJ,+BFuN+B;EEtN/B,kCFsN+B;AHq9HnC;;AuC9rIE;EACE,uBpCiyBqC;EC3pBnC,mBAAW;AJ4jIjB;;AuC3rIQ;ElCwBJ,8BF0M+B;EEzM/B,iCFyM+B;AH89HnC;;AuC1rIQ;ElCIJ,+BFwN+B;EEvN/B,kCFuN+B;AHm+HnC;;AwC3sIA;EACE,qBAAqB;EACrB,qBrCy5BsC;ECtyBpC,iBAAW;EoCjHb,gBrCoS+B;EqCnS/B,cAAc;EACd,WrCJa;EqCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EnCTtB,sBFsOgC;AHk/HpC;;AwCxtIA;EAcI,aAAa;AxC8sIjB;;AwCzsIA;EACE,kBAAkB;EAClB,SAAS;AxC4sIX;;AyCluIA;EACE,kBAAkB;EAClB,wBtC68ByC;EsC58BzC,mBtC68BsC;EsC58BtC,6BAA6C;EpCH3C,sBFsOgC;AHmgIpC;;AyCjuIA;EAEE,cAAc;AzCmuIhB;;AyC/tIA;EACE,gBtCyR+B;AHy8HjC;;AyC1tIA;EACE,mBAAsD;AzC6tIxD;;AyC9tIA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtC+6BuC;EsC96BvC,cAAc;AzC6tIlB;;AyCntIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBoqIlE;;A0CnwIE;EACE,cAA0B;A1CswI9B;;AyC7tIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB8qIlE;;A0C7wIE;EACE,cAA0B;A1CgxI9B;;AyCvuIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBwrIlE;;A0CvxIE;EACE,cAA0B;A1C0xI9B;;AyCjvIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBksIlE;;A0CjyIE;EACE,cAA0B;A1CoyI9B;;AyC3vIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB4sIlE;;A0C3yIE;EACE,cAA0B;A1C8yI9B;;AyCrwIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBstIlE;;A0CrzIE;EACE,cAA0B;A1CwzI9B;;AyC/wIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhBguIlE;;A0C/zIE;EACE,cAA0B;A1Ck0I9B;;AyCzxIE;EC9CA,c1BmGgE;EO9F9D,yBP8F8D;E0BjGhE,qB1BiGgE;AhB0uIlE;;A0Cz0IE;EACE,cAA0B;A1C40I9B;;A2Ch1IE;EACE;IAAK,2BxC69B+B;EHu3GtC;AACF;;A2Ct1IE;EACE;IAAK,2BxC69B+B;EHu3GtC;AACF;;A2Cj1IA;EACE,aAAa;EACb,YxCu9BsC;EwCt9BtC,gBAAgB;EvCgIZ,kBAAW;EuC9Hf,yBxCHgB;EEJd,sBFsOgC;AHsnIpC;;A2Ch1IA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,WxCda;EwCeb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCYe;EgB9BX,2BhBk+B4C;AHo4GlD;;AmBj2II;EwBMJ;IxBLM,gBAAgB;EnBq2IpB;AACF;;A2Ct1IA;EpBeE,qMAA6I;EoBb7I,0BxCk8BsC;AHu5GxC;;A2Cr1IE;EACE,0DxCo8BkD;EwCp8BlD,kDxCo8BkD;AHo5GtD;;A2Cr1IM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3Cy1IrB;AACF;;A4C73IA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A5C83IlB;;A4Cr3IA;EACE,WAAW;EACX,czCPgB;EyCQhB,mBAAmB;A5Cw3IrB;;A4C33IA;EAQI,UAAU;EACV,czCdc;EyCed,qBAAqB;EACrB,yBzCtBc;AH64IlB;;A4Cl4IA;EAeI,czClBc;EyCmBd,yBzC1Bc;AHi5IlB;;A4C92IA;EACE,kBAAkB;EAClB,cAAc;EACd,wBzCq8ByC;EyCp8BzC,gBAAgB;EAEhB,sBzC3Ca;EyC4Cb,sCzClCa;AHk5If;;A4Cv3IA;EvC9BI,+BF6NgC;EE5NhC,gCF4NgC;AH6rIpC;;A4C53IA;EvChBI,mCF+MgC;EE9MhC,kCF8MgC;AHksIpC;;A4Cj4IA;EAmBI,czClDc;EyCmDd,oBAAoB;EACpB,sBzC1DW;AH46If;;A4Cv4IA;EA0BI,UAAU;EACV,WzChEW;EyCiEX,yBzCpCa;EyCqCb,qBzCrCa;AHs5IjB;;A4C94IA;EAiCI,mBAAmB;A5Ci3IvB;;A4Cl5IA;EAoCM,gBzCwJ2B;EyCvJ3B,qBzCuJ2B;AH2tIjC;;A4Cp2II;EACE,mBAAmB;A5Cu2IzB;;A4Cx2II;EvCnCA,kCF+KgC;EE3LhC,0BuCqDwC;A5Cu2I5C;;A4C72II;EvC/CA,gCF2LgC;EE/KhC,4BuC8C0C;A5Cu2I9C;;A4Cl3II;EAeM,aAAa;A5Cu2IvB;;A4Ct3II;EAmBM,qBzCsHuB;EyCrHvB,oBAAoB;A5Cu2I9B;;A4C33II;EAuBQ,iBzCkHqB;EyCjHrB,sBzCiHqB;AHuvIjC;;AYh6II;EgCgCA;IACE,mBAAmB;E5Co4IvB;E4Cr4IE;IvCnCA,kCF+KgC;IE3LhC,0BuCqDwC;E5Cm4I1C;E4Cz4IE;IvC/CA,gCF2LgC;IE/KhC,4BuC8C0C;E5Ck4I5C;E4C74IE;IAeM,aAAa;E5Ci4IrB;E4Ch5IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5Cg4I5B;E4Cp5IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EH+wI/B;AACF;;AYz7II;EgCgCA;IACE,mBAAmB;E5C65IvB;E4C95IE;IvCnCA,kCF+KgC;IE3LhC,0BuCqDwC;E5C45I1C;E4Cl6IE;IvC/CA,gCF2LgC;IE/KhC,4BuC8C0C;E5C25I5C;E4Ct6IE;IAeM,aAAa;E5C05IrB;E4Cz6IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5Cy5I5B;E4C76IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EHwyI/B;AACF;;AYl9II;EgCgCA;IACE,mBAAmB;E5Cs7IvB;E4Cv7IE;IvCnCA,kCF+KgC;IE3LhC,0BuCqDwC;E5Cq7I1C;E4C37IE;IvC/CA,gCF2LgC;IE/KhC,4BuC8C0C;E5Co7I5C;E4C/7IE;IAeM,aAAa;E5Cm7IrB;E4Cl8IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5Ck7I5B;E4Ct8IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EHi0I/B;AACF;;AY3+II;EgCgCA;IACE,mBAAmB;E5C+8IvB;E4Ch9IE;IvCnCA,kCF+KgC;IE3LhC,0BuCqDwC;E5C88I1C;E4Cp9IE;IvC/CA,gCF2LgC;IE/KhC,4BuC8C0C;E5C68I5C;E4Cx9IE;IAeM,aAAa;E5C48IrB;E4C39IE;IAmBM,qBzCsHuB;IyCrHvB,oBAAoB;E5C28I5B;E4C/9IE;IAuBQ,iBzCkHqB;IyCjHrB,sBzCiHqB;EH01I/B;AACF;;A4C97IA;EAEI,qBAAqB;EACrB,oBAAoB;EvCnIpB,gBuCoIwB;A5Cg8I5B;;A4Cp8IA;EAOM,mBAAmB;A5Ci8IzB;;A4Cx8IA;EAaM,sBAAsB;A5C+7I5B;;A6C9kJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBk/IlE;;A6CnlJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CglJjD;;A6CxlJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6/IlE;;A6C9lJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkgJlE;;A6CnmJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgmJjD;;A6CxmJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6gJlE;;A6C9mJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkhJlE;;A6CnnJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgnJjD;;A6CxnJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6hJlE;;A6C9nJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkiJlE;;A6CnoJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgoJjD;;A6CxoJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6iJlE;;A6C9oJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkjJlE;;A6CnpJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgpJjD;;A6CxpJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6jJlE;;A6C9pJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkkJlE;;A6CnqJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgqJjD;;A6CxqJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6kJlE;;A6C9qJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBklJlE;;A6CnrJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgrJjD;;A6CxrJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6lJlE;;A6C9rJE;EACE,c7BgG8D;E6B/F9D,yB7B+F8D;AhBkmJlE;;A6CnsJE;EAOM,c7B0F0D;E6BzF1D,yBAAyC;A7CgsJjD;;A6CxsJE;EAYM,W1CRO;E0CSP,yB7BoF0D;E6BnF1D,qB7BmF0D;AhB6mJlE;;A8CjtJA;E1C0IM,iBAAW;E0CxIf,gB3C2S+B;E2C1S/B,cA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w1LvC;;A+D31LI;EAGI,uBAA+B;A/D41LvC;;A+D/1LI;EAGI,2BAA+B;A/Dg2LvC;;A+Dn2LI;EAGI,sBAA+B;A/Do2LvC;;A+Dv2LI;EAGI,sBAA+B;A/Dw2LvC;;A+D32LI;EAGI,sBAA+B;A/D42LvC;;A+D/2LI;EAGI,uBAA+B;A/Dg3LvC;;A+Dn3LI;EAGI,uBAA+B;A/Do3LvC;;A+Dv3LI;EAGI,2BAA+B;A/Dw3LvC;;A+D33LI;EAGI,wBAA+B;A/D43LvC;;A+D/3LI;EAGI,4BAA+B;A/Dg4LvC;;A+Dn4LI;EAGI,yBAA+B;A/Do4LvC;;A+Dv4LI;EAGI,8BAA+B;A/Dw4LvC;;A+D34LI;EAGI,iCAA+B;A/D44LvC;;A+D/4LI;EAGI,sCAA+B;A/Dg5LvC;;A+Dn5LI;EAGI,yCAA+B;A/Do5LvC;;A+Dv5LI;EAGI,uBAA+B;A/Dw5LvC;;A+D35LI;EAGI,uBAA+B;A/D45LvC;;A+D/5LI;EAGI,yBAA+B;A/Dg6LvC;;A+Dn6LI;EAGI,yBAA+B;A/Do6LvC;;A+Dv6LI;EAGI,0BAA+B;A/Dw6LvC;;A+D36LI;EAGI,4BAA+B;A/D46LvC;;A+D/6LI;EAGI,kCAA+B;A/Dg7LvC;;A+Dn7LI;EAGI,sCAA+B;A/Do7LvC;;A+Dv7LI;EAGI,oCAA+B;A/Dw7LvC;;A+D37LI;EAGI,kCAA+B;A/D47LvC;;A+D/7LI;EAGI,yCAA+B;A/Dg8LvC;;A+Dn8LI;EAGI,wCAA+B;A/Do8LvC;;A+Dv8LI;EAGI,kCAA+B;A/Dw8LvC;;A+D38LI;EAGI,gCAA+B;A/D48LvC;;A+D/8LI;EAGI,8BAA+B;A/Dg9LvC;;A+Dn9LI;EAGI,gCAA+B;A/Do9LvC;;A+Dv9LI;EAGI,+BAA+B;A/Dw9LvC;;A+D39LI;EAGI,oCAA+B;A/D49LvC;;A+D/9LI;EAGI,kCAA+B;A/Dg+LvC;;A+Dn+LI;EAGI,gCAA+B;A/Do+LvC;;A+Dv+LI;EAGI,uCAA+B;A/Dw+LvC;;A+D3+LI;EAGI,sCAA+B;A/D4+LvC;;A+D/+LI;EAGI,iCAA+B;A/Dg/LvC;;A+Dn/LI;EAGI,2BAA+B;A/Do/LvC;;A+Dv/LI;EAGI,iCAA+B;A/D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D12OE;IAGI,+BAA+B;E/D02OrC;E+D72OE;IAGI,6BAA+B;E/D62OrC;E+Dh3OE;IAGI,+BAA+B;E/Dg3OrC;E+Dn3OE;IAGI,6BAA+B;E/Dm3OrC;E+Dt3OE;IAGI,2BAA+B;E/Ds3OrC;E+Dz3OE;IAGI,4BAA+B;E/Dy3OrC;E+D53OE;IAGI,6BAA+B;E/D43OrC;E+D/3OE;IAGI,8BAA+B;E/D+3OrC;AACF;;AY/1OI;EmDpCA;IAGI,sBAA+B;E/Dq4OrC;E+Dx4OE;IAGI,uBAA+B;E/Dw4OrC;E+D34OE;IAGI,sBAA+B;E/D24OrC;E+D94OE;IAGI,wBAA+B;E/D84OrC;E+Dj5OE;IAGI,0BAA+B;E/Di5OrC;E+Dp5OE;IAGI,gCAA+B;E/Do5OrC;E+Dv5OE;IAGI,yBAA+B;E/Du5OrC;E+D15OE;IAGI,yBAA+B;E/D05OrC;E+D75OE;IAGI,6BAA+B;E/D65OrC;E+Dh6OE;IAGI,8BAA+B;E/Dg6OrC;E+Dn6OE;IAGI,wBAA+B;E/Dm6OrC;E+Dt6OE;IAGI,+BAA+B;E/Ds6OrC;E+Dz6OE;IAGI,yBAA+B;E/Dy6OrC;E+D56OE;IAGI,8BAA+B;E/D46OrC;E+D/6OE;IAGI,iCAA+B;E/D+6OrC;E+Dl7OE;IAGI,sCAA+B;E/Dk7OrC;E+Dr7OE;IAGI,yCAA+B;E/Dq7OrC;E+Dx7OE;IAGI,uBAA+B;E/Dw7OrC;E+D37OE;IAGI,uBAA+B;E/D27OrC;E+D97OE;IAGI,yBAA+B;E/D87OrC;E+Dj8OE;IAGI,yBAA+B;E/Di8OrC;E+Dp8OE;IAGI,0BAA+B;E/Do8OrC;E+Dv8OE;IAGI,4BAA+B;E/Du8OrC;E+D18OE;IAGI,kCAA+B;E/D08OrC;E+D78OE;IAGI,sCAA+B;E/D68OrC;E+Dh9OE;IAGI,oCAA+B;E/Dg9OrC;E+Dn9OE;IAGI,kCAA+B;E/Dm9OrC;E+Dt9OE;IAGI,yCAA+B;E/Ds9OrC;E+Dz9OE;IAGI,wCAA+B;E/Dy9OrC;E+D59OE;IAGI,kCAA+B;E/D49OrC;E+D/9OE;IAGI,gCAA+B;E/D+9OrC;E+Dl+OE;IAGI,8BAA+B;E/Dk+OrC;E+Dr+OE;IAGI,gCAA+B;E/Dq+OrC;E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,6BAA+B;E/D28PrC;E+D98PE;IAGI,8BAA+B;E/D88PrC;AACF;;AY96PI;EmDpCA;IAGI,sBAA+B;E/Do9PrC;E+Dv9PE;IAGI,uBAA+B;E/Du9PrC;E+D19PE;IAGI,sBAA+B;E/D09PrC;E+D79PE;IAGI,wBAA+B;E/D69PrC;E+Dh+PE;IAGI,0BAA+B;E/Dg+PrC;E+Dn+PE;IAGI,gCAA+B;E/Dm+PrC;E+Dt+PE;IAGI,yBAA+B;E/Ds+PrC;E+Dz+PE;IAGI,yBAA+B;E/Dy+PrC;E+D5+PE;IAGI,6BAA+B;E/D4+PrC;E+D/+PE;IAGI,8BAA+B;E/D++PrC;E+Dl/PE;IAGI,wBAA+B;E/Dk/PrC;E+Dr/PE;IAGI,+BAA+B;E/Dq/PrC;E+Dx/PE;IAGI,yBAA+B;E/Dw/PrC;E+D3/PE;IAGI,8BAA+B;E/D2/PrC;E+D9/PE;IAGI,iCAA+B;E/D8/PrC;E+DjgQE;IAGI,sCAA+B;E/DigQrC;E+DpgQE;IAGI,yCAA+B;E/DogQrC;E+DvgQE;IAGI,uBAA+B;E/DugQrC;E+D1gQE;IAGI,uBAA+B;E/D0gQrC;E+D7gQE;IAGI,yBAA+B;E/D6gQrC;E+DhhQE;IAGI,yBAA+B;E/DghQrC;E+DnhQE;IAGI,0BAA+B;E/DmhQrC;E+DthQE;IAGI,4BAA+B;E/DshQrC;E+DzhQE;IAGI,kCAA+B;E/DyhQrC;E+D5hQE;IAGI,sCAA+B;E/D4hQrC;E+D/hQE;IAGI,oCAA+B;E/D+hQrC;E+DliQE;IAGI,kCAA+B;E/DkiQrC;E+DriQE;IAGI,yCAA+B;E/DqiQrC;E+DxiQE;IAGI,wCAA+B;E/DwiQrC;E+D3iQE;IAGI,kCAA+B;E/D2iQrC;E+D9iQE;IAGI,gCAA+B;E/D8iQrC;E+DjjQE;IAGI,8BAA+B;E/DijQrC;E+DpjQE;IAGI,gCAA+B;E/DojQrC;E+DvjQE;IAGI,+BAA+B;E/DujQrC;E+D1jQE;IAGI,oCAA+B;E/D0jQrC;E+D7jQE;IAGI,kCAA+B;E/D6jQrC;E+DhkQE;IAGI,gCAA+B;E/DgkQrC;E+DnkQE;IAGI,uCAA+B;E/DmkQrC;E+DtkQE;IAGI,sCAA+B;E/DskQrC;E+DzkQE;IAGI,iCAA+B;E/DykQrC;E+D5kQE;IAGI,2BAA+B;E/D4kQrC;E+D/kQE;IAGI,iCAA+B;E/D+kQrC;E+DllQE;IAGI,+BAA+B;E/DklQrC;E+DrlQE;IAGI,6BAA+B;E/DqlQrC;E+DxlQE;IAGI,+BAA+B;E/DwlQrC;E+D3lQE;IAGI,8BAA+B;E/D2lQrC;E+D9lQE;IAGI,oBAA+B;E/D8lQrC;E+DjmQE;IAGI,mBAA+B;E/DimQrC;E+DpmQE;IAGI,mBAA+B;E/DomQrC;E+DvmQE;IAGI,mBAA+B;E/DumQrC;E+D1mQE;IAGI,mBAA+B;E/D0mQrC;E+D7mQE;IAGI,mBAA+B;E/D6mQrC;E+DhnQE;IAGI,mBAA+B;E/DgnQrC;E+DnnQE;IAGI,mBAA+B;E/DmnQrC;E+DtnQE;IAGI,oBAA+B;E/DsnQrC;E+DznQE;IAGI,0BAA+B;E/DynQrC;E+D5nQE;IAGI,yBAA+B;E/D4nQrC;E+D/nQE;IAGI,uBAA+B;E/D+nQrC;E+DloQE;IAGI,yBAA+B;E/DkoQrC;E+DroQE;IAGI,uBAA+B;E/DqoQrC;E+DxoQE;IAGI,uBAA+B;E/DwoQrC;E+D3oQE;IAGI,0BAA+B;IAA/B,yBAA+B;E/D4oQrC;E+D/oQE;IAGI,gCAA+B;IAA/B,+BAA+B;E/DgpQrC;E+DnpQE;IAGI,+BAA+B;IAA/B,8BAA+B;E/DopQrC;E+DvpQE;IAGI,6BAA+B;IAA/B,4BAA+B;E/DwpQrC;E+D3pQE;IAGI,+BAA+B;IAA/B,8BAA+B;E/D4pQrC;E+D/pQE;IAGI,6BAA+B;IAA/B,4BAA+B;E/DgqQrC;E+DnqQE;IAGI,6BAA+B;IAA/B,4BAA+B;E/DoqQrC;E+DvqQE;IAGI,wBAA+B;IAA/B,2BAA+B;E/DwqQrC;E+D3qQE;IAGI,8BAA+B;IAA/B,iCAA+B;E/D4qQrC;E+D/qQE;IAGI,6BAA+B;IAA/B,gCAA+B;E/DgrQrC;E+DnrQE;IAGI,2BAA+B;IAA/B,8BAA+B;E/DorQrC;E+DvrQE;IAGI,6BAA+B;IAA/B,gCAA+B;E/DwrQrC;E+D3rQE;IAGI,2BAA+B;IAA/B,8BAA+B;E/D4rQrC;E+D/rQE;IAGI,2BAA+B;IAA/B,8BAA+B;E/DgsQrC;E+DnsQE;IAGI,wBAA+B;E/DmsQrC;E+DtsQE;IAGI,8BAA+B;E/DssQrC;E+DzsQE;IAGI,6BAA+B;E/DysQrC;E+D5sQE;IAGI,2BAA+B;E/D4sQrC;E+D/sQE;IAGI,6BAA+B;E/D+sQrC;E+DltQE;IAGI,2BAA+B;E/DktQrC;E+DrtQE;IAGI,2BAA+B;E/DqtQrC;E+DxtQE;IAGI,0BAA+B;E/DwtQrC;E+D3tQE;IAGI,gCAA+B;E/D2tQrC;E+D9tQE;IAGI,+BAA+B;E/D8tQrC;E+DjuQE;IAGI,6BAA+B;E/DiuQrC;E+DpuQE;IAGI,+BAA+B;E/DouQrC;E+DvuQE;IAGI,6BAA+B;E/DuuQrC;E+D1uQE;IAGI,6BAA+B;E/D0uQrC;E+D7uQE;IAGI,2BAA+B;E/D6uQrC;E+DhvQE;IAGI,iCAA+B;E/DgvQrC;E+DnvQE;IAGI,gCAA+B;E/DmvQrC;E+DtvQE;IAGI,8BAA+B;E/DsvQrC;E+DzvQE;IAGI,gCAA+B;E/DyvQrC;E+D5vQE;IAGI,8BAA+B;E/D4vQrC;E+D/vQE;IAGI,8BAA+B;E/D+vQrC;E+DlwQE;IAGI,yBAA+B;E/DkwQrC;E+DrwQE;IAGI,+BAA+B;E/DqwQrC;E+DxwQE;IAGI,8BAA+B;E/DwwQrC;E+D3wQE;IAGI,4BAA+B;E/D2wQrC;E+D9wQE;IAGI,8BAA+B;E/D8wQrC;E+DjxQE;IAGI,4BAA+B;E/DixQrC;E+DpxQE;IAGI,4BAA+B;E/DoxQrC;E+DvxQE;IAGI,2BAA+B;E/DuxQrC;E+D1xQE;IAGI,0BAA+B;E/D0xQrC;E+D7xQE;IAGI,wBAA+B;E/D6xQrC;E+DhyQE;IAGI,0BAA+B;E/DgyQrC;E+DnyQE;IAGI,wBAA+B;E/DmyQrC;E+DtyQE;IAGI,iCAA+B;IAA/B,gCAA+B;E/DuyQrC;E+D1yQE;IAGI,gCAA+B;IAA/B,+BAA+B;E/D2yQrC;E+D9yQE;IAGI,8BAA+B;IAA/B,6BAA+B;E/D+yQrC;E+DlzQE;IAGI,gCAA+B;IAA/B,+BAA+B;E/DmzQrC;E+DtzQE;IAGI,8BAA+B;IAA/B,6BAA+B;E/DuzQrC;E+D1zQE;IAGI,+BAA+B;IAA/B,kCAA+B;E/D2zQrC;E+D9zQE;IAGI,8BAA+B;IAA/B,iCAA+B;E/D+zQrC;E+Dl0QE;IAGI,4BAA+B;IAA/B,+BAA+B;E/Dm0QrC;E+Dt0QE;IAGI,8BAA+B;IAA/B,iCAA+B;E/Du0QrC;E+D10QE;IAGI,4BAA+B;IAA/B,+BAA+B;E/D20QrC;E+D90QE;IAGI,+BAA+B;E/D80QrC;E+Dj1QE;IAGI,8BAA+B;E/Di1QrC;E+Dp1QE;IAGI,4BAA+B;E/Do1QrC;E+Dv1QE;IAGI,8BAA+B;E/Du1QrC;E+D11QE;IAGI,4BAA+B;E/D01QrC;E+D71QE;IAGI,iCAA+B;E/D61QrC;E+Dh2QE;IAGI,gCAA+B;E/Dg2QrC;E+Dn2QE;IAGI,8BAA+B;E/Dm2QrC;E+Dt2QE;IAGI,gCAA+B;E/Ds2QrC;E+Dz2QE;IAGI,8BAA+B;E/Dy2QrC;E+D52QE;IAGI,kCAA+B;E/D42QrC;E+D/2QE;IAGI,iCAA+B;E/D+2QrC;E+Dl3QE;IAGI,+BAA+B;E/Dk3QrC;E+Dr3QE;IAGI,iCAA+B;E/Dq3QrC;E+Dx3QE;IAGI,+BAA+B;E/Dw3QrC;E+D33QE;IAGI,gCAA+B;E/D23QrC;E+D93QE;IAGI,+BAA+B;E/D83QrC;E+Dj4QE;IAGI,6BAA+B;E/Di4QrC;E+Dp4QE;IAGI,+BAA+B;E/Do4QrC;E+Dv4QE;IAGI,6BAA+B;E/Du4QrC;E+D14QE;IAGI,qBAA+B;E/D04QrC;E+D74QE;IAGI,2BAA+B;E/D64QrC;E+Dh5QE;IAGI,0BAA+B;E/Dg5QrC;E+Dn5QE;IAGI,wBAA+B;E/Dm5QrC;E+Dt5QE;IAGI,0BAA+B;E/Ds5QrC;E+Dz5QE;IAGI,wBAA+B;E/Dy5QrC;E+D55QE;IAGI,2BAA+B;IAA/B,0BAA+B;E/D65QrC;E+Dh6QE;IAGI,iCAA+B;IAA/B,gCAA+B;E/Di6QrC;E+Dp6QE;IAGI,gCAA+B;IAA/B,+BAA+B;E/Dq6QrC;E+Dx6QE;IAGI,8BAA+B;IAA/B,6BAA+B;E/Dy6QrC;E+D56QE;IAGI,gCAA+B;IAA/B,+BAA+B;E/D66QrC;E+Dh7QE;IAGI,8BAA+B;IAA/B,6BAA+B;E/Di7QrC;E+Dp7QE;IAGI,yBAA+B;IAA/B,4BAA+B;E/Dq7QrC;E+Dx7QE;IAGI,+BAA+B;IAA/B,kCAA+B;E/Dy7QrC;E+D57QE;IAGI,8BAA+B;IAA/B,iCAA+B;E/D67QrC;E+Dh8QE;IAGI,4BAA+B;IAA/B,+BAA+B;E/Di8QrC;E+Dp8QE;IAGI,8BAA+B;IAA/B,iCAA+B;E/Dq8QrC;E+Dx8QE;IAGI,4BAA+B;IAA/B,+BAA+B;E/Dy8QrC;E+D58QE;IAGI,yBAA+B;E/D48QrC;E+D/8QE;IAGI,+BAA+B;E/D+8QrC;E+Dl9QE;IAGI,8BAA+B;E/Dk9QrC;E+Dr9QE;IAGI,4BAA+B;E/Dq9QrC;E+Dx9QE;IAGI,8BAA+B;E/Dw9QrC;E+D39QE;IAGI,4BAA+B;E/D29QrC;E+D99QE;IAGI,2BAA+B;E/D89QrC;E+Dj+QE;IAGI,iCAA+B;E/Di+QrC;E+Dp+QE;IAGI,gCAA+B;E/Do+QrC;E+Dv+QE;IAGI,8BAA+B;E/Du+QrC;E+D1+QE;IAGI,gCAA+B;E/D0+QrC;E+D7+QE;IAGI,8BAA+B;E/D6+QrC;E+Dh/QE;IAGI,4BAA+B;E/Dg/QrC;E+Dn/QE;IAGI,kCAA+B;E/Dm/QrC;E+Dt/QE;IAGI,iCAA+B;E/Ds/QrC;E+Dz/QE;IAGI,+BAA+B;E/Dy/QrC;E+D5/QE;IAGI,iCAA+B;E/D4/QrC;E+D//QE;IAGI,+BAA+B;E/D+/QrC;E+DlgRE;IAGI,0BAA+B;E/DkgRrC;E+DrgRE;IAGI,gCAA+B;E/DqgRrC;E+DxgRE;IAGI,+BAA+B;E/DwgRrC;E+D3gRE;IAGI,6BAA+B;E/D2gRrC;E+D9gRE;IAGI,+BAA+B;E/D8gRrC;E+DjhRE;IAGI,6BAA+B;E/DihRrC;E+DphRE;IAGI,2BAA+B;E/DohRrC;E+DvhRE;IAGI,4BAA+B;E/DuhRrC;E+D1hRE;IAGI,6BAA+B;E/D0hRrC;E+D7hRE;IAGI,8BAA+B;E/D6hRrC;AACF;;AY7/QI;EmDpCA;IAGI,sBAA+B;E/DmiRrC;E+DtiRE;IAGI,uBAA+B;E/DsiRrC;E+DziRE;IAGI,sBAA+B;E/DyiRrC;E+D5iRE;IAGI,wBAA+B;E/D4iRrC;E+D/iRE;IAGI,0BAA+B;E/D+iRrC;E+DljRE;IAGI,gCAA+B;E/DkjRrC;E+DrjRE;IAGI,yBAA+B;E/DqjRrC;E+DxjRE;IAGI,yBAA+B;E/DwjRrC;E+D3jRE;IAGI,6BAA+B;E/D2jRrC;E+D9jRE;IAGI,8BAA+B;E/D8jRrC;E+DjkRE;IAGI,wBAA+B;E/DikRrC;E+DpkRE;IAGI,+BAA+B;E/DokRrC;E+DvkRE;IAGI,yBAA+B;E/DukRrC;E+D1kRE;IAGI,8BAA+B;E/D0kRrC;E+D7kRE;IAGI,iCAA+B;E/D6kRrC;E+DhlRE;IAGI,sCAA+B;E/DglRrC;E+DnlRE;IAGI,yCAA+B;E/DmlRrC;E+DtlRE;IAGI,uBAA+B;E/DslRrC;E+DzlRE;IAGI,uBAA+B;E/DylRrC;E+D5lRE;IAGI,yBAA+B;E/D4lRrC;E+D/lRE;IAGI,yBAA+B;E/D+lRrC;E+DlmRE;IAGI,0BAA+B;E/DkmRrC;E+DrmRE;IAGI,4BAA+B;E/DqmRrC;E+DxmRE;IAGI,kCAA+B;E/DwmRrC;E+D3mRE;IAGI,sCAA+B;E/D2mRrC;E+D9mRE;IAGI,oCAA+B;E/D8mRrC;E+DjnRE;IAGI,kCAA+B;E/DinRrC;E+DpnRE;IAGI,yCAA+B;E/DonRrC;E+DvnRE;IAGI,wCAA+B;E/DunRrC;E+D1nRE;IAGI,kCAA+B;E/D0nRrC;E+D7nRE;IAGI,gCAA+B;E/D6nRrC;E+DhoRE;IAGI,8BAA+B;E/DgoRrC;E+DnoRE;IAGI,gCAA+B;E/DmoRrC;E+DtoRE;IAGI,+BAA+B;E/DsoRrC;E+DzoRE;IAGI,oCAA+B;E/DyoRrC;E+D5oRE;IAGI,kCAA+B;E/D4oRrC;E+D/oRE;IAGI,gCAA+B;E/D+oRrC;E+DlpRE;IAGI,uCAA+B;E/DkpRrC;E+DrpRE;IAGI,sCAA+B;E/DqpRrC;E+DxpRE;IAGI,iCAA+B;E/DwpRrC;E+D3pRE;IAGI,2BAA+B;E/D2pRrC;E+D9pRE;IAGI,iCAA+B;E/D8pRrC;E+DjqRE;IAGI,+BAA+B;E/DiqRrC;E+DpqRE;IAGI,6BAA+B;E/DoqRrC;E+DvqRE;IAGI,+BAA+B;E/DuqRrC;E+D1qRE;IAGI,8BAA+B;E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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\",\"%3c\"),\n (\">\",\"%3e\"),\n (\"#\",\"%23\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n ),\n $spacers\n);\n\n$negative-spacers: negativify-map($spacers) !default;\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width / 2 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: map-merge(\n (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins\n// $font-size-base effects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .5rem !default;\n$table-cell-padding-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-head-border-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n$form-check-input-width: 1.25em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-left: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $body-bg !default;\n$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-repeat: no-repeat !default;\n$form-check-input-checked-bg-position: center center !default;\n$form-check-input-checked-bg-size: 1em !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-repeat: no-repeat !default;\n$form-check-input-indeterminate-bg-position: center center !default;\n$form-check-input-indeterminate-bg-size: 1em !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/></svg>\") !default;\n\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-height: $form-check-input-width !default;\n$form-switch-padding-left: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: .2s ease-in-out !default;\n$form-switch-transition-property: background-position, background-color !default;\n\n$form-switch-focus-color: hsla(211, 100%, 75%, 1) !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-inline-margin-right: 1rem !default;\n\n$form-check-input-margin-x: .25rem !default;\n\n$form-grid-gutter-width: 10px !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-height: $input-height !default;\n$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-disabled-color: $gray-600 !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/></svg>\") !default;\n\n$form-select-background: no-repeat right $form-select-padding-x center / $form-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$form-select-feedback-icon-padding-right: calc((1em + #{2 * $form-select-padding-y}) * 3 / 4 + #{$form-select-padding-x + $form-select-indicator-padding}) !default;\n$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-height-sm: $input-height-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-height-lg: $input-height-lg !default;\n\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-file-height: $input-height !default;\n$form-file-focus-border-color: $input-focus-border-color !default;\n$form-file-focus-box-shadow: $input-focus-box-shadow !default;\n$form-file-disabled-bg: $input-disabled-bg !default;\n$form-file-disabled-border-color: $input-disabled-border-color !default;\n\n$form-file-padding-y: $input-padding-y !default;\n$form-file-padding-x: $input-padding-x !default;\n$form-file-line-height: $input-line-height !default;\n$form-file-font-family: $input-font-family !default;\n$form-file-font-weight: $input-font-weight !default;\n$form-file-color: $input-color !default;\n$form-file-bg: $input-bg !default;\n$form-file-border-width: $input-border-width !default;\n$form-file-border-color: $input-border-color !default;\n$form-file-border-radius: $input-border-radius !default;\n$form-file-box-shadow: $input-box-shadow !default;\n$form-file-button-color: $form-file-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $spacer / 2 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-left: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .5em !default;\n$badge-border-radius: $border-radius !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n\n\n// Figures\n\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding-x: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Internal Bootstrap function to turn maps into its negative variant.\n// It prefixes the keys with `n` and makes the value negative.\n@function negativify-map($map) {\n $result: ();\n @each $key, $value in $map {\n @if $key != 0 {\n $result: map-merge($result, (\"n\" + $key: (-$value)));\n }\n }\n @return $result;\n}\n\n// Get multiple keys from a sass map\n@function map-get-multiple($map, $values) {\n $result: ();\n @each $key, $value in $map {\n @if (index($values, $key) != null) {\n $result: map-merge($result, ($key: $value));\n }\n }\n @return $result;\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n $string: str-replace($string, $char, $encoded);\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @return if($yiq >= $yiq-contrasted-threshold, $dark, $light);\n}\n\n// Request a color level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n\n &[type=\"radio\"] {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n background-size: $form-check-input-indeterminate-bg-size;\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(#{$form-switch-height} - 2px); // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-image: escape-svg($form-switch-checked-bg-image);\n background-position: $form-switch-checked-bg-position;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: calc(#{$form-range-thumb-height} + #{$form-range-thumb-focus-box-shadow-width * 2});\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated &:#{$state},\n &.is-#{$state} {\n @content;\n }\n } @else {\n &.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: calc(100% - #{$modal-dialog-margin * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - #{$modal-dialog-margin * 2});\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: calc(100vh - #{$modal-dialog-margin * 2});\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n &::before {\n height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css b/dist/css/bootstrap.min.css
index 008c710f13..1ab00c7e5a 100644
--- a/dist/css/bootstrap.min.css
+++ b/dist/css/bootstrap.min.css
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none}a:hover{color:#0056b3;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:87.5%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical;-webkit-appearance:textfield}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}.mark,mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top}.table td,.table th{padding:.5rem;border-bottom:1px solid #dee2e6}.table tbody{vertical-align:inherit}.table td{border-bottom:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom-color:#495057}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.25rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select::-ms-expand{display:none}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check-input{float:left;width:1.25em;height:1.25em;margin-top:calc((1.5em - 1.25em)/ 2);margin-left:-1.75em;background-color:#fff;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-check-input:checked{background-color:#007bff;background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#007bff}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#007bff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#007bff}.form-check-input[disabled]{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label{opacity:.5}.form-check-label{margin-bottom:0}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left center;background-size:calc(1.25em - 2px);border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");background-position:right center}.form-check-inline{display:inline-block;margin-right:1rem}.form-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.form-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.form-file-input:focus~.form-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-file-input:focus-within~.form-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:calc(1.5em + .75rem + 2px);border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3d7ff}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{transition:none}}.form-range::-ms-thumb:active{background-color:#b3d7ff}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-webkit-slider-runnable-track{cursor:default}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-track{cursor:default}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .form-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.form-file,.input-group>.form-control+.form-select,.input-group>.form-file+.form-control,.input-group>.form-file+.form-file,.input-group>.form-file+.form-select,.input-group>.form-select+.form-control,.input-group>.form-select+.form-file,.input-group>.form-select+.form-select{margin-left:-1px}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file .form-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.form-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-file{display:flex;align-items:center}.input-group>.form-file:not(:last-child) .form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child) .form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-select.is-valid~.valid-feedback,.form-select.is-valid~.valid-tooltip,.was-validated .form-select:valid~.valid-feedback,.was-validated .form-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#34ce57}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid~.valid-feedback,.form-file-input.is-valid~.valid-tooltip,.was-validated .form-file-input:valid~.valid-feedback,.was-validated .form-file-input:valid~.valid-tooltip{display:block}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-select.is-invalid~.invalid-feedback,.form-select.is-invalid~.invalid-tooltip,.was-validated .form-select:invalid~.invalid-feedback,.was-validated .form-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e4606d}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid~.invalid-feedback,.form-file-input.is-invalid~.invalid-tooltip,.was-validated .form-file-input:invalid~.invalid-feedback,.was-validated .form-file-input:invalid~.invalid-tooltip{display:block}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.page-link{padding:.5rem .75rem;line-height:1.25}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#007bff}.link-primary:focus,.link-primary:hover{color:#0056b3}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#007bff!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#007bff!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
+ */:root{--blue:#0d6efd;--indigo:#6610f2;--purple:#6f42c1;--pink:#d63384;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#0d6efd;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#024dbc;text-decoration:underline}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img{vertical-align:middle}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:textfield}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}.mark,mark{padding:.2em;background-color:#fcf8e3}progress{vertical-align:baseline}::-webkit-datetime-edit{overflow:visible;line-height:0}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}main{display:block}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top}.table td,.table th{padding:.5rem;border-bottom:1px solid #dee2e6}.table tbody{vertical-align:inherit}.table thead th{vertical-align:bottom;border-bottom-color:#495057}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.25rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#bbd6fe}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#81b4fe}.table-hover .table-primary:hover{background-color:#a2c7fe}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#a2c7fe}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-color{max-width:3rem;padding:.375rem}.form-control-color::-moz-color-swatch{border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select::-ms-expand{display:none}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;background-color:#fff;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center center;background-size:1em;border-color:#0d6efd}.form-check-input[disabled]{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label{opacity:.5}.form-check-label{margin-bottom:0}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left center;background-size:calc(1.25em - 2px);border-radius:2em}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");background-position:right center}.form-check-inline{display:inline-block;margin-right:1rem}.form-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.form-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.form-file-input:focus~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input:focus-within~.form-file-label{border-color:#8bbafe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:calc(1.5em + .75rem + 2px);border-color:#ced4da;border-radius:.25rem}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.form-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#bed8fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#bed8fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-ms-thumb{transition:none}}.form-range::-ms-thumb:active{background-color:#bed8fe}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-webkit-slider-runnable-track{cursor:default}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-track{cursor:default}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .form-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.form-file,.input-group>.form-control+.form-select,.input-group>.form-file+.form-control,.input-group>.form-file+.form-file,.input-group>.form-file+.form-select,.input-group>.form-select+.form-control,.input-group>.form-select+.form-file,.input-group>.form-select+.form-select{margin-left:-1px}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file .form-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.form-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-file{display:flex;align-items:center}.input-group>.form-file:not(:last-child) .form-file-label{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-file:not(:first-child) .form-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#34ce57}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#e4606d}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#025ce2;border-color:#0257d5}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#0d6efd;text-decoration:none}.btn-link:hover{color:#024dbc;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#024dbc;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#073984;background-color:#cfe2ff;border-color:#bbd6fe}.alert-primary .alert-link{color:#042454}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:0;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#073984;background-color:#bbd6fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#073984;background-color:#a2c7fe}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#073984;border-color:#073984}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow,.bs-tooltip-right .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .tooltip-arrow::before,.bs-tooltip-right .tooltip-arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow,.bs-tooltip-left .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .tooltip-arrow::before,.bs-tooltip-left .tooltip-arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.popover-arrow,.bs-popover-right>.popover-arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.popover-arrow::before,.bs-popover-right>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.popover-arrow::after,.bs-popover-right>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.popover-arrow,.bs-popover-left>.popover-arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.popover-arrow::before,.bs-popover-left>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.popover-arrow::after,.bs-popover-left>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#024dbc}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#494f54}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-right{border-right:1px solid #dee2e6!important}.border-right-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-left{border-left:1px solid #dee2e6!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-4{margin-right:1.5rem!important}.mr-5{margin-right:3rem!important}.mr-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-4{margin-left:1.5rem!important}.ml-5{margin-left:3rem!important}.ml-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.mx-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mr-n1{margin-right:-.25rem!important}.mr-n2{margin-right:-.5rem!important}.mr-n3{margin-right:-1rem!important}.mr-n4{margin-right:-1.5rem!important}.mr-n5{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.ml-n1{margin-left:-.25rem!important}.ml-n2{margin-left:-.5rem!important}.ml-n3{margin-left:-1rem!important}.ml-n4{margin-left:-1.5rem!important}.ml-n5{margin-left:-3rem!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}.pr-4{padding-right:1.5rem!important}.pr-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}.pl-4{padding-left:1.5rem!important}.pl-5{padding-left:3rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}.text-justify{text-align:justify!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#28a745!important}.text-info{color:#17a2b8!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#343a40!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#28a745!important}.bg-info{background-color:#17a2b8!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#343a40!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-decoration-none{text-decoration:none!important}.font-italic{font-style:italic!important}.text-break{overflow-wrap:break-word!important;word-break:break-word!important}.font-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.rounded{border-radius:.25rem!important}.rounded-sm{border-radius:.2rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-1{margin-right:.25rem!important}.mr-sm-2{margin-right:.5rem!important}.mr-sm-3{margin-right:1rem!important}.mr-sm-4{margin-right:1.5rem!important}.mr-sm-5{margin-right:3rem!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-1{margin-left:.25rem!important}.ml-sm-2{margin-left:.5rem!important}.ml-sm-3{margin-left:1rem!important}.ml-sm-4{margin-left:1.5rem!important}.ml-sm-5{margin-left:3rem!important}.ml-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mx-sm-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-sm-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-sm-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-sm-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-sm-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-sm-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-sm-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-sm-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-sm-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mr-sm-n1{margin-right:-.25rem!important}.mr-sm-n2{margin-right:-.5rem!important}.mr-sm-n3{margin-right:-1rem!important}.mr-sm-n4{margin-right:-1.5rem!important}.mr-sm-n5{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.ml-sm-n1{margin-left:-.25rem!important}.ml-sm-n2{margin-left:-.5rem!important}.ml-sm-n3{margin-left:-1rem!important}.ml-sm-n4{margin-left:-1.5rem!important}.ml-sm-n5{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-1{padding-right:.25rem!important}.pr-sm-2{padding-right:.5rem!important}.pr-sm-3{padding-right:1rem!important}.pr-sm-4{padding-right:1.5rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-1{padding-left:.25rem!important}.pl-sm-2{padding-left:.5rem!important}.pl-sm-3{padding-left:1rem!important}.pl-sm-4{padding-left:1.5rem!important}.pl-sm-5{padding-left:3rem!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}.text-sm-justify{text-align:justify!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.mr-md-0{margin-right:0!important}.mr-md-1{margin-right:.25rem!important}.mr-md-2{margin-right:.5rem!important}.mr-md-3{margin-right:1rem!important}.mr-md-4{margin-right:1.5rem!important}.mr-md-5{margin-right:3rem!important}.mr-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-1{margin-left:.25rem!important}.ml-md-2{margin-left:.5rem!important}.ml-md-3{margin-left:1rem!important}.ml-md-4{margin-left:1.5rem!important}.ml-md-5{margin-left:3rem!important}.ml-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mx-md-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-md-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-md-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-md-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-md-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-md-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-md-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-md-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-md-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mr-md-n1{margin-right:-.25rem!important}.mr-md-n2{margin-right:-.5rem!important}.mr-md-n3{margin-right:-1rem!important}.mr-md-n4{margin-right:-1.5rem!important}.mr-md-n5{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.ml-md-n1{margin-left:-.25rem!important}.ml-md-n2{margin-left:-.5rem!important}.ml-md-n3{margin-left:-1rem!important}.ml-md-n4{margin-left:-1.5rem!important}.ml-md-n5{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-0{padding-right:0!important}.pr-md-1{padding-right:.25rem!important}.pr-md-2{padding-right:.5rem!important}.pr-md-3{padding-right:1rem!important}.pr-md-4{padding-right:1.5rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-0{padding-left:0!important}.pl-md-1{padding-left:.25rem!important}.pl-md-2{padding-left:.5rem!important}.pl-md-3{padding-left:1rem!important}.pl-md-4{padding-left:1.5rem!important}.pl-md-5{padding-left:3rem!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}.text-md-justify{text-align:justify!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-1{margin-right:.25rem!important}.mr-lg-2{margin-right:.5rem!important}.mr-lg-3{margin-right:1rem!important}.mr-lg-4{margin-right:1.5rem!important}.mr-lg-5{margin-right:3rem!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-1{margin-left:.25rem!important}.ml-lg-2{margin-left:.5rem!important}.ml-lg-3{margin-left:1rem!important}.ml-lg-4{margin-left:1.5rem!important}.ml-lg-5{margin-left:3rem!important}.ml-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mx-lg-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-lg-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-lg-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-lg-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-lg-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-lg-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-lg-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-lg-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-lg-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mr-lg-n1{margin-right:-.25rem!important}.mr-lg-n2{margin-right:-.5rem!important}.mr-lg-n3{margin-right:-1rem!important}.mr-lg-n4{margin-right:-1.5rem!important}.mr-lg-n5{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.ml-lg-n1{margin-left:-.25rem!important}.ml-lg-n2{margin-left:-.5rem!important}.ml-lg-n3{margin-left:-1rem!important}.ml-lg-n4{margin-left:-1.5rem!important}.ml-lg-n5{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-1{padding-right:.25rem!important}.pr-lg-2{padding-right:.5rem!important}.pr-lg-3{padding-right:1rem!important}.pr-lg-4{padding-right:1.5rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-1{padding-left:.25rem!important}.pl-lg-2{padding-left:.5rem!important}.pl-lg-3{padding-left:1rem!important}.pl-lg-4{padding-left:1.5rem!important}.pl-lg-5{padding-left:3rem!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}.text-lg-justify{text-align:justify!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-1{margin-right:.25rem!important}.mr-xl-2{margin-right:.5rem!important}.mr-xl-3{margin-right:1rem!important}.mr-xl-4{margin-right:1.5rem!important}.mr-xl-5{margin-right:3rem!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-1{margin-left:.25rem!important}.ml-xl-2{margin-left:.5rem!important}.ml-xl-3{margin-left:1rem!important}.ml-xl-4{margin-left:1.5rem!important}.ml-xl-5{margin-left:3rem!important}.ml-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mx-xl-n1{margin-right:-.25rem!important;margin-left:-.25rem!important}.mx-xl-n2{margin-right:-.5rem!important;margin-left:-.5rem!important}.mx-xl-n3{margin-right:-1rem!important;margin-left:-1rem!important}.mx-xl-n4{margin-right:-1.5rem!important;margin-left:-1.5rem!important}.mx-xl-n5{margin-right:-3rem!important;margin-left:-3rem!important}.my-xl-n1{margin-top:-.25rem!important;margin-bottom:-.25rem!important}.my-xl-n2{margin-top:-.5rem!important;margin-bottom:-.5rem!important}.my-xl-n3{margin-top:-1rem!important;margin-bottom:-1rem!important}.my-xl-n4{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n5{margin-top:-3rem!important;margin-bottom:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mr-xl-n1{margin-right:-.25rem!important}.mr-xl-n2{margin-right:-.5rem!important}.mr-xl-n3{margin-right:-1rem!important}.mr-xl-n4{margin-right:-1.5rem!important}.mr-xl-n5{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.ml-xl-n1{margin-left:-.25rem!important}.ml-xl-n2{margin-left:-.5rem!important}.ml-xl-n3{margin-left:-1rem!important}.ml-xl-n4{margin-left:-1.5rem!important}.ml-xl-n5{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-1{padding-right:.25rem!important}.pr-xl-2{padding-right:.5rem!important}.pr-xl-3{padding-right:1rem!important}.pr-xl-4{padding-right:1.5rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-1{padding-left:.25rem!important}.pl-xl-2{padding-left:.5rem!important}.pl-xl-3{padding-left:1rem!important}.pl-xl-4{padding-left:1.5rem!important}.pl-xl-5{padding-left:3rem!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}.text-xl-justify{text-align:justify!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}
/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css.map b/dist/css/bootstrap.min.css.map
index 62d3f3d300..cbe674cf75 100644
--- a/dist/css/bootstrap.min.css.map
+++ b/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n// 3. Use the same borders as textfields\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n -webkit-appearance: textfield; // 3\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table td {\n border-bottom: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check-input {\n float: left;\n width: 1.25em;\n height: 1.25em;\n margin-top: calc((1.5em - 1.25em) / 2);\n margin-left: -1.75em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n -webkit-filter: brightness(90%);\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #007bff;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n -webkit-filter: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-select:valid ~ .valid-feedback,\n.was-validated .form-select:valid ~ .valid-tooltip, .form-select.is-valid ~ .valid-feedback,\n.form-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid ~ .valid-feedback,\n.was-validated .form-file-input:valid ~ .valid-tooltip, .form-file-input.is-valid ~ .valid-feedback,\n.form-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-select:invalid ~ .invalid-feedback,\n.was-validated .form-select:invalid ~ .invalid-tooltip, .form-select.is-invalid ~ .invalid-feedback,\n.form-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid ~ .invalid-feedback,\n.was-validated .form-file-input:invalid ~ .invalid-tooltip, .form-file-input.is-invalid ~ .invalid-feedback,\n.form-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.5rem 0.75rem;\n line-height: 1.25;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #007bff;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #0056b3;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 87.5%;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n -webkit-appearance: textfield;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table td {\n border-bottom: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check-input {\n float: left;\n width: 1.25em;\n height: 1.25em;\n margin-top: calc((1.5em - 1.25em) / 2);\n margin-left: -1.75em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #007bff;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #007bff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #007bff;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-select:valid ~ .valid-feedback,\n.was-validated .form-select:valid ~ .valid-tooltip, .form-select.is-valid ~ .valid-feedback,\n.form-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid ~ .valid-feedback,\n.was-validated .form-file-input:valid ~ .valid-tooltip, .form-file-input.is-valid ~ .valid-feedback,\n.form-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-select:invalid ~ .invalid-feedback,\n.was-validated .form-select:invalid ~ .invalid-tooltip, .form-select.is-invalid ~ .invalid-feedback,\n.form-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid ~ .invalid-feedback,\n.was-validated .form-file-input:invalid ~ .invalid-tooltip, .form-file-input.is-invalid ~ .invalid-feedback,\n.form-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion > .card:first-of-type:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card .card-header {\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.5rem 0.75rem;\n line-height: 1.25;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #007bff;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #0056b3;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n td {\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n}\n\n.form-check-input {\n float: left;\n width: $form-check-input-width;\n height: $form-check-input-width;\n // Todo: Change static value to base line-height?\n margin-top: calc((1.5em - #{$form-check-input-width}) / 2); // line-height minus check height\n margin-left: $form-check-padding-left * -1;\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n\n &[type=\"radio\"] {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n background-size: $form-check-input-indeterminate-bg-size;\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(#{$form-switch-height} - 2px); // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-image: escape-svg($form-switch-checked-bg-image);\n background-position: $form-switch-checked-bg-position;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: calc(#{$form-range-thumb-height} + #{$form-range-thumb-focus-box-shadow-width * 2});\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated &:#{$state},\n &.is-#{$state} {\n @content;\n }\n } @else {\n &.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n\n .form-control-file {\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-radius($card-inner-border-radius);\n}\n\n// Card image caps\n.card-img-top {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img-bottom {\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n display: flex;\n flex-direction: column;\n\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n display: flex;\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n display: flex;\n flex-direction: column;\n\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:first-of-type) {\n .card-header:first-child {\n @include border-radius(0);\n }\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-radius(0);\n }\n }\n\n &:first-of-type:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:last-of-type {\n @include border-top-radius(0);\n }\n\n .card-header {\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-line-height, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: calc(100% - #{$modal-dialog-margin * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - #{$modal-dialog-margin * 2});\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: calc(100vh - #{$modal-dialog-margin * 2});\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n // stylelint-disable-next-line selector-max-universal\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n &::before {\n height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-file.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-range.scss","../../scss/forms/_layout.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n// Configuration\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n\n// Layout & components\n\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n\n\n// Helpers\n\n@import \"helpers\";\n\n\n// Utilities\n\n@import \"utilities/api\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n// Root\n//\n// 1. Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root; // 1\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg {\n vertical-align: middle;\n}\n\n// 1. Workaround for the SVG overflow bug in IE 11 is still required.\n// See https://github.com/twbs/bootstrap/issues/26878\n\nsvg {\n overflow: hidden; // 1\n vertical-align: middle;\n}\n\n\n// Tables\n\n// Prevent double borders\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// Matches default `<td>` alignment by inheriting from the `<body>`, or the\n// closest parent with a set `text-align`.\n\nth {\n text-align: inherit;\n}\n\n\n// Forms\n\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Show the overflow in Edge\n\nbutton,\ninput {\n overflow: visible;\n}\n\n// Remove the inheritance of text transform in Firefox\n\nbutton,\nselect {\n text-transform: none;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\n\nselect {\n word-wrap: normal;\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n//\n// Source: https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-pointer-cursor-for-buttons {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n\n// Remove the default appearance of temporal inputs to avoid a Mobile Safari\n// bug where setting a custom line-height prevents text from being vertically\n// centered within the input.\n// See https://bugs.webkit.org/show_bug.cgi?id=139848\n// and https://github.com/twbs/bootstrap/issues/11266\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\n// 1. Remove the default vertical scrollbar in IE.\n// 2. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n overflow: auto; // 1\n resize: vertical; // 2\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n\n// 1. By using `float: left`, the legend will behave like a block element\n// 2. Correct the color inheritance from `fieldset` elements in IE.\n// 3. Correct the text wrapping in Edge and IE.\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 3\n}\n\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n// 1. Change font properties to `inherit` in Safari.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n// Add the correct display for template & main in IE 11\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n -webkit-filter: brightness(90%);\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n -webkit-filter: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive font sizes\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n@if $rfs-font-size-unit != rem and $rfs-font-size-unit != px {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize font size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-disable-class {\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity, which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-enable-class {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query($mq-value) {\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @content;\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @content;\n }\n }\n}\n\n// Responsive font size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Remove unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font size\n $rfs-static: if($rfs-font-size-unit == rem, #{$fs / $rfs-rem-value}rem, #{$fs}px);\n\n // Only add the media query if the font size is bigger than the minimum font size\n @if $fs <= $rfs-base-font-size or not $enable-responsive-font-sizes {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n @else {\n // Calculate the minimum font size for $fs\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between $fs and the minimum font size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n\n // Breakpoint formatting\n $mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n\n @include _rfs-disable-class {\n font-size: #{$rfs-static}#{$rfs-suffix};\n }\n\n @include _rfs-media-query($mq-value) {\n @include _rfs-enable-class {\n font-size: $rfs-fluid;\n }\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixins use RFS to rescale the font size\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #0d6efd;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #d63384;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #0d6efd;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: none;\n}\n\na:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\na:not([href]), a:not([href]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nselect {\n word-wrap: normal;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: textfield;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n::-webkit-datetime-edit {\n overflow: visible;\n line-height: 0;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\nmain {\n display: block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n}\n\n.table th,\n.table td {\n padding: 0.5rem;\n border-bottom: 1px solid #dee2e6;\n}\n\n.table tbody {\n vertical-align: inherit;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom-color: #495057;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.25rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bbd6fe;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #81b4fe;\n}\n\n.table-hover .table-primary:hover {\n background-color: #a2c7fe;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #a2c7fe;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-control {\n display: block;\n width: 100%;\n min-height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: 0.375rem;\n}\n\n.form-control-color::-moz-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-control-color::-webkit-color-swatch {\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.form-select:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.form-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.form-select::-ms-expand {\n display: none;\n}\n\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.25);\n appearance: none;\n}\n\n.form-check-input[type=\"checkbox\"] {\n border-radius: 0.25em;\n}\n\n.form-check-input[type=\"radio\"] {\n border-radius: 50%;\n}\n\n.form-check-input:active {\n filter: brightness(90%);\n}\n\n.form-check-input:focus {\n border-color: #8bbafe;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-check-input:checked {\n background-color: #0d6efd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input:checked[type=\"checkbox\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M4 8.5L6.5 11l6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check-input:checked[type=\"radio\"] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-input[type=\"checkbox\"]:indeterminate {\n background-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5 8h6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 1em;\n border-color: #0d6efd;\n}\n\n.form-check-input[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n}\n\n.form-check-input[disabled] ~ .form-check-label {\n opacity: .5;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(1.25em - 2px);\n border-radius: 2em;\n}\n\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380bdff'/%3e%3c/svg%3e\");\n}\n\n.form-switch .form-check-input:checked {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n background-position: right center;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.form-file-input:focus ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input:focus-within ~ .form-file-label {\n border-color: #8bbafe;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-file-input[disabled] ~ .form-file-label .form-file-text {\n background-color: #e9ecef;\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: calc(1.5em + 0.75rem + 2px);\n border-color: #ced4da;\n border-radius: 0.25rem;\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: #fff;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-left-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: 0.375rem 0.75rem;\n margin-left: -1px;\n line-height: 1.5;\n color: #495057;\n background-color: #e9ecef;\n border-color: inherit;\n border-style: solid;\n border-width: 1px;\n border-top-right-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n\n.form-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.form-range:focus {\n outline: none;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.form-range::-moz-focus-outer {\n border: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.form-range::-webkit-slider-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.form-range::-moz-range-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.form-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-range::-ms-thumb {\n transition: none;\n }\n}\n\n.form-range::-ms-thumb:active {\n background-color: #bed8fe;\n}\n\n.form-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.form-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.form-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .form-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-file {\n position: relative;\n flex: 1 1 0%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .form-select,\n.input-group > .form-control + .form-file,\n.input-group > .form-select + .form-control,\n.input-group > .form-select + .form-select,\n.input-group > .form-select + .form-file,\n.input-group > .form-file + .form-control,\n.input-group > .form-file + .form-select,\n.input-group > .form-file + .form-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n}\n\n.input-group > .form-file .form-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .form-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .form-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .form-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .form-file:not(:last-child) .form-file-label {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-file:not(:first-child) .form-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #28a745;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #34ce57;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:valid ~ .form-file-label, .form-file-input.is-valid ~ .form-file-label {\n border-color: #28a745;\n}\n\n.was-validated .form-file-input:valid:focus ~ .form-file-label, .form-file-input.is-valid:focus ~ .form-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/16px 12px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #e4606d;\n}\n\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: .5em;\n}\n\n.was-validated .form-file-input:invalid ~ .form-file-label, .form-file-input.is-invalid ~ .form-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .form-file-input:invalid:focus ~ .form-file-label, .form-file-input.is-invalid:focus ~ .form-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0257d5;\n border-color: #0252c9;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #024dbc;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #024dbc;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.5em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #073984;\n background-color: #cfe2ff;\n border-color: #bbd6fe;\n}\n\n.alert-primary .alert-link {\n color: #042454;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n border-radius: 0;\n}\n\n.list-group-flush .list-group-item:first-child {\n border-top-width: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #073984;\n background-color: #bbd6fe;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #073984;\n background-color: #a2c7fe;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #073984;\n border-color: #073984;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n backdrop-filter: blur(10px);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .tooltip-arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .tooltip-arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .tooltip-arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .tooltip-arrow, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .tooltip-arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .tooltip-arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .popover-arrow, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .popover-arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .popover-arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .popover-arrow, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .popover-arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .popover-arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n\n.link-primary:hover, .link-primary:focus {\n color: #024dbc;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n\n.link-secondary:hover, .link-secondary:focus {\n color: #494f54;\n}\n\n.link-success {\n color: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\n}\n\n.link-danger {\n color: #dc3545;\n}\n\n.link-danger:hover, .link-danger:focus {\n color: #a71d2a;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n\n.link-light:hover, .link-light:focus {\n color: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n @media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n @media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n }\n}\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mx-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n}\n\n.mx-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n}\n\n.mx-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n}\n\n.mx-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n}\n\n.mx-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n}\n\n.my-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n}\n\n.my-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n}\n\n.my-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n}\n\n.my-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n}\n\n.my-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n}\n\n.mt-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mt-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mt-n3 {\n margin-top: -1rem !important;\n}\n\n.mt-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mt-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mr-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mr-n3 {\n margin-right: -1rem !important;\n}\n\n.mr-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mr-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.mb-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.mb-n3 {\n margin-bottom: -1rem !important;\n}\n\n.mb-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.mb-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n1 {\n margin-left: -0.25rem !important;\n}\n\n.ml-n2 {\n margin-left: -0.5rem !important;\n}\n\n.ml-n3 {\n margin-left: -1rem !important;\n}\n\n.ml-n4 {\n margin-left: -1.5rem !important;\n}\n\n.ml-n5 {\n margin-left: -3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-break {\n overflow-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n.font-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-sm-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-sm-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-sm-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-sm-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-sm-n3 {\n margin-top: -1rem !important;\n }\n .mt-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-sm-n3 {\n margin-right: -1rem !important;\n }\n .mr-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-sm-n3 {\n margin-left: -1rem !important;\n }\n .ml-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-sm-n5 {\n margin-left: -3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n .text-sm-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-md-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-md-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-md-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-md-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-md-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-md-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-md-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-md-n3 {\n margin-top: -1rem !important;\n }\n .mt-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-md-n3 {\n margin-right: -1rem !important;\n }\n .mr-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-md-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-md-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-md-n3 {\n margin-left: -1rem !important;\n }\n .ml-md-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-md-n5 {\n margin-left: -3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n .text-md-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-lg-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-lg-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-lg-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-lg-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-lg-n3 {\n margin-top: -1rem !important;\n }\n .mt-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-lg-n3 {\n margin-right: -1rem !important;\n }\n .mr-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-lg-n3 {\n margin-left: -1rem !important;\n }\n .ml-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-lg-n5 {\n margin-left: -3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n .text-lg-justify {\n text-align: justify !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n margin-left: -0.25rem !important;\n }\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n margin-left: -0.5rem !important;\n }\n .mx-xl-n3 {\n margin-right: -1rem !important;\n margin-left: -1rem !important;\n }\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n margin-left: -1.5rem !important;\n }\n .mx-xl-n5 {\n margin-right: -3rem !important;\n margin-left: -3rem !important;\n }\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n margin-bottom: -0.25rem !important;\n }\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n margin-bottom: -0.5rem !important;\n }\n .my-xl-n3 {\n margin-top: -1rem !important;\n margin-bottom: -1rem !important;\n }\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n margin-bottom: -1.5rem !important;\n }\n .my-xl-n5 {\n margin-top: -3rem !important;\n margin-bottom: -3rem !important;\n }\n .mt-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mt-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mt-xl-n3 {\n margin-top: -1rem !important;\n }\n .mt-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mt-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mr-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mr-xl-n3 {\n margin-right: -1rem !important;\n }\n .mr-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mr-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .mb-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .mb-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .mb-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .mb-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .ml-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .ml-xl-n3 {\n margin-left: -1rem !important;\n }\n .ml-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .ml-xl-n5 {\n margin-left: -3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n .text-xl-justify {\n text-align: justify !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n @each $name, $width in $grid-breakpoints {\n @if ($container-max-width > $width or $breakpoint == $name) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n & > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n border-bottom: $table-border-width solid $table-border-color;\n }\n\n tbody {\n vertical-align: inherit;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom-color: $table-head-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n &:hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, color-level($value, $table-bg-level), color-level($value, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n &:hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n &:hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});\n @include font-size($input-font-size-sm);\n}\n","//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n min-height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.form-control-color {\n max-width: 3rem;\n padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n @include border-radius($input-border-radius);\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: inline-block;\n width: 100%;\n height: $form-select-height;\n padding: $form-select-padding-y ($form-select-padding-x + $form-select-indicator-padding) $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n vertical-align: middle;\n background: $form-select-bg escape-svg($form-select-indicator) $form-select-background;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n box-shadow: $form-select-box-shadow, $form-select-focus-box-shadow;\n } @else {\n box-shadow: $form-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n height: $form-select-height-sm;\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n height: $form-select-height-lg;\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-left;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-left * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n background-color: $form-check-input-bg;\n border: $form-check-input-border;\n appearance: none;\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n @include border-radius($form-check-radio-border-radius);\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n background-repeat: $form-check-input-checked-bg-repeat;\n background-position: $form-check-input-checked-bg-position;\n background-size: $form-check-input-checked-bg-size;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n\n &[type=\"radio\"] {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n background-repeat: $form-check-input-indeterminate-bg-repeat;\n background-position: $form-check-input-indeterminate-bg-position;\n background-size: $form-check-input-indeterminate-bg-size;\n border-color: $form-check-input-indeterminate-border-color;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] {\n pointer-events: none;\n filter: none;\n opacity: .5;\n\n ~ .form-check-label {\n opacity: .5;\n }\n }\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-left;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-left * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-repeat: no-repeat;\n background-position: left center;\n background-size: calc(#{$form-switch-height} - 2px); // Get a 1px separation\n @include border-radius($form-switch-border-radius);\n // Todo: Figure out how to tackle these, with or without mixin?\n // transition: $form-switch-transition;\n // transition-property: $form-switch-transition-property;\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-image: escape-svg($form-switch-checked-bg-image);\n background-position: $form-switch-checked-bg-position;\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-right;\n}\n",".form-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $form-file-height;\n margin-bottom: 0;\n}\n\n.form-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $form-file-height;\n margin: 0;\n opacity: 0;\n\n // Separate rules for :focus and :focus-within as IE doesn't support the latter, and\n // thus ignores the entire ruleset. See https://github.com/twbs/bootstrap/pull/29036.\n &:focus ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n &:focus-within ~ .form-file-label {\n border-color: $form-file-focus-border-color;\n box-shadow: $form-file-focus-box-shadow;\n }\n\n // Use disabled attribute instead of :disabled pseudo-class\n // Workaround for: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11295231\n &[disabled] ~ .form-file-label .form-file-text {\n background-color: $form-file-disabled-bg;\n border-color: $form-file-disabled-border-color;\n }\n}\n\n.form-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n display: flex;\n height: $form-file-height;\n border-color: $form-file-border-color;\n @include border-radius($form-file-border-radius);\n @include box-shadow($form-file-box-shadow);\n}\n\n.form-file-text {\n display: block;\n flex-grow: 1;\n padding: $form-file-padding-y $form-file-padding-x;\n overflow: hidden;\n font-family: $form-file-font-family;\n font-weight: $form-file-font-weight;\n line-height: $form-file-line-height;\n color: $form-file-color;\n text-overflow: ellipsis;\n white-space: nowrap;\n background-color: $form-file-bg;\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-left-radius(inherit);\n}\n\n.form-file-button {\n display: block;\n flex-shrink: 0;\n padding: $form-file-padding-y $form-file-padding-x;\n margin-left: -$form-file-border-width;\n line-height: $form-file-line-height;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n border-color: inherit;\n border-style: solid;\n border-width: $form-file-border-width;\n @include border-right-radius(inherit);\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: calc(#{$form-range-thumb-height} + #{$form-range-thumb-focus-box-shadow-width * 2});\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $form-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $form-range-thumb-height / 2;\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $form-range-track-bg;\n @include border-radius($form-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n","// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n@if $enable-grid-classes {\n .form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n }\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .form-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select,\n > .form-file {\n position: relative; // For focus state's z-index\n flex: 1 1 0%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .form-select,\n + .form-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus,\n > .form-file .form-file-input:focus ~ .form-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .form-file .form-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .form-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .form-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .form-file-label { @include border-right-radius(0); }\n &:not(:first-child) .form-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control {\n min-height: $input-height-lg;\n}\n\n.input-group-lg > .form-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control {\n min-height: $input-height-sm;\n}\n\n.input-group-sm > .form-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.3.2\", \"v5\", $ignore-warning);\n}\n\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated &:#{$state},\n &.is-#{$state} {\n @content;\n }\n } @else {\n &.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $form-select-feedback-icon-padding-right;\n background: escape-svg($form-select-indicator) $form-select-background, escape-svg($icon) $form-select-bg no-repeat $form-select-feedback-icon-position / $form-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n @include gradient-bg(lighten($color, 10%));\n }\n\n &:focus {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n // custom file\n .form-file-input {\n @include form-validation-state-selector($state) {\n ~ .form-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .form-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n vertical-align: middle;\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n box-shadow: none;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y 0;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-padding-y $dropdown-item-padding-x;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n &:hover,\n &:focus {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n\n a,\n a:hover,\n a:focus {\n color: $navbar-light-active-color;\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n &:hover,\n &:focus {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a,\n a:hover,\n a:focus {\n color: $navbar-dark-active-color;\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group:first-child {\n .list-group-item:first-child {\n @include border-top-radius($card-border-radius);\n }\n }\n\n > .list-group:last-child {\n .list-group-item:last-child {\n @include border-bottom-radius($card-border-radius);\n }\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n &:hover {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n\n + .list-group {\n .list-group-item:first-child {\n border-top: 0;\n }\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n\n @if $nav-tabs-link-active-bg != $card-bg {\n .nav-link.active {\n background-color: $card-bg;\n border-bottom-color: $card-bg;\n }\n }\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding-x;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding-x;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n}\n\n.page-link {\n position: relative;\n display: block;\n color: $pagination-color;\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:not(:first-child) .page-link {\n margin-left: $pagination-margin-left;\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n@include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n }\n\n .page-item {\n @if $pagination-margin-left == (-$pagination-border-width) {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n } @else {\n //Add border-radius to all pageLinks in case they have left margin\n .page-link {\n @include border-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n color: $badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(color-level($value, $alert-bg-level), color-level($value, $alert-border-level), color-level($value, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n 0% { background-position-x: $progress-height; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n &:hover,\n &:focus {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n margin-bottom: 0; // for <label> variations\n color: $list-group-color;\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius($list-group-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($list-group-border-radius);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n & + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n .list-group-item {\n border-right-width: 0;\n border-left-width: 0;\n @include border-radius(0);\n\n &:first-child {\n border-top-width: 0;\n }\n }\n\n &:last-child {\n .list-group-item:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, color-level($value, -9), color-level($value, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n &:hover,\n &:focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n &:hover,\n &:focus {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n backdrop-filter: blur(10px);\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: calc(100% - #{$modal-dialog-margin * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - #{$modal-dialog-margin * 2});\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: calc(100vh - #{$modal-dialog-margin * 2});\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n .modal-content {\n max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2});\n\n &::before {\n height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2});\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .tooltip-arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .tooltip-arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .tooltip-arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .popover-arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .popover-arrow {\n bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .popover-arrow {\n left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .popover-arrow {\n top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .popover-arrow {\n right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: $carousel-indicator-opacity;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: $carousel-indicator-active-opacity;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-blacklist\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","@each $color, $value in $theme-colors {\n .link-#{$color} {\n color: $value;\n\n @if $emphasized-link-hover-darken-percentage != 0 {\n &:hover,\n &:focus {\n color: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\n }\n}\n","// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n// Responsive sticky top\n@supports (position: sticky) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .sticky#{$infix}-top {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n }\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n// Use to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n\n@mixin sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::#{$stretched-link-pseudo-element} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $stretched-link-z-index;\n content: \"\";\n }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n @include text-truncate();\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n // stylelint-disable-next-line declaration-no-important\n #{$property}: $value !important;\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.js b/dist/js/bootstrap.bundle.js
index 607ac6eb2e..71fd89b1cb 100644
--- a/dist/js/bootstrap.bundle.js
+++ b/dist/js/bootstrap.bundle.js
@@ -102,7 +102,6 @@
var getUID = function getUID(prefix) {
do {
- // eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
@@ -239,8 +238,7 @@
}
return findShadowRoot(element.parentNode);
- }; // eslint-disable-next-line no-empty-function
-
+ };
var noop = function noop() {
return function () {};
@@ -419,7 +417,7 @@
try {
element.querySelectorAll(':scope *');
- } catch (error) {
+ } catch (_) {
return false;
}
@@ -679,7 +677,7 @@
if (isNamespace) {
Object.keys(events).forEach(function (elementEvent) {
- removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1));
+ removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
});
}
@@ -855,13 +853,12 @@
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Alert =
/*#__PURE__*/
@@ -1034,13 +1031,12 @@
CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Button =
/*#__PURE__*/
@@ -1346,13 +1342,12 @@
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Carousel =
/*#__PURE__*/
@@ -1922,13 +1917,12 @@
var Selector$3 = {
ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Collapse =
/*#__PURE__*/
@@ -4978,13 +4972,12 @@
reference: '(string|element)',
display: 'string',
popperConfig: '(null|object)'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Dropdown =
/*#__PURE__*/
@@ -5204,9 +5197,8 @@
preventOverflow: {
boundariesElement: this._config.boundary
}
- } // Disable Popper.js if we have a static display
-
- };
+ }
+ }; // Disable Popper.js if we have a static display
if (this._config.display === 'static') {
popperConfig.modifiers.applyStyle = {
@@ -5476,13 +5468,12 @@
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
STICKY_CONTENT: '.sticky-top'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Modal =
/*#__PURE__*/
@@ -6226,13 +6217,12 @@
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tooltip =
/*#__PURE__*/
@@ -6942,13 +6932,12 @@
FOCUSOUT: "focusout" + EVENT_KEY$7,
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Popover =
/*#__PURE__*/
@@ -7137,13 +7126,12 @@
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var ScrollSpy =
/*#__PURE__*/
@@ -7444,13 +7432,12 @@
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tab =
/*#__PURE__*/
@@ -7681,13 +7668,12 @@
};
var Selector$a = {
DATA_DISMISS: '[data-dismiss="toast"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Toast =
/*#__PURE__*/
diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map
index 5e8a65a439..611cd62350 100644
--- a/dist/js/bootstrap.bundle.js.map
+++ b/dist/js/bootstrap.bundle.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert/alert'\nimport Button from './src/button/button'\nimport Carousel from './src/carousel/carousel'\nimport Collapse from './src/collapse/collapse'\nimport Dropdown from './src/dropdown/dropdown'\nimport Modal from './src/modal/modal'\nimport Popover from './src/popover/popover'\nimport ScrollSpy from './src/scrollspy/scrollspy'\nimport Tab from './src/tab/tab'\nimport Toast from './src/toast/toast'\nimport Tooltip from './src/tooltip/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","substr","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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CA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,MAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;;EAEH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,E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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js b/dist/js/bootstrap.bundle.min.js
index b367d9a78d..b61ee07e5a 100644
--- a/dist/js/bootstrap.bundle.min.js
+++ b/dist/js/bootstrap.bundle.min.js
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bootstrap=e()}(this,function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(o,!0).forEach(function(e){n(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(o).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}var r,s,a,l="transitionend",c=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},u=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=f(t);return e?document.querySelector(e):null},d=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(l,!0,!0),t.dispatchEvent(e)},g=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(l,function e(){n=!0,t.removeEventListener(l,e)}),setTimeout(function(){n||p(t)},i)},_=function(t,e,n){Object.keys(n).forEach(function(i){var o,r=n[i],s=e[i],a=s&&g(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')})},v=function(t){return t?[].slice.call(t):[]},b=function(t){return!!t&&(!!(t.style&&t.parentNode&&t.parentNode.style)&&("none"!==t.style.display&&"none"!==t.parentNode.style.display&&"hidden"!==t.style.visibility))},y=function(){return function(){}},E=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},D=(r={},s=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T={setData:function(t,e,n){D.set(t,e,n)},getData:function(t,e){return D.get(t,e)},removeData:function(t,e){D.delete(t,e)}},I=Element.prototype,A=I.matches,O=I.closest,L=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,C=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(C=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((a=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),a.preventDefault(),a.defaultPrevented)){var N=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(N.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var k=function(){var t=C("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",function(){return null}),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();A||(A=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),O||(O=function(t){var e=this;do{if(A.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var P=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!P.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(P,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!P.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var x=w(),M=/[^.]*(?=\..*)\.|.*/,H=/\..*/,j=/^key/,R=/::\d+$/,W={},U=1,F={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function K(t,e){return e&&e+"::"+U++||t.uidEvent||U++}function V(t){var e=K(t);return t.uidEvent=e,W[e]=W[e]||{},W[e]}function Y(t,e){null===t.which&&j.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function Q(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function G(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(H,""),s=F[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=G(e,n,i),s=r[0],a=r[1],l=r[2],c=V(t),f=c[l]||(c[l]={}),u=Q(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=K(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function X(t,e,n,i,o){var r=Q(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=G(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=V(t),f="."===e.charAt(0);if("undefined"==typeof s){f&&Object.keys(c).forEach(function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach(function(r){if(r.indexOf(i)>-1){var s=o[r];X(t,e,n,s.originalHandler,s.delegationSelector)}})}(t,c,n,e.substr(1))});var u=c[a]||{};Object.keys(u).forEach(function(n){var i=n.replace(R,"");if(!l||e.indexOf(i)>-1){var o=u[n];X(t,c,a,o.originalHandler,o.delegationSelector)}})}else{if(!c||!c[a])return;X(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(H,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,f=null;return r&&x&&(i=x.Event(e,n),x(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(f=document.createEvent("HTMLEvents")).initEvent(o,a,!0):f=C(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach(function(t){Object.defineProperty(f,t,{get:function(){return n[t]}})}),c&&(f.preventDefault(),k||Object.defineProperty(f,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(f),f.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),f}},Z={matches:function(t,e){return A.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),S.call(e,t)},children:function(t,e){var n=this,i=v(t.children);return i.filter(function(t){return n.matches(t,e)})},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return O.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},$="bs.alert",J="."+$,tt={CLOSE:"close"+J,CLOSED:"closed"+J,CLICK_DATA_API:"click"+J+".data-api"},et="alert",nt="fade",it="show",ot=function(){function t(t){this._element=t,this._element&&T.setData(t,$,this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){T.removeData(this._element,$),this._element=null},n._getRootElement=function(t){var e=h(t);return e||(e=Z.closest(t,"."+et)),e},n._triggerCloseEvent=function(t){return z.trigger(t,tt.CLOSE)},n._removeElement=function(t){var e=this;if(t.classList.remove(it),t.classList.contains(nt)){var n=d(t);z.one(t,l,function(){return e._destroyElement(t)}),m(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),z.trigger(t,tt.CLOSED)},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,$);n||(n=new t(this)),"close"===e&&n[e](this)})},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return T.getData(t,$)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,tt.CLICK_DATA_API,'[data-dismiss="alert"]',ot.handleDismiss(new ot));var rt=w();if(rt){var st=rt.fn.alert;rt.fn.alert=ot.jQueryInterface,rt.fn.alert.Constructor=ot,rt.fn.alert.noConflict=function(){return rt.fn.alert=st,ot.jQueryInterface}}var at="bs.button",lt="."+at,ct="active",ft="btn",ut="focus",ht='[data-toggle^="button"]',dt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',gt=".active",mt=".btn",_t={CLICK_DATA_API:"click"+lt+".data-api",FOCUS_DATA_API:"focus"+lt+".data-api",BLUR_DATA_API:"blur"+lt+".data-api"},vt=function(){function t(t){this._element=t,T.setData(t,at,this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=Z.closest(this._element,dt);if(n){var i=Z.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ct))t=!1;else{var o=Z.findOne(gt,n);o&&o.classList.remove(ct)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ct),z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ct)),t&&this._element.classList.toggle(ct)},n.dispose=function(){T.removeData(this._element,at),this._element=null},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,at);n||(n=new t(this)),"toggle"===e&&n[e]()})},t.getInstance=function(t){return T.getData(t,at)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,_t.CLICK_DATA_API,ht,function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=Z.closest(e,mt));var n=T.getData(e,at);n||(n=new vt(e)),n.toggle()}),z.on(document,_t.FOCUS_DATA_API,ht,function(t){var e=Z.closest(t.target,mt);e&&e.classList.add(ut)}),z.on(document,_t.BLUR_DATA_API,ht,function(t){var e=Z.closest(t.target,mt);e&&e.classList.remove(ut)});var bt=w();if(bt){var yt=bt.fn.button;bt.fn.button=vt.jQueryInterface,bt.fn.button.Constructor=vt,bt.fn.button.noConflict=function(){return bt.fn.button=yt,vt.jQueryInterface}}function Et(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function wt(t){return t.replace(/[A-Z]/g,function(t){return t.toLowerCase()})}var Dt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+wt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+wt(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach(function(t){e[t]=Et(e[t])}),e},getDataAttribute:function(t,e){return Et(t.getAttribute("data-"+wt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},Tt="carousel",It="bs.carousel",At="."+It,Ot={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},St="next",Ct="prev",Nt="left",kt="right",Pt={SLIDE:"slide"+At,SLID:"slid"+At,KEYDOWN:"keydown"+At,MOUSEENTER:"mouseenter"+At,MOUSELEAVE:"mouseleave"+At,TOUCHSTART:"touchstart"+At,TOUCHMOVE:"touchmove"+At,TOUCHEND:"touchend"+At,POINTERDOWN:"pointerdown"+At,POINTERUP:"pointerup"+At,DRAG_START:"dragstart"+At,LOAD_DATA_API:"load"+At+".data-api",CLICK_DATA_API:"click"+At+".data-api"},xt="carousel",Mt="active",Ht="slide",jt="carousel-item-right",Rt="carousel-item-left",Wt="carousel-item-next",Ut="carousel-item-prev",Ft="pointer-event",Bt={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Kt={TOUCH:"touch",PEN:"pen"},Vt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=Z.findOne(Bt.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),T.setData(t,It,this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide(St)},n.nextWhenVisible=function(){!document.hidden&&b(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide(Ct)},n.pause=function(t){t||(this._isPaused=!0),Z.findOne(Bt.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=Z.findOne(Bt.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)z.one(this._element,Pt.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=t>n?St:Ct;this._slide(i,this._items[t])}},n.dispose=function(){z.off(this._element,At),T.removeData(this._element,It),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=o({},Ot,{},t),_(Tt,t,Lt),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&z.on(this._element,Pt.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(z.on(this._element,Pt.MOUSEENTER,function(e){return t.pause(e)}),z.on(this._element,Pt.MOUSELEAVE,function(e){return t.cycle(e)})),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};v(Z.find(Bt.ITEM_IMG,this._element)).forEach(function(t){z.on(t,Pt.DRAG_START,function(t){return t.preventDefault()})}),this._pointerEvent?(z.on(this._element,Pt.POINTERDOWN,function(t){return e(t)}),z.on(this._element,Pt.POINTERUP,function(t){return n(t)}),this._element.classList.add(Ft)):(z.on(this._element,Pt.TOUCHSTART,function(t){return e(t)}),z.on(this._element,Pt.TOUCHMOVE,function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)}),z.on(this._element,Pt.TOUCHEND,function(t){return n(t)}))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?v(Z.find(Bt.ITEM,t.parentNode)):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n=t===St,i=t===Ct,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Ct?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(Z.findOne(Bt.ACTIVE_ITEM,this._element));return z.trigger(this._element,Pt.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=Z.find(Bt.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},n._slide=function(t,e){var n,i,o,r=this,s=Z.findOne(Bt.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),c=e||s&&this._getItemByDirection(t,s),f=this._getItemIndex(c),u=Boolean(this._interval);if(t===St?(n=Rt,i=Wt,o=Nt):(n=jt,i=Ut,o=kt),c&&c.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(c,o).defaultPrevented&&s&&c){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(c),this._element.classList.contains(Ht)){c.classList.add(i),E(c),s.classList.add(n),c.classList.add(n);var h=parseInt(c.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var p=d(s);z.one(s,l,function(){c.classList.remove(n),c.classList.remove(i),c.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout(function(){z.trigger(r._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f})},0)}),m(s,p)}else s.classList.remove(Mt),c.classList.add(Mt),this._isSliding=!1,z.trigger(this._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=T.getData(e,It),r=o({},Ot,{},Dt.getDataAttributes(e));"object"==typeof n&&(r=o({},r,{},n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each(function(){t.carouselInterface(this,e)})},t.dataApiClickHandler=function(e){var n=h(this);if(n&&n.classList.contains(xt)){var i=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&T.getData(n,It).to(r),e.preventDefault()}},t.getInstance=function(t){return T.getData(t,It)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ot}}]),t}();z.on(document,Pt.CLICK_DATA_API,Bt.DATA_SLIDE,Vt.dataApiClickHandler),z.on(window,Pt.LOAD_DATA_API,function(){for(var t=v(Z.find(Bt.DATA_RIDE)),e=0,n=t.length;e<n;e++)Vt.carouselInterface(t[e],T.getData(t[e],It))});var Yt=w();if(Yt){var Qt=Yt.fn[Tt];Yt.fn[Tt]=Vt.jQueryInterface,Yt.fn[Tt].Constructor=Vt,Yt.fn[Tt].noConflict=function(){return Yt.fn[Tt]=Qt,Vt.jQueryInterface}}var Gt="collapse",qt="bs.collapse",Xt="."+qt,zt={toggle:!0,parent:""},Zt={toggle:"boolean",parent:"(string|element)"},$t={SHOW:"show"+Xt,SHOWN:"shown"+Xt,HIDE:"hide"+Xt,HIDDEN:"hidden"+Xt,CLICK_DATA_API:"click"+Xt+".data-api"},Jt="show",te="collapse",ee="collapsing",ne="collapsed",ie="width",oe="height",re={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},se=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=v(Z.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=v(Z.find(re.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=u(r),a=v(Z.find(s)).filter(function(e){return e===t});null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),T.setData(t,qt,this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains(Jt)?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(Jt)){var n,i;this._parent&&0===(n=v(Z.find(re.ACTIVES,this._parent)).filter(function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(te)})).length&&(n=null);var o=Z.findOne(this._selector);if(n){var r=n.filter(function(t){return o!==t});if((i=r[0]?T.getData(r[0],qt):null)&&i._isTransitioning)return}if(!z.trigger(this._element,$t.SHOW).defaultPrevented){n&&n.forEach(function(e){o!==e&&t.collapseInterface(e,"hide"),i||T.setData(e,qt,null)});var s=this._getDimension();this._element.classList.remove(te),this._element.classList.add(ee),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(function(t){t.classList.remove(ne),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),c=d(this._element);z.one(this._element,l,function(){e._element.classList.remove(ee),e._element.classList.add(te),e._element.classList.add(Jt),e._element.style[s]="",e.setTransitioning(!1),z.trigger(e._element,$t.SHOWN)}),m(this._element,c),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(Jt)&&!z.trigger(this._element,$t.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",E(this._element),this._element.classList.add(ee),this._element.classList.remove(te),this._element.classList.remove(Jt);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=h(o);r&&!r.classList.contains(Jt)&&(o.classList.add(ne),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(this._element);z.one(this._element,l,function(){t.setTransitioning(!1),t._element.classList.remove(ee),t._element.classList.add(te),z.trigger(t._element,$t.HIDDEN)}),m(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){T.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o({},zt,{},t)).toggle=Boolean(t.toggle),_(Gt,t,Zt),t},n._getDimension=function(){return this._element.classList.contains(ie)?ie:oe},n._getParent=function(){var t=this,e=this._config.parent;g(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=Z.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return v(Z.find(n,e)).forEach(function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])}),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(Jt);e.length&&e.forEach(function(t){n?t.classList.remove(ne):t.classList.add(ne),t.setAttribute("aria-expanded",n)})}},t.collapseInterface=function(e,n){var i=T.getData(e,qt),r=o({},zt,{},Dt.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each(function(){t.collapseInterface(this,e)})},t.getInstance=function(t){return T.getData(t,qt)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return zt}}]),t}();z.on(document,$t.CLICK_DATA_API,re.DATA_TOGGLE,function(t){"A"===t.target.tagName&&t.preventDefault();var e=Dt.getDataAttributes(this),n=u(this);v(Z.find(n)).forEach(function(t){var n,i=T.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,se.collapseInterface(t,n)})});var ae=w();if(ae){var le=ae.fn[Gt];ae.fn[Gt]=se.jQueryInterface,ae.fn[Gt].Constructor=se,ae.fn[Gt].noConflict=function(){return ae.fn[Gt]=le,se.jQueryInterface}}for(var ce="undefined"!=typeof window&&"undefined"!=typeof document,fe=["Edge","Trident","Firefox"],ue=0,he=0;he<fe.length;he+=1)if(ce&&navigator.userAgent.indexOf(fe[he])>=0){ue=1;break}var de=ce&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},ue))}};function pe(t){return t&&"[object Function]"==={}.toString.call(t)}function ge(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function me(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function _e(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=ge(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:_e(me(t))}var ve=ce&&!(!window.MSInputMethodContext||!document.documentMode),be=ce&&/MSIE 10/.test(navigator.userAgent);function ye(t){return 11===t?ve:10===t?be:ve||be}function Ee(t){if(!t)return document.documentElement;for(var e=ye(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ge(n,"position")?Ee(n):n:t?t.ownerDocument.documentElement:document.documentElement}function we(t){return null!==t.parentNode?we(t.parentNode):t}function De(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Ee(s.firstElementChild)!==s?Ee(l):l;var c=we(t);return c.host?De(c.host,e):De(t,we(e).host)}function Te(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function Ie(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Ae(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],ye(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Oe(t){var e=t.body,n=t.documentElement,i=ye(10)&&getComputedStyle(n);return{height:Ae("Height",e,n,i),width:Ae("Width",e,n,i)}}var Le=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Se=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Ce=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ne=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function ke(t){return Ne({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Pe(t){var e={};try{if(ye(10)){e=t.getBoundingClientRect();var n=Te(t,"top"),i=Te(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Oe(t.ownerDocument):{},s=r.width||t.clientWidth||o.right-o.left,a=r.height||t.clientHeight||o.bottom-o.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=ge(t);l-=Ie(f,"x"),c-=Ie(f,"y"),o.width-=l,o.height-=c}return ke(o)}function xe(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=ye(10),o="HTML"===e.nodeName,r=Pe(t),s=Pe(e),a=_e(t),l=ge(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=ke({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Te(e,"top"),o=Te(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function Me(t){if(!t||!t.parentElement||ye())return document.documentElement;for(var e=t.parentElement;e&&"none"===ge(e,"transform");)e=e.parentElement;return e||document.documentElement}function He(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Me(t):De(t,e);if("viewport"===i)r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=xe(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Te(n),a=e?0:Te(n,"left");return ke({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=_e(me(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=xe(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ge(e,"position"))return!0;var i=me(e);return!!i&&t(i)}(s))r=l;else{var c=Oe(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function je(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=He(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map(function(t){return Ne({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=l.filter(function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight}),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function Re(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return xe(n,i?Me(e):De(e,n),i)}function We(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Ue(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function Fe(t,e,n){n=n.split("-")[0];var i=We(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Ue(a)],o}function Be(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Ke(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=Be(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",n))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&pe(n)&&(e.offsets.popper=ke(e.offsets.popper),e.offsets.reference=ke(e.offsets.reference),e=n(e,t))}),e}function Ve(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Re(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=je(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Fe(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Ke(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Ye(t,e){return t.some(function(t){var n=t.name;return t.enabled&&n===e})}function Qe(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function Ge(){return this.state.isDestroyed=!0,Ye(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Qe("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function qe(t){var e=t.ownerDocument;return e?e.defaultView:window}function Xe(t,e,n,i){n.updateBound=i,qe(t).addEventListener("resize",n.updateBound,{passive:!0});var o=_e(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(_e(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ze(){this.state.eventsEnabled||(this.state=Xe(this.reference,this.options,this.state,this.scheduleUpdate))}function Ze(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,qe(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function $e(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function Je(t,e){Object.keys(e).forEach(function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&$e(e[n])&&(i="px"),t.style[n]=e[n]+i})}var tn=ce&&/Firefox/i.test(navigator.userAgent);function en(t,e,n){var i=Be(t,function(t){return t.name===e}),o=!!i&&t.some(function(t){return t.name===n&&t.enabled&&t.order<i.order});if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var nn=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],on=nn.slice(3);function rn(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=on.indexOf(t),i=on.slice(n+1).concat(on.slice(0,n));return e?i.reverse():i}var sn={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function an(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map(function(t){return t.trim()}),a=s.indexOf(Be(s,function(t){return-1!==t.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map(function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return ke(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)})})).forEach(function(t,e){t.forEach(function(n,i){$e(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))})}),o}var ln={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:Ce({},l,r[l]),end:Ce({},l,r[l]+r[c]-s[c])};t.offsets.popper=Ne({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=$e(+n)?[+n,0]:an(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Ee(t.instance.popper);t.instance.reference===n&&(n=Ee(n));var i=Qe("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=He(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(f[t],l[t])),Ce({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=f[n];return f[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),Ce({},n,i)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=Ne({},f,u[e](t))}),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!en(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=We(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=ke(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=ge(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),b=g-t.offsets.popper[u]-_-v;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Ce(n={},u,Math.round(b)),Ce(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Ye(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=He(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Ue(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case sn.FLIP:s=[i,o];break;case sn.CLOCKWISE:s=rn(i);break;case sn.COUNTERCLOCKWISE:s=rn(i,!0);break;default:s=e.behavior}return s.forEach(function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Ue(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)<u(f.right)||"top"===i&&u(c.bottom)>u(f.top)||"bottom"===i&&u(c.top)<u(f.bottom),d=u(c.left)<u(n.left),p=u(c.right)>u(n.right),g=u(c.top)<u(n.top),m=u(c.bottom)>u(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(v&&"start"===r&&d||v&&"end"===r&&p||!v&&"start"===r&&g||!v&&"end"===r&&m),y=!!e.flipVariationsByContent&&(v&&"start"===r&&p||v&&"end"===r&&d||!v&&"start"===r&&m||!v&&"end"===r&&g),E=b||y;(h||_||E)&&(t.flipped=!0,(h||_)&&(i=s[l+1]),E&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Ne({},t.offsets.popper,Fe(t.instance.popper,t.offsets.reference,t.placement)),t=Ke(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Ue(e),t.offsets.popper=ke(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!en(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Be(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=Be(t.instance.modifiers,function(t){return"applyStyle"===t.name}).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=Ee(t.instance.popper),l=Pe(a),c={position:o.position},f=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),f=-1!==["left","right"].indexOf(t.placement),u=-1!==t.placement.indexOf("-"),h=e?f||u||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!u&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!tn),u="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=Qe("transform"),p=void 0,g=void 0;if(g="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+f.bottom:-l.height+f.bottom:f.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+f.right:-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[u]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===u?-1:1,_="right"===h?-1:1;c[u]=g*m,c[h]=p*_,c.willChange=u+", "+h}var v={"x-placement":t.placement};return t.attributes=Ne({},v,t.attributes),t.styles=Ne({},c,t.styles),t.arrowStyles=Ne({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return Je(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach(function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&Je(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Re(o,e,t,n.positionFixed),s=je(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),Je(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},cn=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Le(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=de(this.update.bind(this)),this.options=Ne({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Ne({},t.Defaults.modifiers,o.modifiers)).forEach(function(e){i.options.modifiers[e]=Ne({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Ne({name:t},i.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&pe(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Se(t,[{key:"update",value:function(){return Ve.call(this)}},{key:"destroy",value:function(){return Ge.call(this)}},{key:"enableEventListeners",value:function(){return ze.call(this)}},{key:"disableEventListeners",value:function(){return Ze.call(this)}}]),t}();cn.Utils=("undefined"!=typeof window?window:global).PopperUtils,cn.placements=nn,cn.Defaults=ln;var fn="dropdown",un="bs.dropdown",hn="."+un,dn=new RegExp("38|40|27"),pn={HIDE:"hide"+hn,HIDDEN:"hidden"+hn,SHOW:"show"+hn,SHOWN:"shown"+hn,CLICK:"click"+hn,CLICK_DATA_API:"click"+hn+".data-api",KEYDOWN_DATA_API:"keydown"+hn+".data-api",KEYUP_DATA_API:"keyup"+hn+".data-api"},gn="disabled",mn="show",_n="dropup",vn="dropright",bn="dropleft",yn="dropdown-menu-right",En="position-static",wn='[data-toggle="dropdown"]',Dn=".dropdown form",Tn=".dropdown-menu",In=".navbar-nav",An=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",On="top-start",Ln="top-end",Sn="bottom-start",Cn="bottom-end",Nn="right-start",kn="left-start",Pn={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},xn={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Mn=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T.setData(t,un,this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(gn)){var e=this._menu.classList.contains(mn);t.clearMenus(),e||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains(gn)||this._menu.classList.contains(mn))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!z.trigger(e,pn.SHOW,n).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof cn)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:g(this._config.reference)&&(i=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(En),this._popper=new cn(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!v(Z.closest(e,In)).length&&v(document.body.children).forEach(function(t){return z.on(t,"mouseover",null,function(){})}),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Dt.toggleClass(this._menu,mn),Dt.toggleClass(e,mn),z.trigger(e,pn.SHOWN,n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(gn)&&this._menu.classList.contains(mn)){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};z.trigger(e,pn.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Dt.toggleClass(this._menu,mn),Dt.toggleClass(e,mn),z.trigger(e,pn.HIDDEN,n))}},n.dispose=function(){T.removeData(this._element,un),z.off(this._element,hn),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;z.on(this._element,pn.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},n._getConfig=function(t){return t=o({},this.constructor.Default,{},Dt.getDataAttributes(this._element),{},t),_(fn,t,this.constructor.DefaultType),t},n._getMenuElement=function(){var e=t.getParentFromElement(this._element);return Z.findOne(Tn,e)},n._getPlacement=function(){var t=this._element.parentNode,e=Sn;return t.classList.contains(_n)?(e=On,this._menu.classList.contains(yn)&&(e=Ln)):t.classList.contains(vn)?e=Nn:t.classList.contains(bn)?e=kn:this._menu.classList.contains(yn)&&(e=Cn),e},n._detectNavbar=function(){return Boolean(Z.closest(this._element,".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),o({},t,{},this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=T.getData(e,un);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each(function(){t.dropdownInterface(this,e)})},t.clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=v(Z.find(wn)),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=T.getData(n[i],un),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(r.classList.contains(mn))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&r.contains(e.target)))z.trigger(r,pn.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&v(document.body.children).forEach(function(t){return z.off(t,"mouseover",null,function(){})}),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(mn),r.classList.remove(mn),z.trigger(r,pn.HIDDEN,a))}}},t.getParentFromElement=function(t){return h(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||Z.closest(e.target,Tn))):dn.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains(gn))){var n=t.getParentFromElement(this),i=n.classList.contains(mn);if(!i||i&&(27===e.which||32===e.which))return 27===e.which&&Z.findOne(wn,n).focus(),void t.clearMenus();var o=v(Z.find(An,n));if(o.length){var r=o.indexOf(e.target);38===e.which&&r>0&&r--,40===e.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},t.getInstance=function(t){return T.getData(t,un)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Pn}},{key:"DefaultType",get:function(){return xn}}]),t}();z.on(document,pn.KEYDOWN_DATA_API,wn,Mn.dataApiKeydownHandler),z.on(document,pn.KEYDOWN_DATA_API,Tn,Mn.dataApiKeydownHandler),z.on(document,pn.CLICK_DATA_API,Mn.clearMenus),z.on(document,pn.KEYUP_DATA_API,Mn.clearMenus),z.on(document,pn.CLICK_DATA_API,wn,function(t){t.preventDefault(),t.stopPropagation(),Mn.dropdownInterface(this,"toggle")}),z.on(document,pn.CLICK_DATA_API,Dn,function(t){return t.stopPropagation()});var Hn=w();if(Hn){var jn=Hn.fn[fn];Hn.fn[fn]=Mn.jQueryInterface,Hn.fn[fn].Constructor=Mn,Hn.fn[fn].noConflict=function(){return Hn.fn[fn]=jn,Mn.jQueryInterface}}var Rn="bs.modal",Wn="."+Rn,Un={backdrop:!0,keyboard:!0,focus:!0,show:!0},Fn={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Bn={HIDE:"hide"+Wn,HIDDEN:"hidden"+Wn,SHOW:"show"+Wn,SHOWN:"shown"+Wn,FOCUSIN:"focusin"+Wn,RESIZE:"resize"+Wn,CLICK_DISMISS:"click.dismiss"+Wn,KEYDOWN_DISMISS:"keydown.dismiss"+Wn,MOUSEUP_DISMISS:"mouseup.dismiss"+Wn,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Wn,CLICK_DATA_API:"click"+Wn+".data-api"},Kn="modal-dialog-scrollable",Vn="modal-scrollbar-measure",Yn="modal-backdrop",Qn="modal-open",Gn="fade",qn="show",Xn={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},zn=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Z.findOne(Xn.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,T.setData(t,Rn,this)}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Gn)&&(this._isTransitioning=!0);var n=z.trigger(this._element,Bn.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),z.on(this._element,Bn.CLICK_DISMISS,Xn.DATA_DISMISS,function(t){return e.hide(t)}),z.on(this._dialog,Bn.MOUSEDOWN_DISMISS,function(){z.one(e._element,Bn.MOUSEUP_DISMISS,function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},n.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!z.trigger(this._element,Bn.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Gn);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),z.off(document,Bn.FOCUSIN),this._element.classList.remove(qn),z.off(this._element,Bn.CLICK_DISMISS),z.off(this._dialog,Bn.MOUSEDOWN_DISMISS),n){var i=d(this._element);z.one(this._element,l,function(t){return e._hideModal(t)}),m(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return z.off(t,Wn)}),z.off(document,Bn.FOCUSIN),T.removeData(this._element,Rn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o({},Un,{},t),_("modal",t,Fn),t},n._showElement=function(t){var e=this,n=this._element.classList.contains(Gn),i=Z.findOne(Xn.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Kn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&E(this._element),this._element.classList.add(qn),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,z.trigger(e._element,Bn.SHOWN,{relatedTarget:t})};if(n){var r=d(this._dialog);z.one(this._dialog,l,o),m(this._dialog,r)}else o()},n._enforceFocus=function(){var t=this;z.off(document,Bn.FOCUSIN),z.on(document,Bn.FOCUSIN,function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()})},n._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?z.on(this._element,Bn.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):z.off(this._element,Bn.KEYDOWN_DISMISS)},n._setResizeEvent=function(){var t=this;this._isShown?z.on(window,Bn.RESIZE,function(){return t._adjustDialog()}):z.off(window,Bn.RESIZE)},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){document.body.classList.remove(Qn),t._resetAdjustments(),t._resetScrollbar(),z.trigger(t._element,Bn.HIDDEN)})},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Gn)?Gn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Yn,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),z.on(this._element,Bn.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&E(this._backdrop),this._backdrop.classList.add(qn),!n)return void t();var i=d(this._backdrop);z.one(this._backdrop,l,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(qn);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Gn)){var r=d(this._backdrop);z.one(this._backdrop,l,o),m(this._backdrop,r)}else o()}else t()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){v(Z.find(Xn.FIXED_CONTENT)).forEach(function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];Dt.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"}),v(Z.find(Xn.STICKY_CONTENT)).forEach(function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];Dt.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"});var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Dt.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Qn)},n._resetScrollbar=function(){v(Z.find(Xn.FIXED_CONTENT)).forEach(function(t){var e=Dt.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)}),v(Z.find(""+Xn.STICKY_CONTENT)).forEach(function(t){var e=Dt.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)});var t=Dt.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(Dt.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Vn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each(function(){var i=T.getData(this,Rn),r=o({},Un,{},Dt.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)})},t.getInstance=function(t){return T.getData(t,Rn)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Un}}]),t}();z.on(document,Bn.CLICK_DATA_API,Xn.DATA_TOGGLE,function(t){var e=this,n=h(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),z.one(n,Bn.SHOW,function(t){t.defaultPrevented||z.one(n,Bn.HIDDEN,function(){b(e)&&e.focus()})});var i=T.getData(n,Rn);if(!i){var r=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this));i=new zn(n,r)}i.show(this)});var Zn=w();if(Zn){var $n=Zn.fn.modal;Zn.fn.modal=zn.jQueryInterface,Zn.fn.modal.Constructor=zn,Zn.fn.modal.noConflict=function(){return Zn.fn.modal=$n,zn.jQueryInterface}}var Jn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ti=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,ei=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,ni=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Jn.indexOf(n)||Boolean(t.nodeValue.match(ti)||t.nodeValue.match(ei));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},ii={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function oi(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=v(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=v(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach(function(t){ni(t,l)||i.removeAttribute(t.nodeName)})},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var ri="tooltip",si=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ai=["sanitize","whiteList","sanitizeFn"],li={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},ci={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},fi={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:ii,popperConfig:null},ui="show",hi="out",di={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},pi="fade",gi="show",mi=".tooltip-inner",_i="hover",vi="focus",bi="click",yi="manual",Ei=function(){function t(t,e){if("undefined"==typeof cn)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T.setData(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=T.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(gi))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),T.removeData(this.element,this.constructor.DATA_KEY),z.off(this.element,this.constructor.EVENT_KEY),z.off(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=z.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(pi);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var f=this._getContainer();T.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(o),z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new cn(this.element,o,this._getPopperConfig(a)),o.classList.add(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach(function(t){z.on(t,"mouseover",function(){})});var u=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,z.trigger(t.element,t.constructor.Event.SHOWN),e===hi&&t._leave(null,t)};if(this.tip.classList.contains(pi)){var h=d(this.tip);z.one(this.tip,l,u),m(this.tip,h)}else u()}},n.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==ui&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach(function(t){return z.off(t,"mouseover",y)}),this._activeTrigger[bi]=!1,this._activeTrigger[vi]=!1,this._activeTrigger[_i]=!1,this.tip.classList.contains(pi)){var i=d(e);z.one(e,l,n),m(e,i)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(mi,t),this.getTitle()),t.classList.remove(pi),t.classList.remove(gi)},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=oi(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return o({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:Z.findOne(this.config.container)},n._getAttachment=function(t){return ci[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)z.on(t.element,t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(e!==yi){var n=e===_i?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===_i?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;z.on(t.element,n,t.config.selector,function(e){return t._enter(e)}),z.on(t.element,i,t.config.selector,function(e){return t._leave(e)})}}),this._hideModalHandler=function(){t.element&&t.hide()},z.on(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?vi:_i]=!0),e.getTipElement().classList.contains(gi)||e._hoverState===ui?e._hoverState=ui:(clearTimeout(e._timeout),e._hoverState=ui,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===ui&&e.show()},e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?vi:_i]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=hi,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===hi&&e.hide()},e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=Dt.getDataAttributes(this.element);return Object.keys(e).forEach(function(t){-1!==ai.indexOf(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_(ri,t,this.constructor.DefaultType),t.sanitize&&(t.template=oi(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(si);null!==e&&e.length&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(pi),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(t){return T.getData(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return fi}},{key:"NAME",get:function(){return ri}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return di}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return li}}]),t}(),wi=w();if(wi){var Di=wi.fn.tooltip;wi.fn.tooltip=Ei.jQueryInterface,wi.fn.tooltip.Constructor=Ei,wi.fn.tooltip.noConflict=function(){return wi.fn.tooltip=Di,Ei.jQueryInterface}}var Ti="popover",Ii=new RegExp("(^|\\s)bs-popover\\S+","g"),Ai=o({},Ei.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Oi=o({},Ei.DefaultType,{content:"(string|element|function)"}),Li="fade",Si="show",Ci=".popover-header",Ni=".popover-body",ki={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Pi=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(Ci,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(Z.findOne(Ni,t),e),t.classList.remove(Li),t.classList.remove(Si)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ii);null!==e&&e.length>0&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},o.jQueryInterface=function(t){return this.each(function(){var e=T.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},o.getInstance=function(t){return T.getData(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ai}},{key:"NAME",get:function(){return Ti}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ki}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Oi}}]),o}(Ei),xi=w();if(xi){var Mi=xi.fn.popover;xi.fn.popover=Pi.jQueryInterface,xi.fn.popover.Constructor=Pi,xi.fn.popover.noConflict=function(){return xi.fn.popover=Mi,Pi.jQueryInterface}}var Hi="scrollspy",ji="bs.scrollspy",Ri="."+ji,Wi={offset:10,method:"auto",target:""},Ui={offset:"number",method:"string",target:"(string|element)"},Fi={ACTIVATE:"activate"+Ri,SCROLL:"scroll"+Ri,LOAD_DATA_API:"load"+Ri+".data-api"},Bi={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Ki={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Vi="offset",Yi="position",Qi=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Ki.NAV_LINKS+","+this._config.target+" "+Ki.LIST_ITEMS+","+this._config.target+" ."+Bi.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,z.on(this._scrollElement,Fi.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process(),T.setData(t,ji,this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Vi:Yi,n="auto"===this._config.method?e:this._config.method,i=n===Yi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),v(Z.find(this._selector)).map(function(t){var e,o=u(t);if(o&&(e=Z.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[Dt[n](e).top+i,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},n.dispose=function(){T.removeData(this._element,ji),z.off(this._scrollElement,Ri),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=o({},Wi,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=c(Hi),t.target.id=e),t.target="#"+e}return _(Hi,t,Ui),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'}),n=Z.findOne(e.join(","));n.classList.contains(Bi.DROPDOWN_ITEM)?(Z.findOne(Ki.DROPDOWN_TOGGLE,Z.closest(n,Ki.DROPDOWN)).classList.add(Bi.ACTIVE),n.classList.add(Bi.ACTIVE)):(n.classList.add(Bi.ACTIVE),Z.parents(n,Ki.NAV_LIST_GROUP).forEach(function(t){Z.prev(t,Ki.NAV_LINKS+", "+Ki.LIST_ITEMS).forEach(function(t){return t.classList.add(Bi.ACTIVE)}),Z.prev(t,Ki.NAV_ITEMS).forEach(function(t){Z.children(t,Ki.NAV_LINKS).forEach(function(t){return t.classList.add(Bi.ACTIVE)})})})),z.trigger(this._scrollElement,Fi.ACTIVATE,{relatedTarget:t})},n._clear=function(){v(Z.find(this._selector)).filter(function(t){return t.classList.contains(Bi.ACTIVE)}).forEach(function(t){return t.classList.remove(Bi.ACTIVE)})},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,ji);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(t){return T.getData(t,ji)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Wi}}]),t}();z.on(window,Fi.LOAD_DATA_API,function(){v(Z.find(Ki.DATA_SPY)).forEach(function(t){return new Qi(t,Dt.getDataAttributes(t))})});var Gi=w();if(Gi){var qi=Gi.fn[Hi];Gi.fn[Hi]=Qi.jQueryInterface,Gi.fn[Hi].Constructor=Qi,Gi.fn[Hi].noConflict=function(){return Gi.fn[Hi]=qi,Qi.jQueryInterface}}var Xi="bs.tab",zi="."+Xi,Zi={HIDE:"hide"+zi,HIDDEN:"hidden"+zi,SHOW:"show"+zi,SHOWN:"shown"+zi,CLICK_DATA_API:"click"+zi+".data-api"},$i="dropdown-menu",Ji="active",to="disabled",eo="fade",no="show",io=".dropdown",oo=".nav, .list-group",ro=".active",so=":scope > li > .active",ao='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',lo=".dropdown-toggle",co=":scope > .dropdown-menu .active",fo=function(){function t(t){this._element=t,T.setData(this._element,Xi,this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Ji)||this._element.classList.contains(to))){var e,n=h(this._element),i=Z.closest(this._element,oo);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?so:ro;e=(e=v(Z.find(o,i)))[e.length-1]}var r=null;if(e&&(r=z.trigger(e,Zi.HIDE,{relatedTarget:this._element})),!(z.trigger(this._element,Zi.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){z.trigger(e,Zi.HIDDEN,{relatedTarget:t._element}),z.trigger(t._element,Zi.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){T.removeData(this._element,Xi),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Z.children(e,ro):Z.find(so,e))[0],r=n&&o&&o.classList.contains(eo),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=d(o);o.classList.remove(no),z.one(o,l,s),m(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove(Ji);var i=Z.findOne(co,e.parentNode);i&&i.classList.remove(Ji),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(Ji),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),E(t),t.classList.contains(eo)&&t.classList.add(no),t.parentNode&&t.parentNode.classList.contains($i))&&(Z.closest(t,io)&&v(Z.find(lo)).forEach(function(t){return t.classList.add(Ji)}),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,Xi)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(t){return T.getData(t,Xi)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,Zi.CLICK_DATA_API,ao,function(t){t.preventDefault(),(T.getData(this,Xi)||new fo(this)).show()});var uo=w();if(uo){var ho=uo.fn.tab;uo.fn.tab=fo.jQueryInterface,uo.fn.tab.Constructor=fo,uo.fn.tab.noConflict=function(){return uo.fn.tab=ho,fo.jQueryInterface}}var po="bs.toast",go="."+po,mo={CLICK_DISMISS:"click.dismiss"+go,HIDE:"hide"+go,HIDDEN:"hidden"+go,SHOW:"show"+go,SHOWN:"shown"+go},_o="fade",vo="hide",bo="show",yo="showing",Eo={animation:"boolean",autohide:"boolean",delay:"number"},wo={animation:!0,autohide:!0,delay:500},Do='[data-dismiss="toast"]',To=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T.setData(t,po,this)}var n=t.prototype;return n.show=function(){var t=this;if(!z.trigger(this._element,mo.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(_o);var e=function(){t._element.classList.remove(yo),t._element.classList.add(bo),z.trigger(t._element,mo.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(vo),E(this._element),this._element.classList.add(yo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains(bo)&&!z.trigger(this._element,mo.HIDE).defaultPrevented){var e=function(){t._element.classList.add(vo),z.trigger(t._element,mo.HIDDEN)};if(this._element.classList.remove(bo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(bo)&&this._element.classList.remove(bo),z.off(this._element,mo.CLICK_DISMISS),T.removeData(this._element,po),this._element=null,this._config=null},n._getConfig=function(t){return t=o({},wo,{},Dt.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),_("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;z.on(this._element,mo.CLICK_DISMISS,Do,function(){return t.hide()})},t.jQueryInterface=function(e){return this.each(function(){var n=T.getData(this,po);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}})},t.getInstance=function(t){return T.getData(t,po)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Eo}},{key:"Default",get:function(){return wo}}]),t}(),Io=w();if(Io){var Ao=Io.fn.toast;Io.fn.toast=To.jQueryInterface,Io.fn.toast.Constructor=To,Io.fn.toast.noConflict=function(){return Io.fn.toast=Ao,To.jQueryInterface}}return{Alert:ot,Button:vt,Carousel:Vt,Collapse:se,Dropdown:Mn,Modal:zn,Popover:Pi,ScrollSpy:Qi,Tab:fo,Toast:To,Tooltip:Ei}});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(o,!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(o).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var r,s,a,l="transitionend",c=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},u=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=f(t);return e?document.querySelector(e):null},d=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(l,!0,!0),t.dispatchEvent(e)},g=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(l,(function e(){n=!0,t.removeEventListener(l,e)})),setTimeout((function(){n||p(t)}),i)},_=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&g(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},v=function(t){return t?[].slice.call(t):[]},b=function(t){return!!t&&(!!(t.style&&t.parentNode&&t.parentNode.style)&&("none"!==t.style.display&&"none"!==t.parentNode.style.display&&"hidden"!==t.style.visibility))},y=function(){return function(){}},E=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},D=(r={},s=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T={setData:function(t,e,n){D.set(t,e,n)},getData:function(t,e){return D.get(t,e)},removeData:function(t,e){D.delete(t,e)}},I=Element.prototype,A=I.matches,O=I.closest,L=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,C=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(C=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((a=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),a.preventDefault(),a.defaultPrevented)){var N=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(N.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var k=function(){var t=C("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",(function(){return null})),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();A||(A=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),O||(O=function(t){var e=this;do{if(A.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var P=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!P.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(P,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!P.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var x=w(),M=/[^.]*(?=\..*)\.|.*/,H=/\..*/,j=/^key/,R=/::\d+$/,W={},U=1,F={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function K(t,e){return e&&e+"::"+U++||t.uidEvent||U++}function V(t){var e=K(t);return t.uidEvent=e,W[e]=W[e]||{},W[e]}function Y(t,e){null===t.which&&j.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function Q(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function G(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(H,""),s=F[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=G(e,n,i),s=r[0],a=r[1],l=r[2],c=V(t),f=c[l]||(c[l]={}),u=Q(f,a,s?n:null);if(u)u.oneOff=u.oneOff&&o;else{var h=K(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,f[h]=d,t.addEventListener(l,d,s)}}}function X(t,e,n,i,o){var r=Q(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=G(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=V(t),f="."===e.charAt(0);if("undefined"==typeof s){f&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];X(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var u=c[a]||{};Object.keys(u).forEach((function(n){var i=n.replace(R,"");if(!l||e.indexOf(i)>-1){var o=u[n];X(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;X(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(H,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,f=null;return r&&x&&(i=x.Event(e,n),x(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(f=document.createEvent("HTMLEvents")).initEvent(o,a,!0):f=C(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach((function(t){Object.defineProperty(f,t,{get:function(){return n[t]}})})),c&&(f.preventDefault(),k||Object.defineProperty(f,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(f),f.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),f}},Z={matches:function(t,e){return A.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),S.call(e,t)},children:function(t,e){var n=this,i=v(t.children);return i.filter((function(t){return n.matches(t,e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return O.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},$="bs.alert",J="."+$,tt={CLOSE:"close"+J,CLOSED:"closed"+J,CLICK_DATA_API:"click"+J+".data-api"},et="alert",nt="fade",it="show",ot=function(){function t(t){this._element=t,this._element&&T.setData(t,$,this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){T.removeData(this._element,$),this._element=null},n._getRootElement=function(t){var e=h(t);return e||(e=Z.closest(t,"."+et)),e},n._triggerCloseEvent=function(t){return z.trigger(t,tt.CLOSE)},n._removeElement=function(t){var e=this;if(t.classList.remove(it),t.classList.contains(nt)){var n=d(t);z.one(t,l,(function(){return e._destroyElement(t)})),m(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),z.trigger(t,tt.CLOSED)},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,$);n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return T.getData(t,$)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,tt.CLICK_DATA_API,'[data-dismiss="alert"]',ot.handleDismiss(new ot));var rt=w();if(rt){var st=rt.fn.alert;rt.fn.alert=ot.jQueryInterface,rt.fn.alert.Constructor=ot,rt.fn.alert.noConflict=function(){return rt.fn.alert=st,ot.jQueryInterface}}var at="bs.button",lt="."+at,ct="active",ft="btn",ut="focus",ht='[data-toggle^="button"]',dt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',gt=".active",mt=".btn",_t={CLICK_DATA_API:"click"+lt+".data-api",FOCUS_DATA_API:"focus"+lt+".data-api",BLUR_DATA_API:"blur"+lt+".data-api"},vt=function(){function t(t){this._element=t,T.setData(t,at,this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=Z.closest(this._element,dt);if(n){var i=Z.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ct))t=!1;else{var o=Z.findOne(gt,n);o&&o.classList.remove(ct)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ct),z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ct)),t&&this._element.classList.toggle(ct)},n.dispose=function(){T.removeData(this._element,at),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,at);n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return T.getData(t,at)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,_t.CLICK_DATA_API,ht,(function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=Z.closest(e,mt));var n=T.getData(e,at);n||(n=new vt(e)),n.toggle()})),z.on(document,_t.FOCUS_DATA_API,ht,(function(t){var e=Z.closest(t.target,mt);e&&e.classList.add(ut)})),z.on(document,_t.BLUR_DATA_API,ht,(function(t){var e=Z.closest(t.target,mt);e&&e.classList.remove(ut)}));var bt=w();if(bt){var yt=bt.fn.button;bt.fn.button=vt.jQueryInterface,bt.fn.button.Constructor=vt,bt.fn.button.noConflict=function(){return bt.fn.button=yt,vt.jQueryInterface}}function Et(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function wt(t){return t.replace(/[A-Z]/g,(function(t){return t.toLowerCase()}))}var Dt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+wt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+wt(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Et(e[t])})),e},getDataAttribute:function(t,e){return Et(t.getAttribute("data-"+wt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},Tt="carousel",It="bs.carousel",At="."+It,Ot={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},St="next",Ct="prev",Nt="left",kt="right",Pt={SLIDE:"slide"+At,SLID:"slid"+At,KEYDOWN:"keydown"+At,MOUSEENTER:"mouseenter"+At,MOUSELEAVE:"mouseleave"+At,TOUCHSTART:"touchstart"+At,TOUCHMOVE:"touchmove"+At,TOUCHEND:"touchend"+At,POINTERDOWN:"pointerdown"+At,POINTERUP:"pointerup"+At,DRAG_START:"dragstart"+At,LOAD_DATA_API:"load"+At+".data-api",CLICK_DATA_API:"click"+At+".data-api"},xt="carousel",Mt="active",Ht="slide",jt="carousel-item-right",Rt="carousel-item-left",Wt="carousel-item-next",Ut="carousel-item-prev",Ft="pointer-event",Bt={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Kt={TOUCH:"touch",PEN:"pen"},Vt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=Z.findOne(Bt.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),T.setData(t,It,this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide(St)},n.nextWhenVisible=function(){!document.hidden&&b(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide(Ct)},n.pause=function(t){t||(this._isPaused=!0),Z.findOne(Bt.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=Z.findOne(Bt.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)z.one(this._element,Pt.SLID,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?St:Ct;this._slide(i,this._items[t])}},n.dispose=function(){z.off(this._element,At),T.removeData(this._element,It),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=o({},Ot,{},t),_(Tt,t,Lt),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&z.on(this._element,Pt.KEYDOWN,(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(z.on(this._element,Pt.MOUSEENTER,(function(e){return t.pause(e)})),z.on(this._element,Pt.MOUSELEAVE,(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Kt[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};v(Z.find(Bt.ITEM_IMG,this._element)).forEach((function(t){z.on(t,Pt.DRAG_START,(function(t){return t.preventDefault()}))})),this._pointerEvent?(z.on(this._element,Pt.POINTERDOWN,(function(t){return e(t)})),z.on(this._element,Pt.POINTERUP,(function(t){return n(t)})),this._element.classList.add(Ft)):(z.on(this._element,Pt.TOUCHSTART,(function(t){return e(t)})),z.on(this._element,Pt.TOUCHMOVE,(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),z.on(this._element,Pt.TOUCHEND,(function(t){return n(t)})))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?v(Z.find(Bt.ITEM,t.parentNode)):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n=t===St,i=t===Ct,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Ct?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(Z.findOne(Bt.ACTIVE_ITEM,this._element));return z.trigger(this._element,Pt.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=Z.find(Bt.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},n._slide=function(t,e){var n,i,o,r=this,s=Z.findOne(Bt.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),c=e||s&&this._getItemByDirection(t,s),f=this._getItemIndex(c),u=Boolean(this._interval);if(t===St?(n=Rt,i=Wt,o=Nt):(n=jt,i=Ut,o=kt),c&&c.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(c,o).defaultPrevented&&s&&c){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(c),this._element.classList.contains(Ht)){c.classList.add(i),E(c),s.classList.add(n),c.classList.add(n);var h=parseInt(c.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var p=d(s);z.one(s,l,(function(){c.classList.remove(n),c.classList.remove(i),c.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout((function(){z.trigger(r._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f})}),0)})),m(s,p)}else s.classList.remove(Mt),c.classList.add(Mt),this._isSliding=!1,z.trigger(this._element,Pt.SLID,{relatedTarget:c,direction:o,from:a,to:f});u&&this.cycle()}},t.carouselInterface=function(e,n){var i=T.getData(e,It),r=o({},Ot,{},Dt.getDataAttributes(e));"object"==typeof n&&(r=o({},r,{},n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=h(this);if(n&&n.classList.contains(xt)){var i=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&T.getData(n,It).to(r),e.preventDefault()}},t.getInstance=function(t){return T.getData(t,It)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ot}}]),t}();z.on(document,Pt.CLICK_DATA_API,Bt.DATA_SLIDE,Vt.dataApiClickHandler),z.on(window,Pt.LOAD_DATA_API,(function(){for(var t=v(Z.find(Bt.DATA_RIDE)),e=0,n=t.length;e<n;e++)Vt.carouselInterface(t[e],T.getData(t[e],It))}));var Yt=w();if(Yt){var Qt=Yt.fn[Tt];Yt.fn[Tt]=Vt.jQueryInterface,Yt.fn[Tt].Constructor=Vt,Yt.fn[Tt].noConflict=function(){return Yt.fn[Tt]=Qt,Vt.jQueryInterface}}var Gt="collapse",qt="bs.collapse",Xt="."+qt,zt={toggle:!0,parent:""},Zt={toggle:"boolean",parent:"(string|element)"},$t={SHOW:"show"+Xt,SHOWN:"shown"+Xt,HIDE:"hide"+Xt,HIDDEN:"hidden"+Xt,CLICK_DATA_API:"click"+Xt+".data-api"},Jt="show",te="collapse",ee="collapsing",ne="collapsed",ie="width",oe="height",re={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},se=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=v(Z.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=v(Z.find(re.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=u(r),a=v(Z.find(s)).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),T.setData(t,qt,this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains(Jt)?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(Jt)){var n,i;this._parent&&0===(n=v(Z.find(re.ACTIVES,this._parent)).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(te)}))).length&&(n=null);var o=Z.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?T.getData(r[0],qt):null)&&i._isTransitioning)return}if(!z.trigger(this._element,$t.SHOW).defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||T.setData(e,qt,null)}));var s=this._getDimension();this._element.classList.remove(te),this._element.classList.add(ee),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove(ne),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),c=d(this._element);z.one(this._element,l,(function(){e._element.classList.remove(ee),e._element.classList.add(te),e._element.classList.add(Jt),e._element.style[s]="",e.setTransitioning(!1),z.trigger(e._element,$t.SHOWN)})),m(this._element,c),this._element.style[s]=this._element[a]+"px"}}},n.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(Jt)&&!z.trigger(this._element,$t.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",E(this._element),this._element.classList.add(ee),this._element.classList.remove(te),this._element.classList.remove(Jt);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=h(o);r&&!r.classList.contains(Jt)&&(o.classList.add(ne),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(this._element);z.one(this._element,l,(function(){t.setTransitioning(!1),t._element.classList.remove(ee),t._element.classList.add(te),z.trigger(t._element,$t.HIDDEN)})),m(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){T.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o({},zt,{},t)).toggle=Boolean(t.toggle),_(Gt,t,Zt),t},n._getDimension=function(){return this._element.classList.contains(ie)?ie:oe},n._getParent=function(){var t=this,e=this._config.parent;g(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=Z.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return v(Z.find(n,e)).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(Jt);e.length&&e.forEach((function(t){n?t.classList.remove(ne):t.classList.add(ne),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=T.getData(e,qt),r=o({},zt,{},Dt.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return T.getData(t,qt)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return zt}}]),t}();z.on(document,$t.CLICK_DATA_API,re.DATA_TOGGLE,(function(t){"A"===t.target.tagName&&t.preventDefault();var e=Dt.getDataAttributes(this),n=u(this);v(Z.find(n)).forEach((function(t){var n,i=T.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,se.collapseInterface(t,n)}))}));var ae=w();if(ae){var le=ae.fn[Gt];ae.fn[Gt]=se.jQueryInterface,ae.fn[Gt].Constructor=se,ae.fn[Gt].noConflict=function(){return ae.fn[Gt]=le,se.jQueryInterface}}for(var ce="undefined"!=typeof window&&"undefined"!=typeof document,fe=["Edge","Trident","Firefox"],ue=0,he=0;he<fe.length;he+=1)if(ce&&navigator.userAgent.indexOf(fe[he])>=0){ue=1;break}var de=ce&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),ue))}};function pe(t){return t&&"[object Function]"==={}.toString.call(t)}function ge(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function me(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function _e(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=ge(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:_e(me(t))}var ve=ce&&!(!window.MSInputMethodContext||!document.documentMode),be=ce&&/MSIE 10/.test(navigator.userAgent);function ye(t){return 11===t?ve:10===t?be:ve||be}function Ee(t){if(!t)return document.documentElement;for(var e=ye(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===ge(n,"position")?Ee(n):n:t?t.ownerDocument.documentElement:document.documentElement}function we(t){return null!==t.parentNode?we(t.parentNode):t}function De(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s,a,l=r.commonAncestorContainer;if(t!==l&&e!==l||i.contains(o))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&Ee(s.firstElementChild)!==s?Ee(l):l;var c=we(t);return c.host?De(c.host,e):De(t,we(e).host)}function Te(t){var e="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"===n||"HTML"===n){var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}return t[e]}function Ie(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function Ae(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],ye(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Oe(t){var e=t.body,n=t.documentElement,i=ye(10)&&getComputedStyle(n);return{height:Ae("Height",e,n,i),width:Ae("Width",e,n,i)}}var Le=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Se=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),Ce=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Ne=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t};function ke(t){return Ne({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Pe(t){var e={};try{if(ye(10)){e=t.getBoundingClientRect();var n=Te(t,"top"),i=Te(t,"left");e.top+=n,e.left+=i,e.bottom+=n,e.right+=i}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},r="HTML"===t.nodeName?Oe(t.ownerDocument):{},s=r.width||t.clientWidth||o.right-o.left,a=r.height||t.clientHeight||o.bottom-o.top,l=t.offsetWidth-s,c=t.offsetHeight-a;if(l||c){var f=ge(t);l-=Ie(f,"x"),c-=Ie(f,"y"),o.width-=l,o.height-=c}return ke(o)}function xe(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=ye(10),o="HTML"===e.nodeName,r=Pe(t),s=Pe(e),a=_e(t),l=ge(e),c=parseFloat(l.borderTopWidth,10),f=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=ke({top:r.top-s.top-c,left:r.left-s.left-f,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-h,u.bottom-=c-h,u.left-=f-d,u.right-=f-d,u.marginTop=h,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Te(e,"top"),o=Te(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}(u,e)),u}function Me(t){if(!t||!t.parentElement||ye())return document.documentElement;for(var e=t.parentElement;e&&"none"===ge(e,"transform");)e=e.parentElement;return e||document.documentElement}function He(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Me(t):De(t,e);if("viewport"===i)r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=xe(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Te(n),a=e?0:Te(n,"left");return ke({top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r})}(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=_e(me(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=xe(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===ge(e,"position"))return!0;var i=me(e);return!!i&&t(i)}(s))r=l;else{var c=Oe(t.ownerDocument),f=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=f+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function je(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=He(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Ne({key:t},a[t],{area:(e=a[t],e.width*e.height)});var e})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),f=c.length>0?c[0].key:l[0].key,u=t.split("-")[1];return f+(u?"-"+u:"")}function Re(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return xe(n,i?Me(e):De(e,n),i)}function We(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Ue(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function Fe(t,e,n){n=n.split("-")[0];var i=We(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Ue(a)],o}function Be(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Ke(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Be(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&pe(n)&&(e.offsets.popper=ke(e.offsets.popper),e.offsets.reference=ke(e.offsets.reference),e=n(e,t))})),e}function Ve(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Re(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=je(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=Fe(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Ke(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function Ye(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function Qe(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i<e.length;i++){var o=e[i],r=o?""+o+n:t;if("undefined"!=typeof document.body.style[r])return r}return null}function Ge(){return this.state.isDestroyed=!0,Ye(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[Qe("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function qe(t){var e=t.ownerDocument;return e?e.defaultView:window}function Xe(t,e,n,i){n.updateBound=i,qe(t).addEventListener("resize",n.updateBound,{passive:!0});var o=_e(t);return function t(e,n,i,o){var r="BODY"===e.nodeName,s=r?e.ownerDocument.defaultView:e;s.addEventListener(n,i,{passive:!0}),r||t(_e(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function ze(){this.state.eventsEnabled||(this.state=Xe(this.reference,this.options,this.state,this.scheduleUpdate))}function Ze(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,qe(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function $e(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function Je(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&$e(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var tn=ce&&/Firefox/i.test(navigator.userAgent);function en(t,e,n){var i=Be(t,(function(t){return t.name===e})),o=!!i&&t.some((function(t){return t.name===n&&t.enabled&&t.order<i.order}));if(!o){var r="`"+e+"`",s="`"+n+"`";console.warn(s+" modifier is required by "+r+" modifier in order to work, be sure to include it before "+r+"!")}return o}var nn=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],on=nn.slice(3);function rn(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=on.indexOf(t),i=on.slice(n+1).concat(on.slice(0,n));return e?i.reverse():i}var sn={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function an(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(Be(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return ke(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){$e(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var ln={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",f={start:Ce({},l,r[l]),end:Ce({},l,r[l]+r[c]-s[c])};t.offsets.popper=Ne({},s,f[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=$e(+n)?[+n,0]:an(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Ee(t.instance.popper);t.instance.reference===n&&(n=Ee(n));var i=Qe("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=He(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,f=t.offsets.popper,u={primary:function(t){var n=f[t];return f[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(f[t],l[t])),Ce({},t,n)},secondary:function(t){var n="right"===t?"left":"top",i=f[n];return f[t]>l[t]&&!e.escapeWithReference&&(i=Math.min(f[n],l[t]-("right"===t?f.width:f.height))),Ce({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";f=Ne({},f,u[e](t))})),t.offsets.popper=f,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]<r(i[l])&&(t.offsets.popper[l]=r(i[l])-n[c]),n[l]>r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!en(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",f=l?"Top":"Left",u=f.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=We(i)[c];a[d]-p<s[u]&&(t.offsets.popper[u]-=s[u]-(a[d]-p)),a[u]+p>s[d]&&(t.offsets.popper[u]+=a[u]+p-s[d]),t.offsets.popper=ke(t.offsets.popper);var g=a[u]+a[c]/2-p/2,m=ge(t.instance.popper),_=parseFloat(m["margin"+f],10),v=parseFloat(m["border"+f+"Width"],10),b=g-t.offsets.popper[u]-_-v;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Ce(n={},u,Math.round(b)),Ce(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(Ye(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=He(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Ue(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case sn.FLIP:s=[i,o];break;case sn.CLOCKWISE:s=rn(i);break;case sn.COUNTERCLOCKWISE:s=rn(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Ue(i);var c=t.offsets.popper,f=t.offsets.reference,u=Math.floor,h="left"===i&&u(c.right)>u(f.left)||"right"===i&&u(c.left)<u(f.right)||"top"===i&&u(c.bottom)>u(f.top)||"bottom"===i&&u(c.top)<u(f.bottom),d=u(c.left)<u(n.left),p=u(c.right)>u(n.right),g=u(c.top)<u(n.top),m=u(c.bottom)>u(n.bottom),_="left"===i&&d||"right"===i&&p||"top"===i&&g||"bottom"===i&&m,v=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(v&&"start"===r&&d||v&&"end"===r&&p||!v&&"start"===r&&g||!v&&"end"===r&&m),y=!!e.flipVariationsByContent&&(v&&"start"===r&&p||v&&"end"===r&&d||!v&&"start"===r&&m||!v&&"end"===r&&g),E=b||y;(h||_||E)&&(t.flipped=!0,(h||_)&&(i=s[l+1]),E&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Ne({},t.offsets.popper,Fe(t.instance.popper,t.offsets.reference,t.placement)),t=Ke(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Ue(e),t.offsets.popper=ke(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!en(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Be(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,i=e.y,o=t.offsets.popper,r=Be(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==r&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==r?r:e.gpuAcceleration,a=Ee(t.instance.popper),l=Pe(a),c={position:o.position},f=function(t,e){var n=t.offsets,i=n.popper,o=n.reference,r=Math.round,s=Math.floor,a=function(t){return t},l=r(o.width),c=r(i.width),f=-1!==["left","right"].indexOf(t.placement),u=-1!==t.placement.indexOf("-"),h=e?f||u||l%2==c%2?r:s:a,d=e?r:a;return{left:h(l%2==1&&c%2==1&&!u&&e?i.left-1:i.left),top:d(i.top),bottom:d(i.bottom),right:h(i.right)}}(t,window.devicePixelRatio<2||!tn),u="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=Qe("transform"),p=void 0,g=void 0;if(g="bottom"===u?"HTML"===a.nodeName?-a.clientHeight+f.bottom:-l.height+f.bottom:f.top,p="right"===h?"HTML"===a.nodeName?-a.clientWidth+f.right:-l.width+f.right:f.left,s&&d)c[d]="translate3d("+p+"px, "+g+"px, 0)",c[u]=0,c[h]=0,c.willChange="transform";else{var m="bottom"===u?-1:1,_="right"===h?-1:1;c[u]=g*m,c[h]=p*_,c.willChange=u+", "+h}var v={"x-placement":t.placement};return t.attributes=Ne({},v,t.attributes),t.styles=Ne({},c,t.styles),t.arrowStyles=Ne({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return Je(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&Je(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Re(o,e,t,n.positionFixed),s=je(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),Je(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},cn=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Le(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=de(this.update.bind(this)),this.options=Ne({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Ne({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Ne({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Ne({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&pe(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Se(t,[{key:"update",value:function(){return Ve.call(this)}},{key:"destroy",value:function(){return Ge.call(this)}},{key:"enableEventListeners",value:function(){return ze.call(this)}},{key:"disableEventListeners",value:function(){return Ze.call(this)}}]),t}();cn.Utils=("undefined"!=typeof window?window:global).PopperUtils,cn.placements=nn,cn.Defaults=ln;var fn="dropdown",un="bs.dropdown",hn="."+un,dn=new RegExp("38|40|27"),pn={HIDE:"hide"+hn,HIDDEN:"hidden"+hn,SHOW:"show"+hn,SHOWN:"shown"+hn,CLICK:"click"+hn,CLICK_DATA_API:"click"+hn+".data-api",KEYDOWN_DATA_API:"keydown"+hn+".data-api",KEYUP_DATA_API:"keyup"+hn+".data-api"},gn="disabled",mn="show",_n="dropup",vn="dropright",bn="dropleft",yn="dropdown-menu-right",En="position-static",wn='[data-toggle="dropdown"]',Dn=".dropdown form",Tn=".dropdown-menu",In=".navbar-nav",An=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",On="top-start",Ln="top-end",Sn="bottom-start",Cn="bottom-end",Nn="right-start",kn="left-start",Pn={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},xn={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Mn=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T.setData(t,un,this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(gn)){var e=this._menu.classList.contains(mn);t.clearMenus(),e||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains(gn)||this._menu.classList.contains(mn))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!z.trigger(e,pn.SHOW,n).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof cn)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:g(this._config.reference)&&(i=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add(En),this._popper=new cn(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!v(Z.closest(e,In)).length&&v(document.body.children).forEach((function(t){return z.on(t,"mouseover",null,(function(){}))})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Dt.toggleClass(this._menu,mn),Dt.toggleClass(e,mn),z.trigger(e,pn.SHOWN,n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(gn)&&this._menu.classList.contains(mn)){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};z.trigger(e,pn.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Dt.toggleClass(this._menu,mn),Dt.toggleClass(e,mn),z.trigger(e,pn.HIDDEN,n))}},n.dispose=function(){T.removeData(this._element,un),z.off(this._element,hn),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;z.on(this._element,pn.CLICK,(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o({},this.constructor.Default,{},Dt.getDataAttributes(this._element),{},t),_(fn,t,this.constructor.DefaultType),t},n._getMenuElement=function(){var e=t.getParentFromElement(this._element);return Z.findOne(Tn,e)},n._getPlacement=function(){var t=this._element.parentNode,e=Sn;return t.classList.contains(_n)?(e=On,this._menu.classList.contains(yn)&&(e=Ln)):t.classList.contains(vn)?e=Nn:t.classList.contains(bn)?e=kn:this._menu.classList.contains(yn)&&(e=Cn),e},n._detectNavbar=function(){return Boolean(Z.closest(this._element,".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),o({},t,{},this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=T.getData(e,un);if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=v(Z.find(wn)),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=T.getData(n[i],un),a={relatedTarget:n[i]};if(e&&"click"===e.type&&(a.clickEvent=e),s){var l=s._menu;if(r.classList.contains(mn))if(!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&r.contains(e.target)))z.trigger(r,pn.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){return z.off(t,"mouseover",null,(function(){}))})),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(mn),r.classList.remove(mn),z.trigger(r,pn.HIDDEN,a))}}},t.getParentFromElement=function(t){return h(t)||t.parentNode},t.dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||Z.closest(e.target,Tn))):dn.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!this.classList.contains(gn))){var n=t.getParentFromElement(this),i=n.classList.contains(mn);if(!i||i&&(27===e.which||32===e.which))return 27===e.which&&Z.findOne(wn,n).focus(),void t.clearMenus();var o=v(Z.find(An,n));if(o.length){var r=o.indexOf(e.target);38===e.which&&r>0&&r--,40===e.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},t.getInstance=function(t){return T.getData(t,un)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Pn}},{key:"DefaultType",get:function(){return xn}}]),t}();z.on(document,pn.KEYDOWN_DATA_API,wn,Mn.dataApiKeydownHandler),z.on(document,pn.KEYDOWN_DATA_API,Tn,Mn.dataApiKeydownHandler),z.on(document,pn.CLICK_DATA_API,Mn.clearMenus),z.on(document,pn.KEYUP_DATA_API,Mn.clearMenus),z.on(document,pn.CLICK_DATA_API,wn,(function(t){t.preventDefault(),t.stopPropagation(),Mn.dropdownInterface(this,"toggle")})),z.on(document,pn.CLICK_DATA_API,Dn,(function(t){return t.stopPropagation()}));var Hn=w();if(Hn){var jn=Hn.fn[fn];Hn.fn[fn]=Mn.jQueryInterface,Hn.fn[fn].Constructor=Mn,Hn.fn[fn].noConflict=function(){return Hn.fn[fn]=jn,Mn.jQueryInterface}}var Rn="bs.modal",Wn="."+Rn,Un={backdrop:!0,keyboard:!0,focus:!0,show:!0},Fn={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Bn={HIDE:"hide"+Wn,HIDDEN:"hidden"+Wn,SHOW:"show"+Wn,SHOWN:"shown"+Wn,FOCUSIN:"focusin"+Wn,RESIZE:"resize"+Wn,CLICK_DISMISS:"click.dismiss"+Wn,KEYDOWN_DISMISS:"keydown.dismiss"+Wn,MOUSEUP_DISMISS:"mouseup.dismiss"+Wn,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Wn,CLICK_DATA_API:"click"+Wn+".data-api"},Kn="modal-dialog-scrollable",Vn="modal-scrollbar-measure",Yn="modal-backdrop",Qn="modal-open",Gn="fade",qn="show",Xn={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},zn=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=Z.findOne(Xn.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,T.setData(t,Rn,this)}var n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Gn)&&(this._isTransitioning=!0);var n=z.trigger(this._element,Bn.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),z.on(this._element,Bn.CLICK_DISMISS,Xn.DATA_DISMISS,(function(t){return e.hide(t)})),z.on(this._dialog,Bn.MOUSEDOWN_DISMISS,(function(){z.one(e._element,Bn.MOUSEUP_DISMISS,(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},n.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!z.trigger(this._element,Bn.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Gn);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),z.off(document,Bn.FOCUSIN),this._element.classList.remove(qn),z.off(this._element,Bn.CLICK_DISMISS),z.off(this._dialog,Bn.MOUSEDOWN_DISMISS),n){var i=d(this._element);z.one(this._element,l,(function(t){return e._hideModal(t)})),m(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return z.off(t,Wn)})),z.off(document,Bn.FOCUSIN),T.removeData(this._element,Rn),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o({},Un,{},t),_("modal",t,Fn),t},n._showElement=function(t){var e=this,n=this._element.classList.contains(Gn),i=Z.findOne(Xn.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Kn)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&E(this._element),this._element.classList.add(qn),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,z.trigger(e._element,Bn.SHOWN,{relatedTarget:t})};if(n){var r=d(this._dialog);z.one(this._dialog,l,o),m(this._dialog,r)}else o()},n._enforceFocus=function(){var t=this;z.off(document,Bn.FOCUSIN),z.on(document,Bn.FOCUSIN,(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},n._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?z.on(this._element,Bn.KEYDOWN_DISMISS,(function(e){27===e.which&&(e.preventDefault(),t.hide())})):z.off(this._element,Bn.KEYDOWN_DISMISS)},n._setResizeEvent=function(){var t=this;this._isShown?z.on(window,Bn.RESIZE,(function(){return t._adjustDialog()})):z.off(window,Bn.RESIZE)},n._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(Qn),t._resetAdjustments(),t._resetScrollbar(),z.trigger(t._element,Bn.HIDDEN)}))},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Gn)?Gn:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Yn,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),z.on(this._element,Bn.CLICK_DISMISS,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())})),n&&E(this._backdrop),this._backdrop.classList.add(qn),!n)return void t();var i=d(this._backdrop);z.one(this._backdrop,l,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(qn);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Gn)){var r=d(this._backdrop);z.one(this._backdrop,l,o),m(this._backdrop,r)}else o()}else t()},n._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){v(Z.find(Xn.FIXED_CONTENT)).forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];Dt.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),v(Z.find(Xn.STICKY_CONTENT)).forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];Dt.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Dt.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Qn)},n._resetScrollbar=function(){v(Z.find(Xn.FIXED_CONTENT)).forEach((function(t){var e=Dt.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),v(Z.find(""+Xn.STICKY_CONTENT)).forEach((function(t){var e=Dt.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(Dt.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=Dt.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(Dt.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},n._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Vn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=T.getData(this,Rn),r=o({},Un,{},Dt.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)}))},t.getInstance=function(t){return T.getData(t,Rn)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Un}}]),t}();z.on(document,Bn.CLICK_DATA_API,Xn.DATA_TOGGLE,(function(t){var e=this,n=h(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),z.one(n,Bn.SHOW,(function(t){t.defaultPrevented||z.one(n,Bn.HIDDEN,(function(){b(e)&&e.focus()}))}));var i=T.getData(n,Rn);if(!i){var r=o({},Dt.getDataAttributes(n),{},Dt.getDataAttributes(this));i=new zn(n,r)}i.show(this)}));var Zn=w();if(Zn){var $n=Zn.fn.modal;Zn.fn.modal=zn.jQueryInterface,Zn.fn.modal.Constructor=zn,Zn.fn.modal.noConflict=function(){return Zn.fn.modal=$n,zn.jQueryInterface}}var Jn=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ti=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,ei=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,ni=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Jn.indexOf(n)||Boolean(t.nodeValue.match(ti)||t.nodeValue.match(ei));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},ii={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function oi(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=v(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=v(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach((function(t){ni(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var ri="tooltip",si=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ai=["sanitize","whiteList","sanitizeFn"],li={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},ci={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},fi={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:ii,popperConfig:null},ui="show",hi="out",di={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},pi="fade",gi="show",mi=".tooltip-inner",_i="hover",vi="focus",bi="click",yi="manual",Ei=function(){function t(t,e){if("undefined"==typeof cn)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T.setData(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=T.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(gi))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),T.removeData(this.element,this.constructor.DATA_KEY),z.off(this.element,this.constructor.EVENT_KEY),z.off(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=z.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add(pi);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var f=this._getContainer();T.setData(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(o),z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new cn(this.element,o,this._getPopperConfig(a)),o.classList.add(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){z.on(t,"mouseover",(function(){}))}));var u=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,z.trigger(t.element,t.constructor.Event.SHOWN),e===hi&&t._leave(null,t)};if(this.tip.classList.contains(pi)){var h=d(this.tip);z.one(this.tip,l,u),m(this.tip,h)}else u()}},n.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==ui&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(gi),"ontouchstart"in document.documentElement&&v(document.body.children).forEach((function(t){return z.off(t,"mouseover",y)})),this._activeTrigger[bi]=!1,this._activeTrigger[vi]=!1,this._activeTrigger[_i]=!1,this.tip.classList.contains(pi)){var i=d(e);z.one(e,l,n),m(e,i)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(mi,t),this.getTitle()),t.classList.remove(pi),t.classList.remove(gi)},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&g(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=oi(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return o({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:g(this.config.container)?this.config.container:Z.findOne(this.config.container)},n._getAttachment=function(t){return ci[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)z.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(e!==yi){var n=e===_i?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===_i?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;z.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),z.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},z.on(Z.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=o({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?vi:_i]=!0),e.getTipElement().classList.contains(gi)||e._hoverState===ui?e._hoverState=ui:(clearTimeout(e._timeout),e._hoverState=ui,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===ui&&e.show()}),e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||T.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),T.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?vi:_i]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=hi,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===hi&&e.hide()}),e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=Dt.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==ai.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_(ri,t,this.constructor.DefaultType),t.sanitize&&(t.template=oi(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(si);null!==e&&e.length&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(pi),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return fi}},{key:"NAME",get:function(){return ri}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return di}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return li}}]),t}(),wi=w();if(wi){var Di=wi.fn.tooltip;wi.fn.tooltip=Ei.jQueryInterface,wi.fn.tooltip.Constructor=Ei,wi.fn.tooltip.noConflict=function(){return wi.fn.tooltip=Di,Ei.jQueryInterface}}var Ti="popover",Ii=new RegExp("(^|\\s)bs-popover\\S+","g"),Ai=o({},Ei.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Oi=o({},Ei.DefaultType,{content:"(string|element|function)"}),Li="fade",Si="show",Ci=".popover-header",Ni=".popover-body",ki={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Pi=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(Z.findOne(Ci,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(Z.findOne(Ni,t),e),t.classList.remove(Li),t.classList.remove(Si)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Ii);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=T.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return T.getData(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ai}},{key:"NAME",get:function(){return Ti}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return ki}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Oi}}]),o}(Ei),xi=w();if(xi){var Mi=xi.fn.popover;xi.fn.popover=Pi.jQueryInterface,xi.fn.popover.Constructor=Pi,xi.fn.popover.noConflict=function(){return xi.fn.popover=Mi,Pi.jQueryInterface}}var Hi="scrollspy",ji="bs.scrollspy",Ri="."+ji,Wi={offset:10,method:"auto",target:""},Ui={offset:"number",method:"string",target:"(string|element)"},Fi={ACTIVATE:"activate"+Ri,SCROLL:"scroll"+Ri,LOAD_DATA_API:"load"+Ri+".data-api"},Bi={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Ki={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Vi="offset",Yi="position",Qi=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Ki.NAV_LINKS+","+this._config.target+" "+Ki.LIST_ITEMS+","+this._config.target+" ."+Bi.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,z.on(this._scrollElement,Fi.SCROLL,(function(t){return n._process(t)})),this.refresh(),this._process(),T.setData(t,ji,this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Vi:Yi,n="auto"===this._config.method?e:this._config.method,i=n===Yi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),v(Z.find(this._selector)).map((function(t){var e,o=u(t);if(o&&(e=Z.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[Dt[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){T.removeData(this._element,ji),z.off(this._scrollElement,Ri),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=o({},Wi,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=c(Hi),t.target.id=e),t.target="#"+e}return _(Hi,t,Ui),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},n._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=Z.findOne(e.join(","));n.classList.contains(Bi.DROPDOWN_ITEM)?(Z.findOne(Ki.DROPDOWN_TOGGLE,Z.closest(n,Ki.DROPDOWN)).classList.add(Bi.ACTIVE),n.classList.add(Bi.ACTIVE)):(n.classList.add(Bi.ACTIVE),Z.parents(n,Ki.NAV_LIST_GROUP).forEach((function(t){Z.prev(t,Ki.NAV_LINKS+", "+Ki.LIST_ITEMS).forEach((function(t){return t.classList.add(Bi.ACTIVE)})),Z.prev(t,Ki.NAV_ITEMS).forEach((function(t){Z.children(t,Ki.NAV_LINKS).forEach((function(t){return t.classList.add(Bi.ACTIVE)}))}))}))),z.trigger(this._scrollElement,Fi.ACTIVATE,{relatedTarget:t})},n._clear=function(){v(Z.find(this._selector)).filter((function(t){return t.classList.contains(Bi.ACTIVE)})).forEach((function(t){return t.classList.remove(Bi.ACTIVE)}))},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,ji);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,ji)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Wi}}]),t}();z.on(window,Fi.LOAD_DATA_API,(function(){v(Z.find(Ki.DATA_SPY)).forEach((function(t){return new Qi(t,Dt.getDataAttributes(t))}))}));var Gi=w();if(Gi){var qi=Gi.fn[Hi];Gi.fn[Hi]=Qi.jQueryInterface,Gi.fn[Hi].Constructor=Qi,Gi.fn[Hi].noConflict=function(){return Gi.fn[Hi]=qi,Qi.jQueryInterface}}var Xi="bs.tab",zi="."+Xi,Zi={HIDE:"hide"+zi,HIDDEN:"hidden"+zi,SHOW:"show"+zi,SHOWN:"shown"+zi,CLICK_DATA_API:"click"+zi+".data-api"},$i="dropdown-menu",Ji="active",to="disabled",eo="fade",no="show",io=".dropdown",oo=".nav, .list-group",ro=".active",so=":scope > li > .active",ao='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',lo=".dropdown-toggle",co=":scope > .dropdown-menu .active",fo=function(){function t(t){this._element=t,T.setData(this._element,Xi,this)}var n=t.prototype;return n.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Ji)||this._element.classList.contains(to))){var e,n=h(this._element),i=Z.closest(this._element,oo);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?so:ro;e=(e=v(Z.find(o,i)))[e.length-1]}var r=null;if(e&&(r=z.trigger(e,Zi.HIDE,{relatedTarget:this._element})),!(z.trigger(this._element,Zi.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){z.trigger(e,Zi.HIDDEN,{relatedTarget:t._element}),z.trigger(t._element,Zi.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){T.removeData(this._element,Xi),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?Z.children(e,ro):Z.find(so,e))[0],r=n&&o&&o.classList.contains(eo),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=d(o);o.classList.remove(no),z.one(o,l,s),m(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove(Ji);var i=Z.findOne(co,e.parentNode);i&&i.classList.remove(Ji),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(Ji),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),E(t),t.classList.contains(eo)&&t.classList.add(no),t.parentNode&&t.parentNode.classList.contains($i))&&(Z.closest(t,io)&&v(Z.find(lo)).forEach((function(t){return t.classList.add(Ji)})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,Xi)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return T.getData(t,Xi)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();z.on(document,Zi.CLICK_DATA_API,ao,(function(t){t.preventDefault(),(T.getData(this,Xi)||new fo(this)).show()}));var uo=w();if(uo){var ho=uo.fn.tab;uo.fn.tab=fo.jQueryInterface,uo.fn.tab.Constructor=fo,uo.fn.tab.noConflict=function(){return uo.fn.tab=ho,fo.jQueryInterface}}var po="bs.toast",go="."+po,mo={CLICK_DISMISS:"click.dismiss"+go,HIDE:"hide"+go,HIDDEN:"hidden"+go,SHOW:"show"+go,SHOWN:"shown"+go},_o="fade",vo="hide",bo="show",yo="showing",Eo={animation:"boolean",autohide:"boolean",delay:"number"},wo={animation:!0,autohide:!0,delay:500},Do='[data-dismiss="toast"]',To=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T.setData(t,po,this)}var n=t.prototype;return n.show=function(){var t=this;if(!z.trigger(this._element,mo.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(_o);var e=function(){t._element.classList.remove(yo),t._element.classList.add(bo),z.trigger(t._element,mo.SHOWN),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(vo),E(this._element),this._element.classList.add(yo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains(bo)&&!z.trigger(this._element,mo.HIDE).defaultPrevented){var e=function(){t._element.classList.add(vo),z.trigger(t._element,mo.HIDDEN)};if(this._element.classList.remove(bo),this._config.animation){var n=d(this._element);z.one(this._element,l,e),m(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(bo)&&this._element.classList.remove(bo),z.off(this._element,mo.CLICK_DISMISS),T.removeData(this._element,po),this._element=null,this._config=null},n._getConfig=function(t){return t=o({},wo,{},Dt.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),_("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;z.on(this._element,mo.CLICK_DISMISS,Do,(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=T.getData(this,po);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return T.getData(t,po)},e(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Eo}},{key:"Default",get:function(){return wo}}]),t}(),Io=w();if(Io){var Ao=Io.fn.toast;Io.fn.toast=To.jQueryInterface,Io.fn.toast.Constructor=To,Io.fn.toast.noConflict=function(){return Io.fn.toast=Ao,To.jQueryInterface}}return{Alert:ot,Button:vt,Carousel:Vt,Collapse:se,Dropdown:Mn,Modal:zn,Popover:Pi,ScrollSpy:Qi,Tab:fo,Toast:To,Tooltip:Ei}}));
//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.bundle.min.js.map b/dist/js/bootstrap.bundle.min.js.map
index b0ccd60584..18430771da 100644
--- a/dist/js/bootstrap.bundle.min.js.map
+++ b/dist/js/bootstrap.bundle.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","substr","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","longerTimeoutBrowsers","timeoutDuration","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","writable","protoProps","staticProps","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","bottom","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this10","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":";;;;;+jCAOA,ICOQA,EACFC,ECiBEC,EFvBFC,EAAiB,gBAWjBC,EAAS,SAAAC,GACb,GAEEA,MAhBY,IAgBCC,KAAKC,gBACXC,SAASC,eAAeJ,IAEjC,OAAOA,GAGHK,EAAc,SAAAC,GAClB,IAAIC,EAAWD,EAAQE,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWH,EAAQE,aAAa,QAEtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,KAG9D,OAAOH,GAGHI,EAAyB,SAAAL,GAC7B,IAAMC,EAAWF,EAAYC,GAE7B,OAAIC,GACKJ,SAASS,cAAcL,GAAYA,EAGrC,MAGHM,EAAyB,SAAAP,GAC7B,IAAMC,EAAWF,EAAYC,GAE7B,OAAOC,EAAWJ,SAASS,cAAcL,GAAY,MAGjDO,EAAmC,SAAAR,GACvC,IAAKA,EACH,OAAO,EAFyC,IAAAS,EAS9CC,OAAOC,iBAAiBX,GAF1BY,EAPgDH,EAOhDG,mBACAC,EARgDJ,EAQhDI,gBAGIC,EAA0BC,WAAWH,GACrCI,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCJ,EAAqBA,EAAmBK,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GAtEf,KAwEtBF,WAAWH,GAAsBG,WAAWF,KAP3C,GAULK,EAAuB,SAAAlB,GAC3B,IAAMmB,EAAMtB,SAASuB,YAAY,cAEjCD,EAAIE,UAAU7B,GAAgB,GAAM,GACpCQ,EAAQsB,cAAcH,IAGlBI,EAAY,SAAAC,GAAG,OAAKA,EAAI,IAAMA,GAAKC,UAEnCC,EAAuB,SAAC1B,EAAS2B,GACrC,IAAIC,GAAS,EAEPC,EAAmBF,EADD,EAOxB3B,EAAQ8B,iBAAiBtC,EALzB,SAASuC,IACPH,GAAS,EACT5B,EAAQgC,oBAAoBxC,EAAgBuC,KAI9CE,WAAW,WACJL,GACHV,EAAqBlB,IAEtB6B,IAGCK,EAAkB,SAACC,EAAeC,EAAQC,GAC9CC,OAAOC,KAAKF,GACTG,QAAQ,SAAAC,GACP,IApGSjB,EAoGHkB,EAAgBL,EAAYI,GAC5BE,EAAQP,EAAOK,GACfG,EAAYD,GAASpB,EAAUoB,GACnC,WAvGOnB,EAwGAmB,EAxGQ,GAAGE,SAASC,KAAKtB,GAAKuB,MAAM,eAAe,GAAGC,eA0G/D,IAAK,IAAIC,OAAOP,GAAeQ,KAAKN,GAClC,MAAM,IAAIO,MACLhB,EAAciB,cAAjB,aACWX,EADX,oBACuCG,EADvC,wBAEsBF,EAFtB,SAOJW,EAAY,SAAAC,GAChB,OAAKA,EAIE,GAAGC,MAAMT,KAAKQ,GAHZ,IAMLE,EAAY,SAAAxD,GAChB,QAAKA,OAIDA,EAAQyD,OAASzD,EAAQ0D,YAAc1D,EAAQ0D,WAAWD,SAC3B,SAA1BzD,EAAQyD,MAAME,SACkB,SAArC3D,EAAQ0D,WAAWD,MAAME,SACI,WAA7B3D,EAAQyD,MAAMG,cA8BdC,EAAO,WAAA,OAAM,cAEbC,EAAS,SAAA9D,GAAO,OAAIA,EAAQ+D,cAE5BC,EAAY,WAAM,IACdC,EAAWvD,OAAXuD,OAER,OAAIA,IAAWpE,SAASqE,KAAKC,aAAa,kBACjCF,EAGF,MC3KHG,GACE/E,EAAY,GACdC,EAAK,EACF,CACL+E,IADK,SACDrE,EAASsE,EAAKC,GACW,oBAAhBvE,EAAQsE,MACjBtE,EAAQsE,IAAM,CACZA,IAAAA,EACAhF,GAAAA,GAEFA,KAGFD,EAAUW,EAAQsE,IAAIhF,IAAMiF,GAE9BC,IAZK,SAYDxE,EAASsE,GACX,IAAKtE,GAAkC,oBAAhBA,EAAQsE,IAC7B,OAAO,KAGT,IAAMG,EAAgBzE,EAAQsE,IAC9B,OAAIG,EAAcH,MAAQA,EACjBjF,EAAUoF,EAAcnF,IAG1B,MAEToF,OAxBK,SAwBE1E,EAASsE,GACd,GAA2B,oBAAhBtE,EAAQsE,IAAnB,CAIA,IAAMG,EAAgBzE,EAAQsE,IAC1BG,EAAcH,MAAQA,WACjBjF,EAAUoF,EAAcnF,WACxBU,EAAQsE,SAMjBK,EAAO,CACXC,QADW,SACHC,EAAUP,EAAKC,GACrBH,EAAQC,IAAIQ,EAAUP,EAAKC,IAE7BO,QAJW,SAIHD,EAAUP,GAChB,OAAOF,EAAQI,IAAIK,EAAUP,IAE/BS,WAPW,SAOAF,EAAUP,GACnBF,EAAQM,OAAOG,EAAUP,OCnDFU,QAAQC,UAA7BC,EAAAA,EAAAA,QAASC,EAAAA,EAAAA,QACXC,EAAOJ,QAAQC,UAAUI,iBACzBC,EAAUN,QAAQC,UAAU3E,cAC5BiF,EAAoB,SAACC,EAAWC,GAGlC,OAFe,IAAIC,YAAYF,EAAWC,IAwB5C,GAnBkC,mBAAvB/E,OAAOgF,cAChBH,EAAoB,SAACC,EAAWC,GAC9BA,EAASA,GAAU,CAAEE,SAAS,EAAOC,YAAY,EAAOC,OAAQ,MAEhE,IAAM1E,EAAMtB,SAASuB,YAAY,eAGjC,OADAD,EAAI2E,gBAAgBN,EAAWC,EAAOE,QAASF,EAAOG,WAAYH,EAAOI,QAClE1E,OAKH5B,EAAIM,SAASuB,YAAY,gBAE7BC,UAAU,aAAa,GAAM,GAC/B9B,EAAEwG,iBACKxG,EAAEyG,kBAGmB,CAC5B,IAAMC,EAAqBC,MAAMjB,UAAUc,eAE3CG,MAAMjB,UAAUc,eAAiB,WAC1BI,KAAKP,aAIVK,EAAmBnD,KAAKqD,MACxB7D,OAAO8D,eAAeD,KAAM,mBAAoB,CAC9C3B,IAD8C,WAE5C,OAAO,GAET6B,cAAc,MAMpB,IAAMC,EAAuC,WAC3C,IAAM/G,EAAIgG,EAAkB,YAAa,CACvCK,YAAY,IAGR5F,EAAUH,SAAS0G,cAAc,OAKvC,OAJAvG,EAAQ8B,iBAAiB,YAAa,WAAA,OAAM,OAE5CvC,EAAEwG,iBACF/F,EAAQsB,cAAc/B,GACfA,EAAEyG,iBAVkC,GAaxCd,IACHA,EAAUF,QAAQC,UAAUuB,mBAAqBxB,QAAQC,UAAUwB,uBAGhEtB,IACHA,EAAU,SAAUlF,GAClB,IAAID,EAAUmG,KAEd,EAAG,CACD,GAAIjB,EAAQpC,KAAK9C,EAASC,GACxB,OAAOD,EAGTA,EAAUA,EAAQ0G,eAAiB1G,EAAQ0D,iBACxB,OAAZ1D,GAAyC,IAArBA,EAAQyB,UAErC,OAAO,OAIX,IAAMkF,EAAqB,YACA,WACzB,IAAM3G,EAAUH,SAAS0G,cAAc,OAEvC,IACEvG,EAAQqF,iBAAiB,YACzB,MAAOuB,GACP,OAAO,EAGT,OAAO,GATkB,KAazBxB,EAAO,SAAUnF,GACf,IAAK0G,EAAmBzD,KAAKjD,GAC3B,OAAOkG,KAAKd,iBAAiBpF,GAG/B,IAAM4G,EAAQC,QAAQX,KAAK7G,IAEtBuH,IACHV,KAAK7G,GAAKG,EAAO,UAGnB,IAAI6D,EAAW,KACf,IACErD,EAAWA,EAAS8G,QAAQJ,EAAjB,IAAyCR,KAAK7G,IACzDgE,EAAW6C,KAAKd,iBAAiBpF,GAFnC,QAIO4G,GACHV,KAAKa,gBAAgB,MAIzB,OAAO1D,GAGTgC,EAAU,SAAUrF,GAClB,IAAK0G,EAAmBzD,KAAKjD,GAC3B,OAAOkG,KAAK7F,cAAcL,GAG5B,IAAMiF,EAAUE,EAAKtC,KAAKqD,KAAMlG,GAEhC,MAA0B,oBAAfiF,EAAQ,GACVA,EAAQ,GAGV,OC5HX,IAAM+B,EAAIjD,IACJkD,EAAiB,qBACjBC,EAAiB,OACjBC,EAAgB,OAChBC,EAAgB,SAChBC,EAAgB,GAClBC,EAAW,EACTC,EAAe,CACnBC,WAAY,YACZC,WAAY,YAERC,EAAe,CACnB,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,UASF,SAASC,EAAY5H,EAAS6H,GAC5B,OAAQA,GAAUA,EAAP,KAAeN,KAAiBvH,EAAQuH,UAAYA,IAGjE,SAASO,EAAS9H,GAChB,IAAM6H,EAAMD,EAAY5H,GAKxB,OAHAA,EAAQuH,SAAWM,EACnBP,EAAcO,GAAOP,EAAcO,IAAQ,GAEpCP,EAAcO,GAGvB,SAASE,EAASC,EAAOhI,GAEH,OAAhBgI,EAAMC,OAAkBb,EAAclE,KAAK8E,EAAME,QACnDF,EAAMC,MAA2B,OAAnBD,EAAMG,SAAoBH,EAAMI,QAAUJ,EAAMG,UAGhEH,EAAMK,eAAiBrI,EAqCzB,SAASsI,EAAYC,EAAQC,EAASC,QAA2B,IAA3BA,IAAAA,EAAqB,MAGzD,IAFA,IAAMC,EAAepG,OAAOC,KAAKgG,GAExBI,EAAI,EAAGC,EAAMF,EAAaG,OAAQF,EAAIC,EAAKD,IAAK,CACvD,IAAMX,EAAQO,EAAOG,EAAaC,IAElC,GAAIX,EAAMc,kBAAoBN,GAAWR,EAAMS,qBAAuBA,EACpE,OAAOT,EAIX,OAAO,KAGT,SAASe,EAAgBC,EAAmBR,EAASS,GACnD,IAAMC,EAAgC,iBAAZV,EACpBM,EAAkBI,EAAaD,EAAeT,EAGhDW,EAAYH,EAAkBjC,QAAQI,EAAgB,IACpDiC,EAAS5B,EAAa2B,GAY5B,OAVIC,IACFD,EAAYC,GAGGzB,EAAa0B,QAAQF,IAAc,IAGlDA,EAAYH,GAGP,CAACE,EAAYJ,EAAiBK,GAGvC,SAASG,EAAWtJ,EAASgJ,EAAmBR,EAASS,EAAcM,GACrE,GAAiC,iBAAtBP,GAAmChJ,EAA9C,CAIKwI,IACHA,EAAUS,EACVA,EAAe,MAP4D,IAAAO,EAU5BT,EAAgBC,EAAmBR,EAASS,GAAtFC,EAVsEM,EAAA,GAU1DV,EAV0DU,EAAA,GAUzCL,EAVyCK,EAAA,GAWvEjB,EAAST,EAAS9H,GAClByJ,EAAWlB,EAAOY,KAAeZ,EAAOY,GAAa,IACrDO,EAAapB,EAAYmB,EAAUX,EAAiBI,EAAaV,EAAU,MAEjF,GAAIkB,EACFA,EAAWH,OAASG,EAAWH,QAAUA,MAD3C,CAMA,IAAM1B,EAAMD,EAAYkB,EAAiBE,EAAkBjC,QAAQG,EAAgB,KAC7EyC,EAAKT,EAhFb,SAAoClJ,EAASC,EAAU0J,GACrD,OAAO,SAASnB,EAAQR,GAGtB,IAFA,IAAM4B,EAAc5J,EAAQqF,iBAAiBpF,GAElC4J,EAAW7B,EAAX6B,OAAkBA,GAAUA,IAAW1D,KAAM0D,EAASA,EAAOnG,WACtE,IAAK,IAAIiF,EAAIiB,EAAYf,OAAQF,KAC/B,GAAIiB,EAAYjB,KAAOkB,EAOrB,OANA9B,EAASC,EAAO6B,GAEZrB,EAAQe,QACVO,EAAaC,IAAI/J,EAASgI,EAAME,KAAMyB,GAGjCA,EAAGK,MAAMH,EAAQ,CAAC7B,IAM/B,OAAO,MA8DPiC,CAA2BjK,EAASwI,EAASS,GA5FjD,SAA0BjJ,EAAS2J,GACjC,OAAO,SAASnB,EAAQR,GAMtB,OALAD,EAASC,EAAOhI,GACZwI,EAAQe,QACVO,EAAaC,IAAI/J,EAASgI,EAAME,KAAMyB,GAGjCA,EAAGK,MAAMhK,EAAS,CAACgI,KAsF1BkC,CAAiBlK,EAASwI,GAE5BmB,EAAGlB,mBAAqBS,EAAaV,EAAU,KAC/CmB,EAAGb,gBAAkBA,EACrBa,EAAGJ,OAASA,EACZI,EAAGpC,SAAWM,EACd4B,EAAS5B,GAAO8B,EAEhB3J,EAAQ8B,iBAAiBqH,EAAWQ,EAAIT,KAG1C,SAASiB,EAAcnK,EAASuI,EAAQY,EAAWX,EAASC,GAC1D,IAAMkB,EAAKrB,EAAYC,EAAOY,GAAYX,EAASC,GAE9CkB,IAIL3J,EAAQgC,oBAAoBmH,EAAWQ,EAAI7C,QAAQ2B,WAC5CF,EAAOY,GAAWQ,EAAGpC,WAgB9B,IAAMuC,EAAe,CACnBM,GADmB,SAChBpK,EAASgI,EAAOQ,EAASS,GAC1BK,EAAWtJ,EAASgI,EAAOQ,EAASS,GAAc,IAGpDoB,IALmB,SAKfrK,EAASgI,EAAOQ,EAASS,GAC3BK,EAAWtJ,EAASgI,EAAOQ,EAASS,GAAc,IAGpDc,IATmB,SASf/J,EAASgJ,EAAmBR,EAASS,GACvC,GAAiC,iBAAtBD,GAAmChJ,EAA9C,CADqD,IAAAsK,EAKJvB,EAAgBC,EAAmBR,EAASS,GAAtFC,EAL8CoB,EAAA,GAKlCxB,EALkCwB,EAAA,GAKjBnB,EALiBmB,EAAA,GAM/CC,EAAcpB,IAAcH,EAC5BT,EAAST,EAAS9H,GAClBwK,EAA8C,MAAhCxB,EAAkByB,OAAO,GAE7C,GAA+B,oBAApB3B,EAAX,CAUI0B,GACFlI,OAAOC,KAAKgG,GACT/F,QAAQ,SAAAkI,IA5CjB,SAAkC1K,EAASuI,EAAQY,EAAWwB,GAC5D,IAAMC,EAAoBrC,EAAOY,IAAc,GAE/C7G,OAAOC,KAAKqI,GACTpI,QAAQ,SAAAqI,GACP,GAAIA,EAAWxB,QAAQsB,IAAc,EAAG,CACtC,IAAM3C,EAAQ4C,EAAkBC,GAEhCV,EAAcnK,EAASuI,EAAQY,EAAWnB,EAAMc,gBAAiBd,EAAMS,uBAqCrEqC,CAAyB9K,EAASuI,EAAQmC,EAAc1B,EAAkB+B,OAAO,MAIvF,IAAMH,EAAoBrC,EAAOY,IAAc,GAC/C7G,OAAOC,KAAKqI,GACTpI,QAAQ,SAAAwI,GACP,IAAMH,EAAaG,EAAYjE,QAAQM,EAAe,IAEtD,IAAKkD,GAAevB,EAAkBK,QAAQwB,IAAe,EAAG,CAC9D,IAAM7C,EAAQ4C,EAAkBI,GAEhCb,EAAcnK,EAASuI,EAAQY,EAAWnB,EAAMc,gBAAiBd,EAAMS,2BAzB7E,CAEE,IAAKF,IAAWA,EAAOY,GACrB,OAGFgB,EAAcnK,EAASuI,EAAQY,EAAWL,EAAiBI,EAAaV,EAAU,SAwBtFyC,QAjDmB,SAiDXjL,EAASgI,EAAOkD,GACtB,GAAqB,iBAAVlD,IAAuBhI,EAChC,OAAO,KAGT,IAIImL,EAJEhC,EAAYnB,EAAMjB,QAAQI,EAAgB,IAC1CoD,EAAcvC,IAAUmB,EACxBiC,EAAWzD,EAAa0B,QAAQF,IAAc,EAGhDxD,GAAU,EACV0F,GAAiB,EACjBrF,GAAmB,EACnB7E,EAAM,KAmDV,OAjDIoJ,GAAetD,IACjBkE,EAAclE,EAAEf,MAAM8B,EAAOkD,GAE7BjE,EAAEjH,GAASiL,QAAQE,GACnBxF,GAAWwF,EAAYG,uBACvBD,GAAkBF,EAAYI,gCAC9BvF,EAAmBmF,EAAYK,sBAG7BJ,GACFjK,EAAMtB,SAASuB,YAAY,eACvBC,UAAU8H,EAAWxD,GAAS,GAElCxE,EAAMoE,EAAkByC,EAAO,CAC7BrC,QAAAA,EACAC,YAAY,IAKI,oBAATsF,GACT5I,OAAOC,KAAK2I,GACT1I,QAAQ,SAAA8B,GACPhC,OAAO8D,eAAejF,EAAKmD,EAAK,CAC9BE,IAD8B,WAE5B,OAAO0G,EAAK5G,QAMlB0B,IACF7E,EAAI4E,iBAECO,GACHhE,OAAO8D,eAAejF,EAAK,mBAAoB,CAC7CqD,IAAK,WAAA,OAAM,MAKb6G,GACFrL,EAAQsB,cAAcH,GAGpBA,EAAI6E,kBAA2C,oBAAhBmF,GACjCA,EAAYpF,iBAGP5E,ICvULsK,EAAiB,CACrBvG,QADqB,SACblF,EAASC,GACf,OAAOiF,EAAQpC,KAAK9C,EAASC,IAG/BmF,KALqB,SAKhBnF,EAAUD,GACb,YADiD,IAApCA,IAAAA,EAAUH,SAAS6L,iBACzBC,EAAO7I,KAAK9C,EAASC,IAG9BqF,QATqB,SASbrF,EAAUD,GAChB,YADoD,IAApCA,IAAAA,EAAUH,SAAS6L,iBAC5BpG,EAAQxC,KAAK9C,EAASC,IAG/B2L,SAbqB,SAaZ5L,EAASC,GAAU,IAAA4L,EAAA1F,KACpByF,EAAWvI,EAAUrD,EAAQ4L,UAEnC,OAAOA,EAASE,OAAO,SAAAC,GAAK,OAAIF,EAAK3G,QAAQ6G,EAAO9L,MAGtD+L,QAnBqB,SAmBbhM,EAASC,GAKf,IAJA,IAAM+L,EAAU,GAEZC,EAAWjM,EAAQ0D,WAEhBuI,GAAYA,EAASxK,WAAayK,KAAKC,cA1BhC,IA0BgDF,EAASxK,UACjE0E,KAAKjB,QAAQ+G,EAAUhM,IACzB+L,EAAQI,KAAKH,GAGfA,EAAWA,EAASvI,WAGtB,OAAOsI,GAGT7G,QAnCqB,SAmCbnF,EAASC,GACf,OAAOkF,EAAQrC,KAAK9C,EAASC,IAG/BoM,KAvCqB,SAuChBrM,EAASC,GAKZ,IAJA,IAAMqM,EAAW,GAEbC,EAAWvM,EAAQwM,gBAEhBD,GAAYA,EAAS9K,WAAayK,KAAKC,cA9ChC,IA8CgDI,EAAS9K,UACjE0E,KAAKjB,QAAQqH,EAAUtM,IACzBqM,EAASF,KAAKG,GAGhBA,EAAWA,EAASC,gBAGtB,OAAOF,IC5CLG,EAAW,WACXC,EAAS,IAAOD,EAOhBvG,GAAQ,CACZyG,MAAK,QAAUD,EACfE,OAAM,SAAWF,EACjBG,eAAc,QAAUH,EATL,aAYfI,GACG,QADHA,GAEE,OAFFA,GAGE,OASFC,cACJ,SAAAA,EAAY/M,GACVmG,KAAK6G,SAAWhN,EAEZmG,KAAK6G,UACPrI,EAAKC,QAAQ5E,EAASyM,EAAUtG,iCAYpC8G,MAAA,SAAMjN,GACJ,IAAIkN,EAAc/G,KAAK6G,SACnBhN,IACFkN,EAAc/G,KAAKgH,gBAAgBnN,IAGrC,IAAMoN,EAAcjH,KAAKkH,mBAAmBH,GAExB,OAAhBE,GAAwBA,EAAYpH,kBAIxCG,KAAKmH,eAAeJ,MAGtBK,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,GAC/BtG,KAAK6G,SAAW,QAKlBG,gBAAA,SAAgBnN,GACd,IAAIwN,EAASjN,EAAuBP,GAMpC,OAJKwN,IACHA,EAAS/B,EAAetG,QAAQnF,EAAvB,IAAoC8M,KAGxCU,KAGTH,mBAAA,SAAmBrN,GACjB,OAAO8J,EAAamB,QAAQjL,EAASkG,GAAMyG,UAG7CW,eAAA,SAAetN,GAAS,IAAA6L,EAAA1F,KAGtB,GAFAnG,EAAQyN,UAAUC,OAAOZ,IAEpB9M,EAAQyN,UAAUE,SAASb,IAAhC,CAKA,IAAMlM,EAAqBJ,EAAiCR,GAE5D8J,EACGO,IAAIrK,EAASR,EAAgB,WAAA,OAAMqM,EAAK+B,gBAAgB5N,KAC3D0B,EAAqB1B,EAASY,QAR5BuF,KAAKyH,gBAAgB5N,MAWzB4N,gBAAA,SAAgB5N,GACVA,EAAQ0D,YACV1D,EAAQ0D,WAAWmK,YAAY7N,GAGjC8J,EAAamB,QAAQjL,EAASkG,GAAM0G,WAK/BkB,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,GAEzBlI,IACHA,EAAO,IAAIwI,EAAM5G,OAGJ,UAAX/D,GACFmC,EAAKnC,GAAQ+D,WAKZ6H,cAAP,SAAqBC,GACnB,OAAO,SAAUjG,GACXA,GACFA,EAAMjC,iBAGRkI,EAAchB,MAAM9G,UAIjB+H,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,4CA3F7B,MAvCY,iBA2IhB3C,EACGM,GAAGvK,SAAUqG,GAAM2G,eAtIX,yBAsI6CE,GAAMiB,cAAc,IAAIjB,KAEhF,IAAM9F,GAAIjD,IAUV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAaoD,GAAMe,gBACnB7G,GAAE0C,GAAF,MAAWyE,YAAcrB,GACzB9F,GAAE0C,GAAF,MAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,MAAawE,GACNpB,GAAMe,iBCrKjB,IAEMrB,GAAW,YACXC,GAAS,IAAOD,GAGhBK,GACI,SADJA,GAEI,MAFJA,GAGG,QAGHwB,GACgB,0BADhBA,GAES,0BAFTA,GAGG,6BAHHA,GAII,UAJJA,GAKI,OAGJpI,GAAQ,CACZ2G,eAAc,QAAUH,GAjBL,YAkBnB6B,eAAc,QAAU7B,GAlBL,YAmBnB8B,cAAa,OAAS9B,GAnBH,aA4Bf+B,cACJ,SAAAA,EAAYzO,GACVmG,KAAK6G,SAAWhN,EAChB2E,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAWlCuI,OAAA,WACE,IAAIC,GAAqB,EACrBC,GAAiB,EAEf1B,EAAczB,EAAetG,QACjCgB,KAAK6G,SACLsB,IAGF,GAAIpB,EAAa,CACf,IAAM2B,EAAQpD,EAAenG,QAAQgJ,GAAgBnI,KAAK6G,UAE1D,GAAI6B,GAAwB,UAAfA,EAAM3G,KAAkB,CACnC,GAAI2G,EAAMC,SACR3I,KAAK6G,SAASS,UAAUE,SAASb,IACjC6B,GAAqB,MAChB,CACL,IAAMI,EAAgBtD,EAAenG,QAAQgJ,GAAiBpB,GAE1D6B,GACFA,EAActB,UAAUC,OAAOZ,IAInC,GAAI6B,EAAoB,CACtB,GAAIE,EAAM1K,aAAa,aACrB+I,EAAY/I,aAAa,aACzB0K,EAAMpB,UAAUE,SAAS,aACzBT,EAAYO,UAAUE,SAAS,YAC/B,OAGFkB,EAAMC,SAAW3I,KAAK6G,SAASS,UAAUE,SAASb,IAClDhD,EAAamB,QAAQ4D,EAAO,UAG9BA,EAAMG,QACNJ,GAAiB,GAIjBA,GACFzI,KAAK6G,SAASiC,aAAa,gBACxB9I,KAAK6G,SAASS,UAAUE,SAASb,KAGlC6B,GACFxI,KAAK6G,SAASS,UAAUiB,OAAO5B,OAInCS,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,IAC/BtG,KAAK6G,SAAW,QAKXc,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,IAEzBlI,IACHA,EAAO,IAAIkK,EAAOtI,OAGL,WAAX/D,GACFmC,EAAKnC,UAKJ8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CA9E7B,MAxCY,iBAgIhB3C,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAA6B,SAAAtG,GAC3EA,EAAMjC,iBAEN,IAAImJ,EAASlH,EAAM6B,OACdqF,EAAOzB,UAAUE,SAASb,MAC7BoC,EAASzD,EAAetG,QAAQ+J,EAAQZ,KAG1C,IAAI/J,EAAOI,EAAKG,QAAQoK,EAAQzC,IAC3BlI,IACHA,EAAO,IAAIkK,GAAOS,IAGpB3K,EAAKmK,WAGP5E,EAAaM,GAAGvK,SAAUqG,GAAMqI,eAAgBD,GAA6B,SAAAtG,GAC3E,IAAMkH,EAASzD,EAAetG,QAAQ6C,EAAM6B,OAAQyE,IAEhDY,GACFA,EAAOzB,UAAU0B,IAAIrC,MAIzBhD,EAAaM,GAAGvK,SAAUqG,GAAMsI,cAAeF,GAA6B,SAAAtG,GAC1E,IAAMkH,EAASzD,EAAetG,QAAQ6C,EAAM6B,OAAQyE,IAEhDY,GACFA,EAAOzB,UAAUC,OAAOZ,MAI5B,IAAM7F,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,OAC3B1C,GAAE0C,GAAF,OAAa8E,GAAOX,gBACpB7G,GAAE0C,GAAF,OAAWyE,YAAcK,GAEzBxH,GAAE0C,GAAF,OAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,OAAawE,GACNM,GAAOX,iBC5LlB,SAASsB,GAAcC,GACrB,MAAY,SAARA,GAIQ,UAARA,IAIAA,IAAQC,OAAOD,GAAKxM,WACfyM,OAAOD,GAGJ,KAARA,GAAsB,SAARA,EACT,KAGFA,GAGT,SAASE,GAAiBjL,GACxB,OAAOA,EAAIyC,QAAQ,SAAU,SAAAyI,GAAG,OAAIA,EAAIxM,gBAG1C,IAAMyM,GAAc,CAClBC,iBADkB,SACD1P,EAASsE,EAAK3B,GAC7B3C,EAAQiP,aAAR,QAA6BM,GAAiBjL,GAAQ3B,IAGxDgN,oBALkB,SAKE3P,EAASsE,GAC3BtE,EAAQgH,gBAAR,QAAgCuI,GAAiBjL,KAGnDsL,kBATkB,SASA5P,GAChB,IAAKA,EACH,MAAO,GAGT,IAAM6P,EAAUC,EAAA,GACX9P,EAAQ+P,SAOb,OAJAzN,OAAOC,KAAKsN,GAAYrN,QAAQ,SAAA8B,GAC9BuL,EAAWvL,GAAO8K,GAAcS,EAAWvL,MAGtCuL,GAGTG,iBAzBkB,SAyBDhQ,EAASsE,GACxB,OAAO8K,GAAcpP,EAAQE,aAAR,QAA6BqP,GAAiBjL,MAGrE2L,OA7BkB,SA6BXjQ,GACL,IAAMkQ,EAAOlQ,EAAQmQ,wBAErB,MAAO,CACLC,IAAKF,EAAKE,IAAMvQ,SAASqE,KAAKmM,UAC9BC,KAAMJ,EAAKI,KAAOzQ,SAASqE,KAAKqM,aAIpCC,SAtCkB,SAsCTxQ,GACP,MAAO,CACLoQ,IAAKpQ,EAAQyQ,UACbH,KAAMtQ,EAAQ0Q,aAIlBC,YA7CkB,SA6CN3Q,EAAS4Q,GACd5Q,IAIDA,EAAQyN,UAAUE,SAASiD,GAC7B5Q,EAAQyN,UAAUC,OAAOkD,GAEzB5Q,EAAQyN,UAAU0B,IAAIyB,MCtDtBC,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAOhBqE,GAAU,CACdC,SAAU,IACVC,UAAU,EACVC,OAAO,EACPC,MAAO,QACPC,MAAM,EACNC,OAAO,GAGHC,GAAc,CAClBN,SAAU,mBACVC,SAAU,UACVC,MAAO,mBACPC,MAAO,mBACPC,KAAM,UACNC,MAAO,WAGHE,GACE,OADFA,GAEE,OAFFA,GAGE,OAHFA,GAIG,QAGHpL,GAAQ,CACZqL,MAAK,QAAU7E,GACf8E,KAAI,OAAS9E,GACb+E,QAAO,UAAY/E,GACnBgF,WAAU,aAAehF,GACzBiF,WAAU,aAAejF,GACzBkF,WAAU,aAAelF,GACzBmF,UAAS,YAAcnF,GACvBoF,SAAQ,WAAapF,GACrBqF,YAAW,cAAgBrF,GAC3BsF,UAAS,YAActF,GACvBuF,WAAU,YAAcvF,GACxBwF,cAAa,OAASxF,GA3CH,YA4CnBG,eAAc,QAAUH,GA5CL,aA+CfI,GACM,WADNA,GAEI,SAFJA,GAGG,QAHHA,GAIG,sBAJHA,GAKE,qBALFA,GAME,qBANFA,GAOE,qBAPFA,GASW,gBAGXwB,GAAW,CACf6D,OAAQ,UACRC,YAAa,wBACbC,KAAM,iBACNC,SAAU,qBACVC,UAAW,2CACXC,WAAY,uBACZC,WAAY,gCACZC,UAAW,0BAGPC,GAAc,CAClBC,MAAO,QACPC,IAAK,OAQDC,cACJ,SAAAA,EAAY9S,EAASoC,GACnB+D,KAAK4M,OAAS,KACd5M,KAAK6M,UAAY,KACjB7M,KAAK8M,eAAiB,KACtB9M,KAAK+M,WAAY,EACjB/M,KAAKgN,YAAa,EAClBhN,KAAKiN,aAAe,KACpBjN,KAAKkN,YAAc,EACnBlN,KAAKmN,YAAc,EAEnBnN,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAK6G,SAAWhN,EAChBmG,KAAKsN,mBAAqBhI,EAAenG,QAAQgJ,GAASkE,WAAYrM,KAAK6G,UAC3E7G,KAAKuN,gBAAkB,iBAAkB7T,SAAS6L,iBAAmBiI,UAAUC,eAAiB,EAChGzN,KAAK0N,cAAgB/M,QAAQpG,OAAOoT,cAAgBpT,OAAOqT,gBAE3D5N,KAAK6N,qBACLrP,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAelC8N,KAAA,WACO9N,KAAKgN,YACRhN,KAAK+N,OAAO5C,OAIhB6C,gBAAA,YAGOtU,SAASuU,QAAU5Q,EAAU2C,KAAK6G,WACrC7G,KAAK8N,UAIT5H,KAAA,WACOlG,KAAKgN,YACRhN,KAAK+N,OAAO5C,OAIhBJ,MAAA,SAAMlJ,GACCA,IACH7B,KAAK+M,WAAY,GAGfzH,EAAenG,QAAQgJ,GAASiE,UAAWpM,KAAK6G,YAClD9L,EAAqBiF,KAAK6G,UAC1B7G,KAAKkO,OAAM,IAGbC,cAAcnO,KAAK6M,WACnB7M,KAAK6M,UAAY,QAGnBqB,MAAA,SAAMrM,GACCA,IACH7B,KAAK+M,WAAY,GAGf/M,KAAK6M,YACPsB,cAAcnO,KAAK6M,WACnB7M,KAAK6M,UAAY,MAGf7M,KAAKoN,SAAWpN,KAAKoN,QAAQxC,WAAa5K,KAAK+M,YACjD/M,KAAK6M,UAAYuB,aACd1U,SAAS2U,gBAAkBrO,KAAKgO,gBAAkBhO,KAAK8N,MAAMQ,KAAKtO,MACnEA,KAAKoN,QAAQxC,cAKnB2D,GAAA,SAAGC,GAAO,IAAA9I,EAAA1F,KACRA,KAAK8M,eAAiBxH,EAAenG,QAAQgJ,GAAS8D,YAAajM,KAAK6G,UACxE,IAAM4H,EAAczO,KAAK0O,cAAc1O,KAAK8M,gBAE5C,KAAI0B,EAAQxO,KAAK4M,OAAOlK,OAAS,GAAK8L,EAAQ,GAI9C,GAAIxO,KAAKgN,WACPrJ,EAAaO,IAAIlE,KAAK6G,SAAU9G,GAAMsL,KAAM,WAAA,OAAM3F,EAAK6I,GAAGC,SAD5D,CAKA,GAAIC,IAAgBD,EAGlB,OAFAxO,KAAK+K,aACL/K,KAAKkO,QAIP,IAAMS,EAAYH,EAAQC,EACxBtD,GACAA,GAEFnL,KAAK+N,OAAOY,EAAW3O,KAAK4M,OAAO4B,QAGrCpH,QAAA,WACEzD,EAAaC,IAAI5D,KAAK6G,SAAUN,IAChC/H,EAAKI,WAAWoB,KAAK6G,SAAUP,IAE/BtG,KAAK4M,OAAS,KACd5M,KAAKoN,QAAU,KACfpN,KAAK6G,SAAW,KAChB7G,KAAK6M,UAAY,KACjB7M,KAAK+M,UAAY,KACjB/M,KAAKgN,WAAa,KAClBhN,KAAK8M,eAAiB,KACtB9M,KAAKsN,mBAAqB,QAK5BD,WAAA,SAAWpR,GAMT,OALAA,EAAM0N,EAAA,GACDgB,GADC,GAED1O,GAELF,EAAgB2O,GAAMzO,EAAQiP,IACvBjP,KAGT2S,aAAA,WACE,IAAMC,EAAYrV,KAAKsV,IAAI9O,KAAKmN,aAEhC,KAAI0B,GAvNgB,IAuNpB,CAIA,IAAMF,EAAYE,EAAY7O,KAAKmN,YAEnCnN,KAAKmN,YAAc,EAGfwB,EAAY,GACd3O,KAAKkG,OAIHyI,EAAY,GACd3O,KAAK8N,WAITD,mBAAA,WAAqB,IAAAkB,EAAA/O,KACfA,KAAKoN,QAAQvC,UACflH,EACGM,GAAGjE,KAAK6G,SAAU9G,GAAMuL,QAAS,SAAAzJ,GAAK,OAAIkN,EAAKC,SAASnN,KAGlC,UAAvB7B,KAAKoN,QAAQrC,QACfpH,EACGM,GAAGjE,KAAK6G,SAAU9G,GAAMwL,WAAY,SAAA1J,GAAK,OAAIkN,EAAKhE,MAAMlJ,KAC3D8B,EACGM,GAAGjE,KAAK6G,SAAU9G,GAAMyL,WAAY,SAAA3J,GAAK,OAAIkN,EAAKb,MAAMrM,MAGzD7B,KAAKoN,QAAQnC,OAASjL,KAAKuN,iBAC7BvN,KAAKiP,6BAITA,wBAAA,WAA0B,IAAAC,EAAAlP,KAClBmP,EAAQ,SAAAtN,GACRqN,EAAKxB,eAAiBlB,GAAY3K,EAAMuN,YAAYnS,eACtDiS,EAAKhC,YAAcrL,EAAMwN,QACfH,EAAKxB,gBACfwB,EAAKhC,YAAcrL,EAAMyN,QAAQ,GAAGD,UAalCE,EAAM,SAAA1N,GACNqN,EAAKxB,eAAiBlB,GAAY3K,EAAMuN,YAAYnS,iBACtDiS,EAAK/B,YAActL,EAAMwN,QAAUH,EAAKhC,aAG1CgC,EAAKN,eACsB,UAAvBM,EAAK9B,QAAQrC,QASfmE,EAAKnE,QACDmE,EAAKjC,cACPuC,aAAaN,EAAKjC,cAGpBiC,EAAKjC,aAAenR,WAAW,SAAA+F,GAAK,OAAIqN,EAAKhB,MAAMrM,IAnS5B,IAmS6DqN,EAAK9B,QAAQxC,YAIrG1N,EAAUoI,EAAerG,KAAKkJ,GAASgE,SAAUnM,KAAK6G,WAAWxK,QAAQ,SAAAoT,GACvE9L,EAAaM,GAAGwL,EAAS1P,GAAM+L,WAAY,SAAA1S,GAAC,OAAIA,EAAEwG,qBAGhDI,KAAK0N,eACP/J,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM6L,YAAa,SAAA/J,GAAK,OAAIsN,EAAMtN,KACjE8B,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM8L,UAAW,SAAAhK,GAAK,OAAI0N,EAAI1N,KAE7D7B,KAAK6G,SAASS,UAAU0B,IAAIrC,MAE5BhD,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM0L,WAAY,SAAA5J,GAAK,OAAIsN,EAAMtN,KAChE8B,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM2L,UAAW,SAAA7J,GAAK,OA5C1C,SAAAA,GAEPA,EAAMyN,SAAWzN,EAAMyN,QAAQ5M,OAAS,EAC1CwM,EAAK/B,YAAc,EAEnB+B,EAAK/B,YAActL,EAAMyN,QAAQ,GAAGD,QAAUH,EAAKhC,YAuCIwC,CAAK7N,KAC9D8B,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM4L,SAAU,SAAA9J,GAAK,OAAI0N,EAAI1N,SAIhEmN,SAAA,SAASnN,GACP,IAAI,kBAAkB9E,KAAK8E,EAAM6B,OAAOiM,SAIxC,OAAQ9N,EAAMC,OACZ,KA/TqB,GAgUnBD,EAAMjC,iBACNI,KAAKkG,OACL,MACF,KAlUsB,GAmUpBrE,EAAMjC,iBACNI,KAAK8N,WAMXY,cAAA,SAAc7U,GAKZ,OAJAmG,KAAK4M,OAAS/S,GAAWA,EAAQ0D,WAC/BL,EAAUoI,EAAerG,KAAKkJ,GAAS+D,KAAMrS,EAAQ0D,aACrD,GAEKyC,KAAK4M,OAAO1J,QAAQrJ,MAG7B+V,oBAAA,SAAoBjB,EAAW/F,GAC7B,IAAMiH,EAAkBlB,IAAcxD,GAChC2E,EAAkBnB,IAAcxD,GAChCsD,EAAczO,KAAK0O,cAAc9F,GACjCmH,EAAgB/P,KAAK4M,OAAOlK,OAAS,EAI3C,IAHuBoN,GAAmC,IAAhBrB,GACjBoB,GAAmBpB,IAAgBsB,KAEtC/P,KAAKoN,QAAQpC,KACjC,OAAOpC,EAGT,IACMoH,GAAavB,GADLE,IAAcxD,IAAkB,EAAI,IACRnL,KAAK4M,OAAOlK,OAEtD,OAAsB,IAAfsN,EACLhQ,KAAK4M,OAAO5M,KAAK4M,OAAOlK,OAAS,GACjC1C,KAAK4M,OAAOoD,MAGhBC,mBAAA,SAAmBC,EAAeC,GAChC,IAAMC,EAAcpQ,KAAK0O,cAAcwB,GACjCG,EAAYrQ,KAAK0O,cAAcpJ,EAAenG,QAAQgJ,GAAS8D,YAAajM,KAAK6G,WAEvF,OAAOlD,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAMqL,MAAO,CACtD8E,cAAAA,EACAvB,UAAWwB,EACXG,KAAMD,EACN9B,GAAI6B,OAIRG,2BAAA,SAA2B1W,GACzB,GAAImG,KAAKsN,mBAAoB,CAE3B,IADA,IAAMkD,EAAalL,EAAerG,KAAKkJ,GAAS6D,OAAQhM,KAAKsN,oBACpD9K,EAAI,EAAGA,EAAIgO,EAAW9N,OAAQF,IACrCgO,EAAWhO,GAAG8E,UAAUC,OAAOZ,IAGjC,IAAM8J,EAAgBzQ,KAAKsN,mBAAmB7H,SAC5CzF,KAAK0O,cAAc7U,IAGjB4W,GACFA,EAAcnJ,UAAU0B,IAAIrC,QAKlCoH,OAAA,SAAOY,EAAW9U,GAAS,IASrB6W,EACAC,EACAR,EAXqBS,EAAA5Q,KACnB4I,EAAgBtD,EAAenG,QAAQgJ,GAAS8D,YAAajM,KAAK6G,UAClEgK,EAAqB7Q,KAAK0O,cAAc9F,GACxCkI,EAAcjX,GAAY+O,GAC9B5I,KAAK4P,oBAAoBjB,EAAW/F,GAEhCmI,EAAmB/Q,KAAK0O,cAAcoC,GACtCE,EAAYrQ,QAAQX,KAAK6M,WAgB/B,GAVI8B,IAAcxD,IAChBuF,EAAuB/J,GACvBgK,EAAiBhK,GACjBwJ,EAAqBhF,KAErBuF,EAAuB/J,GACvBgK,EAAiBhK,GACjBwJ,EAAqBhF,IAGnB2F,GAAeA,EAAYxJ,UAAUE,SAASb,IAChD3G,KAAKgN,YAAa,OAKpB,IADmBhN,KAAKiQ,mBAAmBa,EAAaX,GACzCtQ,kBAIV+I,GAAkBkI,EAAvB,CAaA,GARA9Q,KAAKgN,YAAa,EAEdgE,GACFhR,KAAK+K,QAGP/K,KAAKuQ,2BAA2BO,GAE5B9Q,KAAK6G,SAASS,UAAUE,SAASb,IAAkB,CACrDmK,EAAYxJ,UAAU0B,IAAI2H,GAE1BhT,EAAOmT,GAEPlI,EAActB,UAAU0B,IAAI0H,GAC5BI,EAAYxJ,UAAU0B,IAAI0H,GAE1B,IAAMO,EAAsBC,SAASJ,EAAY/W,aAAa,iBAAkB,IAC5EkX,GACFjR,KAAKoN,QAAQ+D,gBAAkBnR,KAAKoN,QAAQ+D,iBAAmBnR,KAAKoN,QAAQxC,SAC5E5K,KAAKoN,QAAQxC,SAAWqG,GAExBjR,KAAKoN,QAAQxC,SAAW5K,KAAKoN,QAAQ+D,iBAAmBnR,KAAKoN,QAAQxC,SAGvE,IAAMnQ,EAAqBJ,EAAiCuO,GAE5DjF,EACGO,IAAI0E,EAAevP,EAAgB,WAClCyX,EAAYxJ,UAAUC,OAAOmJ,GAC7BI,EAAYxJ,UAAUC,OAAOoJ,GAC7BG,EAAYxJ,UAAU0B,IAAIrC,IAE1BiC,EAActB,UAAUC,OAAOZ,IAC/BiC,EAActB,UAAUC,OAAOoJ,GAC/B/H,EAActB,UAAUC,OAAOmJ,GAE/BE,EAAK5D,YAAa,EAElBlR,WAAW,WACT6H,EAAamB,QAAQ8L,EAAK/J,SAAU9G,GAAMsL,KAAM,CAC9C6E,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,KAEL,KAGPxV,EAAqBqN,EAAenO,QAEpCmO,EAActB,UAAUC,OAAOZ,IAC/BmK,EAAYxJ,UAAU0B,IAAIrC,IAE1B3G,KAAKgN,YAAa,EAClBrJ,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAMsL,KAAM,CAC9C6E,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,IAIJC,GACFhR,KAAKkO,YAMFkD,kBAAP,SAAyBvX,EAASoC,GAChC,IAAImC,EAAOI,EAAKG,QAAQ9E,EAASyM,IAC7B8G,EAAOzD,EAAA,GACNgB,GADM,GAENrB,GAAYG,kBAAkB5P,IAGb,iBAAXoC,IACTmR,EAAOzD,EAAA,GACFyD,EADE,GAEFnR,IAIP,IAAMoV,EAA2B,iBAAXpV,EAAsBA,EAASmR,EAAQtC,MAM7D,GAJK1M,IACHA,EAAO,IAAIuO,EAAS9S,EAASuT,IAGT,iBAAXnR,EACTmC,EAAKmQ,GAAGtS,QACH,GAAsB,iBAAXoV,EAAqB,CACrC,GAA4B,oBAAjBjT,EAAKiT,GACd,MAAM,IAAIC,UAAJ,oBAAkCD,EAAlC,KAGRjT,EAAKiT,UACIjE,EAAQxC,UAAYwC,EAAQmE,OACrCnT,EAAK2M,QACL3M,EAAK8P,YAIFvG,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf+E,EAASyE,kBAAkBpR,KAAM/D,QAI9BuV,oBAAP,SAA2B3P,GACzB,IAAM6B,EAAStJ,EAAuB4F,MAEtC,GAAK0D,GAAWA,EAAO4D,UAAUE,SAASb,IAA1C,CAIA,IAAM1K,EAAM0N,EAAA,GACPL,GAAYG,kBAAkB/F,GADvB,GAEP4F,GAAYG,kBAAkBzJ,OAE7ByR,EAAazR,KAAKjG,aAAa,iBAEjC0X,IACFxV,EAAO2O,UAAW,GAGpB+B,EAASyE,kBAAkB1N,EAAQzH,GAE/BwV,GACFjT,EAAKG,QAAQ+E,EAAQ4C,IAAUiI,GAAGkD,GAGpC5P,EAAMjC,qBAGDmI,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CA3c7B,MA3GY,wCA+GZ,OAAOqE,YAidXhH,EACGM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAASmE,WAAYK,GAAS6E,qBAEpE7N,EAAaM,GAAG1J,OAAQwF,GAAMgM,cAAe,WAE3C,IADA,IAAM2F,EAAYxU,EAAUoI,EAAerG,KAAKkJ,GAASoE,YAChD/J,EAAI,EAAGC,EAAMiP,EAAUhP,OAAQF,EAAIC,EAAKD,IAC/CmK,GAASyE,kBAAkBM,EAAUlP,GAAIhE,EAAKG,QAAQ+S,EAAUlP,GAAI8D,OAIxE,IAAMxF,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAGkH,IAChC5J,GAAE0C,GAAGkH,IAAQiC,GAAShF,gBACtB7G,GAAE0C,GAAGkH,IAAMzC,YAAc0E,GACzB7L,GAAE0C,GAAGkH,IAAMxC,WAAa,WAEtB,OADApH,GAAE0C,GAAGkH,IAAQ1C,GACN2E,GAAShF,iBC1lBpB,IAAM+C,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAGhBqE,GAAU,CACdpC,QAAQ,EACRlB,OAAQ,IAGJ6D,GAAc,CAClB3C,OAAQ,UACRlB,OAAQ,oBAGJtH,GAAQ,CACZ4R,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfsL,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBG,eAAc,QAAUH,GAjBL,aAoBfI,GACE,OADFA,GAEM,WAFNA,GAGQ,aAHRA,GAIO,YAGPoL,GACG,QADHA,GAEI,SAGJ5J,GAAW,CACf6J,QAAS,qBACTC,YAAa,4BASTC,cACJ,SAAAA,EAAYrY,EAASoC,GACnB+D,KAAKmS,kBAAmB,EACxBnS,KAAK6G,SAAWhN,EAChBmG,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAKoS,cAAgBlV,EAAUoI,EAAerG,KAC5C,mCAAmCpF,EAAQV,GAA3C,6CAC0CU,EAAQV,GADlD,OAKF,IADA,IAAMkZ,EAAanV,EAAUoI,EAAerG,KAAKkJ,GAAS8J,cACjDzP,EAAI,EAAGC,EAAM4P,EAAW3P,OAAQF,EAAIC,EAAKD,IAAK,CACrD,IAAM8P,EAAOD,EAAW7P,GAClB1I,EAAWI,EAAuBoY,GAClCC,EAAgBrV,EAAUoI,EAAerG,KAAKnF,IACjD6L,OAAO,SAAA6M,GAAS,OAAIA,IAAc3Y,IAEpB,OAAbC,GAAqByY,EAAc7P,SACrC1C,KAAKyS,UAAY3Y,EACjBkG,KAAKoS,cAAcnM,KAAKqM,IAI5BtS,KAAK0S,QAAU1S,KAAKoN,QAAQ/F,OAASrH,KAAK2S,aAAe,KAEpD3S,KAAKoN,QAAQ/F,QAChBrH,KAAK4S,0BAA0B5S,KAAK6G,SAAU7G,KAAKoS,eAGjDpS,KAAKoN,QAAQ7E,QACfvI,KAAKuI,SAGP/J,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAelCuI,OAAA,WACMvI,KAAK6G,SAASS,UAAUE,SAASb,IACnC3G,KAAK6S,OAEL7S,KAAK8S,UAITA,KAAA,WAAO,IAAApN,EAAA1F,KACL,IAAIA,KAAKmS,mBACPnS,KAAK6G,SAASS,UAAUE,SAASb,IADnC,CAKA,IAAIoM,EACAC,EAEAhT,KAAK0S,SAUgB,KATvBK,EAAU7V,EAAUoI,EAAerG,KAAKkJ,GAAS6J,QAAShS,KAAK0S,UAC5D/M,OAAO,SAAA2M,GACN,MAAmC,iBAAxB5M,EAAK0H,QAAQ/F,OACfiL,EAAKvY,aAAa,iBAAmB2L,EAAK0H,QAAQ/F,OAGpDiL,EAAKhL,UAAUE,SAASb,OAGvBjE,SACVqQ,EAAU,MAId,IAAME,EAAY3N,EAAenG,QAAQa,KAAKyS,WAC9C,GAAIM,EAAS,CACX,IAAMG,EAAiBH,EAAQpN,OAAO,SAAA2M,GAAI,OAAIW,IAAcX,IAG5D,IAFAU,EAAcE,EAAe,GAAK1U,EAAKG,QAAQuU,EAAe,GAAI5M,IAAY,OAE3D0M,EAAYb,iBAC7B,OAKJ,IADmBxO,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM4R,MAC9C9R,iBAAf,CAIIkT,GACFA,EAAQ1W,QAAQ,SAAA8W,GACVF,IAAcE,GAChBjB,EAASkB,kBAAkBD,EAAY,QAGpCH,GACHxU,EAAKC,QAAQ0U,EAAY7M,GAAU,QAKzC,IAAM+M,EAAYrT,KAAKsT,gBAEvBtT,KAAK6G,SAASS,UAAUC,OAAOZ,IAC/B3G,KAAK6G,SAASS,UAAU0B,IAAIrC,IAE5B3G,KAAK6G,SAASvJ,MAAM+V,GAAa,EAE7BrT,KAAKoS,cAAc1P,QACrB1C,KAAKoS,cAAc/V,QAAQ,SAAAxC,GACzBA,EAAQyN,UAAUC,OAAOZ,IACzB9M,EAAQiP,aAAa,iBAAiB,KAI1C9I,KAAKuT,kBAAiB,GAEtB,IAaMC,EAAU,UADaH,EAAU,GAAGpW,cAAgBoW,EAAUjW,MAAM,IAEpE3C,EAAqBJ,EAAiC2F,KAAK6G,UAEjElD,EAAaO,IAAIlE,KAAK6G,SAAUxN,EAhBf,WACfqM,EAAKmB,SAASS,UAAUC,OAAOZ,IAC/BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAC5BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAE5BjB,EAAKmB,SAASvJ,MAAM+V,GAAa,GAEjC3N,EAAK6N,kBAAiB,GAEtB5P,EAAamB,QAAQY,EAAKmB,SAAU9G,GAAM6R,SAS5CrW,EAAqByE,KAAK6G,SAAUpM,GACpCuF,KAAK6G,SAASvJ,MAAM+V,GAAgBrT,KAAK6G,SAAS2M,GAAlD,UAGFX,KAAA,WAAO,IAAA9D,EAAA/O,KACL,IAAIA,KAAKmS,kBACNnS,KAAK6G,SAASS,UAAUE,SAASb,MAIjBhD,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM8R,MAC9ChS,iBAAf,CAIA,IAAMwT,EAAYrT,KAAKsT,gBAEvBtT,KAAK6G,SAASvJ,MAAM+V,GAAgBrT,KAAK6G,SAASmD,wBAAwBqJ,GAA1E,KAEA1V,EAAOqC,KAAK6G,UAEZ7G,KAAK6G,SAASS,UAAU0B,IAAIrC,IAC5B3G,KAAK6G,SAASS,UAAUC,OAAOZ,IAC/B3G,KAAK6G,SAASS,UAAUC,OAAOZ,IAE/B,IAAM8M,EAAqBzT,KAAKoS,cAAc1P,OAC9C,GAAI+Q,EAAqB,EACvB,IAAK,IAAIjR,EAAI,EAAGA,EAAIiR,EAAoBjR,IAAK,CAC3C,IAAMsC,EAAU9E,KAAKoS,cAAc5P,GAC7B8P,EAAOlY,EAAuB0K,GAEhCwN,IAASA,EAAKhL,UAAUE,SAASb,MACnC7B,EAAQwC,UAAU0B,IAAIrC,IACtB7B,EAAQgE,aAAa,iBAAiB,IAK5C9I,KAAKuT,kBAAiB,GAStBvT,KAAK6G,SAASvJ,MAAM+V,GAAa,GACjC,IAAM5Y,EAAqBJ,EAAiC2F,KAAK6G,UAEjElD,EAAaO,IAAIlE,KAAK6G,SAAUxN,EAVf,WACf0V,EAAKwE,kBAAiB,GACtBxE,EAAKlI,SAASS,UAAUC,OAAOZ,IAC/BoI,EAAKlI,SAASS,UAAU0B,IAAIrC,IAC5BhD,EAAamB,QAAQiK,EAAKlI,SAAU9G,GAAM+R,UAO5CvW,EAAqByE,KAAK6G,SAAUpM,OAGtC8Y,iBAAA,SAAiBG,GACf1T,KAAKmS,iBAAmBuB,KAG1BtM,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,IAE/BtG,KAAKoN,QAAU,KACfpN,KAAK0S,QAAU,KACf1S,KAAK6G,SAAW,KAChB7G,KAAKoS,cAAgB,KACrBpS,KAAKmS,iBAAmB,QAK1B9E,WAAA,SAAWpR,GAOT,OANAA,EAAM0N,EAAA,GACDgB,GADC,GAED1O,IAEEsM,OAAS5H,QAAQ1E,EAAOsM,QAC/BxM,EAAgB2O,GAAMzO,EAAQiP,IACvBjP,KAGTqX,cAAA,WAEE,OADiBtT,KAAK6G,SAASS,UAAUE,SAASuK,IAChCA,GAAkBA,MAGtCY,WAAA,WAAa,IAAAzD,EAAAlP,KACLqH,EAAWrH,KAAKoN,QAAhB/F,OAEFjM,EAAUiM,GAEiB,oBAAlBA,EAAOsM,QAA+C,oBAAdtM,EAAO,KACxDA,EAASA,EAAO,IAGlBA,EAAS/B,EAAenG,QAAQkI,GAGlC,IAAMvN,EAAQ,yCAA4CuN,EAA5C,KAYd,OAVAnK,EAAUoI,EAAerG,KAAKnF,EAAUuN,IACrChL,QAAQ,SAAAxC,GACP,IAAM+Z,EAAWxZ,EAAuBP,GAExCqV,EAAK0D,0BACHgB,EACA,CAAC/Z,MAIAwN,KAGTuL,0BAAA,SAA0B/Y,EAASga,GACjC,GAAIha,EAAS,CACX,IAAMia,EAASja,EAAQyN,UAAUE,SAASb,IAEtCkN,EAAanR,QACfmR,EAAaxX,QAAQ,SAAAiW,GACfwB,EACFxB,EAAKhL,UAAUC,OAAOZ,IAEtB2L,EAAKhL,UAAU0B,IAAIrC,IAGrB2L,EAAKxJ,aAAa,gBAAiBgL,SAQpCV,kBAAP,SAAyBvZ,EAASoC,GAChC,IAAImC,EAAOI,EAAKG,QAAQ9E,EAASyM,IAC3B8G,EAAOzD,EAAA,GACRgB,GADQ,GAERrB,GAAYG,kBAAkB5P,GAFtB,GAGU,iBAAXoC,GAAuBA,EAASA,EAAS,IAWrD,IARKmC,GAAQgP,EAAQ7E,QAAU,YAAYxL,KAAKd,KAC9CmR,EAAQ7E,QAAS,GAGdnK,IACHA,EAAO,IAAI8T,EAASrY,EAASuT,IAGT,iBAAXnR,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,SAIF0L,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACfsK,EAASkB,kBAAkBpT,KAAM/D,QAI9B8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CA1Q7B,MArFY,wCAyFZ,OAAOqE,YAgRXhH,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAAS8J,YAAa,SAAUpQ,GAEjD,MAAzBA,EAAM6B,OAAOiM,SACf9N,EAAMjC,iBAGR,IAAMmU,EAAczK,GAAYG,kBAAkBzJ,MAC5ClG,EAAWI,EAAuB8F,MACf9C,EAAUoI,EAAerG,KAAKnF,IAEtCuC,QAAQ,SAAAxC,GACvB,IACIoC,EADEmC,EAAOI,EAAKG,QAAQ9E,EAASyM,IAE/BlI,GAEmB,OAAjBA,EAAKsU,SAAkD,iBAAvBqB,EAAY1M,SAC9CjJ,EAAKgP,QAAQ/F,OAAS0M,EAAY1M,OAClCjJ,EAAKsU,QAAUtU,EAAKuU,cAGtB1W,EAAS,UAETA,EAAS8X,EAGX7B,GAASkB,kBAAkBvZ,EAASoC,OAIxC,IAAM6E,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAGkH,IAChC5J,GAAE0C,GAAGkH,IAAQwH,GAASvK,gBACtB7G,GAAE0C,GAAGkH,IAAMzC,YAAciK,GACzBpR,GAAE0C,GAAGkH,IAAMxC,WAAa,WAEtB,OADApH,GAAE0C,GAAGkH,IAAQ1C,GACNkK,GAASvK,iBCxZpB,IAJA,IAAIqM,GAA8B,oBAAXzZ,QAA8C,oBAAbb,SAEpDua,GAAwB,CAAC,OAAQ,UAAW,WAC5CC,GAAkB,EACb1R,GAAI,EAAGA,GAAIyR,GAAsBvR,OAAQF,IAAK,EACrD,GAAIwR,IAAaxG,UAAU2G,UAAUjR,QAAQ+Q,GAAsBzR,MAAO,EAAG,CAC3E0R,GAAkB,EAClB,MA+BJ,IAWIE,GAXqBJ,IAAazZ,OAAO8Z,QA3B7C,SAA2B7Q,GACzB,IAAI/H,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTlB,OAAO8Z,QAAQC,UAAUC,KAAK,WAC5B9Y,GAAS,EACT+H,SAKN,SAAsBA,GACpB,IAAIgR,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZ1Y,WAAW,WACT0Y,GAAY,EACZhR,KACC0Q,OAyBT,SAASO,GAAWC,GAElB,OAAOA,GAA8D,sBADvD,GACoBhY,SAASC,KAAK+X,GAUlD,SAASC,GAAyB9a,EAASyC,GACzC,GAAyB,IAArBzC,EAAQyB,SACV,MAAO,GAGT,IACIsZ,EADS/a,EAAQgb,cAAcC,YAClBta,iBAAiBX,EAAS,MAC3C,OAAOyC,EAAWsY,EAAItY,GAAYsY,EAUpC,SAASG,GAAclb,GACrB,MAAyB,SAArBA,EAAQmb,SACHnb,EAEFA,EAAQ0D,YAAc1D,EAAQob,KAUvC,SAASC,GAAgBrb,GAEvB,IAAKA,EACH,OAAOH,SAASqE,KAGlB,OAAQlE,EAAQmb,UACd,IAAK,OACL,IAAK,OACH,OAAOnb,EAAQgb,cAAc9W,KAC/B,IAAK,YACH,OAAOlE,EAAQkE,KAKnB,IAAIoX,EAAwBR,GAAyB9a,GACjDub,EAAWD,EAAsBC,SACjCC,EAAYF,EAAsBE,UAClCC,EAAYH,EAAsBG,UAEtC,MAAI,wBAAwBvY,KAAKqY,EAAWE,EAAYD,GAC/Cxb,EAGFqb,GAAgBH,GAAclb,IAGvC,IAAI0b,GAASvB,OAAgBzZ,OAAOib,uBAAwB9b,SAAS+b,cACjEC,GAAS1B,IAAa,UAAUjX,KAAKyQ,UAAU2G,WASnD,SAASwB,GAAKC,GACZ,OAAgB,KAAZA,EACKL,GAEO,KAAZK,EACKF,GAEFH,IAAUG,GAUnB,SAASG,GAAgBhc,GACvB,IAAKA,EACH,OAAOH,SAAS6L,gBAQlB,IALA,IAAIuQ,EAAiBH,GAAK,IAAMjc,SAASqE,KAAO,KAG5CgY,EAAelc,EAAQkc,cAAgB,KAEpCA,IAAiBD,GAAkBjc,EAAQmc,oBAChDD,GAAgBlc,EAAUA,EAAQmc,oBAAoBD,aAGxD,IAAIf,EAAWe,GAAgBA,EAAaf,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAAS9R,QAAQ6S,EAAaf,WAA2E,WAAvDL,GAAyBoB,EAAc,YACjGF,GAAgBE,GAGlBA,EATElc,EAAUA,EAAQgb,cAActP,gBAAkB7L,SAAS6L,gBA4BtE,SAAS0Q,GAAQC,GACf,OAAwB,OAApBA,EAAK3Y,WACA0Y,GAAQC,EAAK3Y,YAGf2Y,EAWT,SAASC,GAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAS9a,UAAa+a,GAAaA,EAAS/a,UAC5D,OAAO5B,SAAS6L,gBAIlB,IAAI+Q,EAAQF,EAASG,wBAAwBF,GAAYtQ,KAAKyQ,4BAC1DrH,EAAQmH,EAAQF,EAAWC,EAC3B9G,EAAM+G,EAAQD,EAAWD,EAGzBK,EAAQ/c,SAASgd,cACrBD,EAAME,SAASxH,EAAO,GACtBsH,EAAMG,OAAOrH,EAAK,GAClB,IA/CyB1V,EACrBmb,EA8CA6B,EAA0BJ,EAAMI,wBAIpC,GAAIT,IAAaS,GAA2BR,IAAaQ,GAA2B1H,EAAM3H,SAAS+H,GACjG,MAjDe,UAFbyF,GADqBnb,EAoDDgd,GAnDD7B,WAKH,SAAbA,GAAuBa,GAAgBhc,EAAQid,qBAAuBjd,EAkDpEgc,GAAgBgB,GAHdA,EAOX,IAAIE,EAAed,GAAQG,GAC3B,OAAIW,EAAa9B,KACRkB,GAAuBY,EAAa9B,KAAMoB,GAE1CF,GAAuBC,EAAUH,GAAQI,GAAUpB,MAY9D,SAAS+B,GAAUnd,GACjB,IAEIod,EAAqB,SAFdC,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,OAE9C,YAAc,aAC3ClC,EAAWnb,EAAQmb,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAIoC,EAAOvd,EAAQgb,cAActP,gBAEjC,OADuB1L,EAAQgb,cAAcwC,kBAAoBD,GACzCH,GAG1B,OAAOpd,EAAQod,GAmCjB,SAASK,GAAeC,EAAQC,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAO7c,WAAW2c,EAAO,SAAWE,EAAQ,SAAU,IAAM7c,WAAW2c,EAAO,SAAWG,EAAQ,SAAU,IAG7G,SAASC,GAAQH,EAAMzZ,EAAMqZ,EAAMQ,GACjC,OAAOpe,KAAKqe,IAAI9Z,EAAK,SAAWyZ,GAAOzZ,EAAK,SAAWyZ,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAOJ,EAAK,SAAWI,GAAO7B,GAAK,IAAMzE,SAASkG,EAAK,SAAWI,IAAStG,SAAS0G,EAAc,UAAqB,WAATJ,EAAoB,MAAQ,UAAYtG,SAAS0G,EAAc,UAAqB,WAATJ,EAAoB,SAAW,WAAa,GAG5U,SAASM,GAAepe,GACtB,IAAIqE,EAAOrE,EAASqE,KAChBqZ,EAAO1d,EAAS6L,gBAChBqS,EAAgBjC,GAAK,KAAOnb,iBAAiB4c,GAEjD,MAAO,CACLW,OAAQJ,GAAQ,SAAU5Z,EAAMqZ,EAAMQ,GACtCI,MAAOL,GAAQ,QAAS5Z,EAAMqZ,EAAMQ,IAIxC,IAAIK,GAAiB,SAAUvZ,EAAUuJ,GACvC,KAAMvJ,aAAoBuJ,GACxB,MAAM,IAAIqJ,UAAU,sCAIpB4G,GAAc,WAChB,SAASC,EAAiBzU,EAAQ0U,GAChC,IAAK,IAAI5V,EAAI,EAAGA,EAAI4V,EAAM1V,OAAQF,IAAK,CACrC,IAAI6V,EAAaD,EAAM5V,GACvB6V,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWnY,cAAe,EACtB,UAAWmY,IAAYA,EAAWE,UAAW,GACjDpc,OAAO8D,eAAeyD,EAAQ2U,EAAWla,IAAKka,IAIlD,OAAO,SAAUpQ,EAAauQ,EAAYC,GAGxC,OAFID,GAAYL,EAAiBlQ,EAAYnJ,UAAW0Z,GACpDC,GAAaN,EAAiBlQ,EAAawQ,GACxCxQ,GAdO,GAsBdhI,GAAiB,SAAU5E,EAAK8C,EAAK3B,GAYvC,OAXI2B,KAAO9C,EACTc,OAAO8D,eAAe5E,EAAK8C,EAAK,CAC9B3B,MAAOA,EACP8b,YAAY,EACZpY,cAAc,EACdqY,UAAU,IAGZld,EAAI8C,GAAO3B,EAGNnB,GAGLqd,GAAWvc,OAAOwc,QAAU,SAAUjV,GACxC,IAAK,IAAIlB,EAAI,EAAGA,EAAI0U,UAAUxU,OAAQF,IAAK,CACzC,IAAIoW,EAAS1B,UAAU1U,GAEvB,IAAK,IAAIrE,KAAOya,EACVzc,OAAO2C,UAAU+Z,eAAelc,KAAKic,EAAQza,KAC/CuF,EAAOvF,GAAOya,EAAOza,IAK3B,OAAOuF,GAUT,SAASoV,GAAcC,GACrB,OAAOL,GAAS,GAAIK,EAAS,CAC3BC,MAAOD,EAAQ5O,KAAO4O,EAAQf,MAC9BiB,OAAQF,EAAQ9O,IAAM8O,EAAQhB,SAWlC,SAAS/N,GAAsBnQ,GAC7B,IAAIkQ,EAAO,GAKX,IACE,GAAI4L,GAAK,IAAK,CACZ5L,EAAOlQ,EAAQmQ,wBACf,IAAIE,EAAY8M,GAAUnd,EAAS,OAC/BuQ,EAAa4M,GAAUnd,EAAS,QACpCkQ,EAAKE,KAAOC,EACZH,EAAKI,MAAQC,EACbL,EAAKkP,QAAU/O,EACfH,EAAKiP,OAAS5O,OAEdL,EAAOlQ,EAAQmQ,wBAEjB,MAAO5Q,IAET,IAAI8f,EAAS,CACX/O,KAAMJ,EAAKI,KACXF,IAAKF,EAAKE,IACV+N,MAAOjO,EAAKiP,MAAQjP,EAAKI,KACzB4N,OAAQhO,EAAKkP,OAASlP,EAAKE,KAIzBkP,EAA6B,SAArBtf,EAAQmb,SAAsB8C,GAAeje,EAAQgb,eAAiB,GAC9EmD,EAAQmB,EAAMnB,OAASne,EAAQuf,aAAeF,EAAOF,MAAQE,EAAO/O,KACpE4N,EAASoB,EAAMpB,QAAUle,EAAQwf,cAAgBH,EAAOD,OAASC,EAAOjP,IAExEqP,EAAiBzf,EAAQ0f,YAAcvB,EACvCwB,EAAgB3f,EAAQ+D,aAAema,EAI3C,GAAIuB,GAAkBE,EAAe,CACnC,IAAIjC,EAAS5C,GAAyB9a,GACtCyf,GAAkBhC,GAAeC,EAAQ,KACzCiC,GAAiBlC,GAAeC,EAAQ,KAExC2B,EAAOlB,OAASsB,EAChBJ,EAAOnB,QAAUyB,EAGnB,OAAOV,GAAcI,GAGvB,SAASO,GAAqChU,EAAU4B,GACtD,IAAIqS,EAAgBxC,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,IAAmBA,UAAU,GAE/ExB,EAASC,GAAK,IACdgE,EAA6B,SAApBtS,EAAO2N,SAChB4E,EAAe5P,GAAsBvE,GACrCoU,EAAa7P,GAAsB3C,GACnCyS,EAAe5E,GAAgBzP,GAE/B8R,EAAS5C,GAAyBtN,GAClC0S,EAAiBnf,WAAW2c,EAAOwC,eAAgB,IACnDC,EAAkBpf,WAAW2c,EAAOyC,gBAAiB,IAGrDN,GAAiBC,IACnBE,EAAW5P,IAAMzQ,KAAKqe,IAAIgC,EAAW5P,IAAK,GAC1C4P,EAAW1P,KAAO3Q,KAAKqe,IAAIgC,EAAW1P,KAAM,IAE9C,IAAI4O,EAAUD,GAAc,CAC1B7O,IAAK2P,EAAa3P,IAAM4P,EAAW5P,IAAM8P,EACzC5P,KAAMyP,EAAazP,KAAO0P,EAAW1P,KAAO6P,EAC5ChC,MAAO4B,EAAa5B,MACpBD,OAAQ6B,EAAa7B,SASvB,GAPAgB,EAAQkB,UAAY,EACpBlB,EAAQmB,WAAa,GAMhBxE,GAAUiE,EAAQ,CACrB,IAAIM,EAAYrf,WAAW2c,EAAO0C,UAAW,IACzCC,EAAatf,WAAW2c,EAAO2C,WAAY,IAE/CnB,EAAQ9O,KAAO8P,EAAiBE,EAChClB,EAAQE,QAAUc,EAAiBE,EACnClB,EAAQ5O,MAAQ6P,EAAkBE,EAClCnB,EAAQC,OAASgB,EAAkBE,EAGnCnB,EAAQkB,UAAYA,EACpBlB,EAAQmB,WAAaA,EAOvB,OAJIxE,IAAWgE,EAAgBrS,EAAOG,SAASsS,GAAgBzS,IAAWyS,GAA0C,SAA1BA,EAAa9E,YACrG+D,EA1NJ,SAAuBhP,EAAMlQ,GAC3B,IAAIsgB,EAAWjD,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,IAAmBA,UAAU,GAE1EhN,EAAY8M,GAAUnd,EAAS,OAC/BuQ,EAAa4M,GAAUnd,EAAS,QAChCugB,EAAWD,GAAY,EAAI,EAK/B,OAJApQ,EAAKE,KAAOC,EAAYkQ,EACxBrQ,EAAKkP,QAAU/O,EAAYkQ,EAC3BrQ,EAAKI,MAAQC,EAAagQ,EAC1BrQ,EAAKiP,OAAS5O,EAAagQ,EACpBrQ,EAgNKsQ,CAActB,EAAS1R,IAG5B0R,EAuDT,SAASuB,GAA6BzgB,GAEpC,IAAKA,IAAYA,EAAQ0G,eAAiBoV,KACxC,OAAOjc,SAAS6L,gBAGlB,IADA,IAAIgV,EAAK1gB,EAAQ0G,cACVga,GAAoD,SAA9C5F,GAAyB4F,EAAI,cACxCA,EAAKA,EAAGha,cAEV,OAAOga,GAAM7gB,SAAS6L,gBAcxB,SAASiV,GAAcC,EAAQC,EAAWC,EAASC,GACjD,IAAIlB,EAAgBxC,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,IAAmBA,UAAU,GAI/E2D,EAAa,CAAE5Q,IAAK,EAAGE,KAAM,GAC7B4L,EAAe2D,EAAgBY,GAA6BG,GAAUtE,GAAuBsE,EAAQC,GAGzG,GAA0B,aAAtBE,EACFC,EArFJ,SAAuDhhB,GACrD,IAAIihB,EAAgB5D,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,IAAmBA,UAAU,GAE/EE,EAAOvd,EAAQgb,cAActP,gBAC7BwV,EAAiBtB,GAAqC5f,EAASud,GAC/DY,EAAQxe,KAAKqe,IAAIT,EAAKgC,YAAa7e,OAAOygB,YAAc,GACxDjD,EAASve,KAAKqe,IAAIT,EAAKiC,aAAc9e,OAAO0gB,aAAe,GAE3D/Q,EAAa4Q,EAAkC,EAAlB9D,GAAUI,GACvChN,EAAc0Q,EAA0C,EAA1B9D,GAAUI,EAAM,QASlD,OAAO0B,GAPM,CACX7O,IAAKC,EAAY6Q,EAAe9Q,IAAM8Q,EAAed,UACrD9P,KAAMC,EAAa2Q,EAAe5Q,KAAO4Q,EAAeb,WACxDlC,MAAOA,EACPD,OAAQA,IAsEKmD,CAA8CnF,EAAc2D,OACpE,CAEL,IAAIyB,OAAiB,EACK,iBAAtBP,EAE8B,UADhCO,EAAiBjG,GAAgBH,GAAc2F,KAC5B1F,WACjBmG,EAAiBV,EAAO5F,cAActP,iBAGxC4V,EAD+B,WAAtBP,EACQH,EAAO5F,cAActP,gBAErBqV,EAGnB,IAAI7B,EAAUU,GAAqC0B,EAAgBpF,EAAc2D,GAGjF,GAAgC,SAA5ByB,EAAenG,UA1EvB,SAASoG,EAAQvhB,GACf,IAAImb,EAAWnb,EAAQmb,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDL,GAAyB9a,EAAS,YACpC,OAAO,EAET,IAAI0D,EAAawX,GAAclb,GAC/B,QAAK0D,GAGE6d,EAAQ7d,GA8D8B6d,CAAQrF,GAWjD8E,EAAa9B,MAXmD,CAChE,IAAIsC,EAAkBvD,GAAe2C,EAAO5F,eACxCkD,EAASsD,EAAgBtD,OACzBC,EAAQqD,EAAgBrD,MAE5B6C,EAAW5Q,KAAO8O,EAAQ9O,IAAM8O,EAAQkB,UACxCY,EAAW5B,OAASlB,EAASgB,EAAQ9O,IACrC4Q,EAAW1Q,MAAQ4O,EAAQ5O,KAAO4O,EAAQmB,WAC1CW,EAAW7B,MAAQhB,EAAQe,EAAQ5O,MASvC,IAAImR,EAAqC,iBADzCX,EAAUA,GAAW,GAOrB,OALAE,EAAW1Q,MAAQmR,EAAkBX,EAAUA,EAAQxQ,MAAQ,EAC/D0Q,EAAW5Q,KAAOqR,EAAkBX,EAAUA,EAAQ1Q,KAAO,EAC7D4Q,EAAW7B,OAASsC,EAAkBX,EAAUA,EAAQ3B,OAAS,EACjE6B,EAAW5B,QAAUqC,EAAkBX,EAAUA,EAAQ1B,QAAU,EAE5D4B,EAmBT,SAASU,GAAqBC,EAAWC,EAAShB,EAAQC,EAAWE,GACnE,IAAID,EAAUzD,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/BsE,EAAUtY,QAAQ,QACpB,OAAOsY,EAGT,IAAIX,EAAaL,GAAcC,EAAQC,EAAWC,EAASC,GAEvDc,EAAQ,CACVzR,IAAK,CACH+N,MAAO6C,EAAW7C,MAClBD,OAAQ0D,EAAQxR,IAAM4Q,EAAW5Q,KAEnC+O,MAAO,CACLhB,MAAO6C,EAAW7B,MAAQyC,EAAQzC,MAClCjB,OAAQ8C,EAAW9C,QAErBkB,OAAQ,CACNjB,MAAO6C,EAAW7C,MAClBD,OAAQ8C,EAAW5B,OAASwC,EAAQxC,QAEtC9O,KAAM,CACJ6N,MAAOyD,EAAQtR,KAAO0Q,EAAW1Q,KACjC4N,OAAQ8C,EAAW9C,SAInB4D,EAAcxf,OAAOC,KAAKsf,GAAOE,IAAI,SAAUzd,GACjD,OAAOua,GAAS,CACdva,IAAKA,GACJud,EAAMvd,GAAM,CACb0d,MAhDWC,EAgDGJ,EAAMvd,GA/CZ2d,EAAK9D,MACJ8D,EAAK/D,UAFpB,IAAiB+D,IAkDZC,KAAK,SAAUC,EAAGC,GACnB,OAAOA,EAAEJ,KAAOG,EAAEH,OAGhBK,EAAgBP,EAAYhW,OAAO,SAAUwW,GAC/C,IAAInE,EAAQmE,EAAMnE,MACdD,EAASoE,EAAMpE,OACnB,OAAOC,GAASyC,EAAOrB,aAAerB,GAAU0C,EAAOpB,eAGrD+C,EAAoBF,EAAcxZ,OAAS,EAAIwZ,EAAc,GAAG/d,IAAMwd,EAAY,GAAGxd,IAErFke,EAAYb,EAAU1gB,MAAM,KAAK,GAErC,OAAOshB,GAAqBC,EAAY,IAAMA,EAAY,IAa5D,SAASC,GAAoBC,EAAO9B,EAAQC,GAC1C,IAAIhB,EAAgBxC,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,KAGxF,OAAOuC,GAAqCiB,EADnBhB,EAAgBY,GAA6BG,GAAUtE,GAAuBsE,EAAQC,GACpChB,GAU7E,SAAS8C,GAAc3iB,GACrB,IACI0d,EADS1d,EAAQgb,cAAcC,YACfta,iBAAiBX,GACjC4iB,EAAI7hB,WAAW2c,EAAO0C,WAAa,GAAKrf,WAAW2c,EAAOmF,cAAgB,GAC1EC,EAAI/hB,WAAW2c,EAAO2C,YAAc,GAAKtf,WAAW2c,EAAOqF,aAAe,GAK9E,MAJa,CACX5E,MAAOne,EAAQ0f,YAAcoD,EAC7B5E,OAAQle,EAAQ+D,aAAe6e,GAYnC,SAASI,GAAqBrB,GAC5B,IAAIsB,EAAO,CAAE3S,KAAM,QAAS6O,MAAO,OAAQC,OAAQ,MAAOhP,IAAK,UAC/D,OAAOuR,EAAU5a,QAAQ,yBAA0B,SAAUmc,GAC3D,OAAOD,EAAKC,KAchB,SAASC,GAAiBvC,EAAQwC,EAAkBzB,GAClDA,EAAYA,EAAU1gB,MAAM,KAAK,GAGjC,IAAIoiB,EAAaV,GAAc/B,GAG3B0C,EAAgB,CAClBnF,MAAOkF,EAAWlF,MAClBD,OAAQmF,EAAWnF,QAIjBqF,GAAoD,IAA1C,CAAC,QAAS,QAAQla,QAAQsY,GACpC6B,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZ9B,IAAc8B,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBJ,GAAqBS,IAGhEH,EAYT,SAASle,GAAKwe,EAAKC,GAEjB,OAAIC,MAAM7e,UAAUG,KACXwe,EAAIxe,KAAKye,GAIXD,EAAI9X,OAAO+X,GAAO,GAqC3B,SAASE,GAAaC,EAAWzf,EAAM0f,GAoBrC,YAnB8B3G,IAAT2G,EAAqBD,EAAYA,EAAUzgB,MAAM,EA1BxE,SAAmBqgB,EAAKM,EAAMvhB,GAE5B,GAAImhB,MAAM7e,UAAUkf,UAClB,OAAOP,EAAIO,UAAU,SAAUC,GAC7B,OAAOA,EAAIF,KAAUvhB,IAKzB,IAAII,EAAQqC,GAAKwe,EAAK,SAAUpiB,GAC9B,OAAOA,EAAI0iB,KAAUvhB,IAEvB,OAAOihB,EAAIva,QAAQtG,GAcsDohB,CAAUH,EAAW,OAAQC,KAEvFzhB,QAAQ,SAAU+d,GAC3BA,EAAmB,UAErB8D,QAAQC,KAAK,yDAEf,IAAI3a,EAAK4W,EAAmB,UAAKA,EAAS5W,GACtC4W,EAASgE,SAAW3J,GAAWjR,KAIjCpF,EAAK2a,QAAQ0B,OAAS3B,GAAc1a,EAAK2a,QAAQ0B,QACjDrc,EAAK2a,QAAQ2B,UAAY5B,GAAc1a,EAAK2a,QAAQ2B,WAEpDtc,EAAOoF,EAAGpF,EAAMgc,MAIbhc,EAUT,SAASigB,KAEP,IAAIre,KAAKuc,MAAM+B,YAAf,CAIA,IAAIlgB,EAAO,CACTM,SAAUsB,KACVuX,OAAQ,GACRgH,YAAa,GACb7U,WAAY,GACZ8U,SAAS,EACTzF,QAAS,IAIX3a,EAAK2a,QAAQ2B,UAAY4B,GAAoBtc,KAAKuc,MAAOvc,KAAKya,OAAQza,KAAK0a,UAAW1a,KAAKye,QAAQC,eAKnGtgB,EAAKod,UAAYD,GAAqBvb,KAAKye,QAAQjD,UAAWpd,EAAK2a,QAAQ2B,UAAW1a,KAAKya,OAAQza,KAAK0a,UAAW1a,KAAKye,QAAQZ,UAAUc,KAAK/D,kBAAmB5a,KAAKye,QAAQZ,UAAUc,KAAKhE,SAG9Lvc,EAAKwgB,kBAAoBxgB,EAAKod,UAE9Bpd,EAAKsgB,cAAgB1e,KAAKye,QAAQC,cAGlCtgB,EAAK2a,QAAQ0B,OAASuC,GAAiBhd,KAAKya,OAAQrc,EAAK2a,QAAQ2B,UAAWtc,EAAKod,WAEjFpd,EAAK2a,QAAQ0B,OAAOpQ,SAAWrK,KAAKye,QAAQC,cAAgB,QAAU,WAGtEtgB,EAAOwf,GAAa5d,KAAK6d,UAAWzf,GAI/B4B,KAAKuc,MAAMsC,UAId7e,KAAKye,QAAQK,SAAS1gB,IAHtB4B,KAAKuc,MAAMsC,WAAY,EACvB7e,KAAKye,QAAQM,SAAS3gB,KAY1B,SAAS4gB,GAAkBnB,EAAWoB,GACpC,OAAOpB,EAAUqB,KAAK,SAAUpD,GAC9B,IAAIqD,EAAOrD,EAAKqD,KAEhB,OADcrD,EAAKsC,SACDe,IAASF,IAW/B,SAASG,GAAyB9iB,GAIhC,IAHA,IAAI+iB,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAYhjB,EAASgI,OAAO,GAAGrH,cAAgBX,EAASc,MAAM,GAEzDoF,EAAI,EAAGA,EAAI6c,EAAS3c,OAAQF,IAAK,CACxC,IAAIjJ,EAAS8lB,EAAS7c,GAClB+c,EAAUhmB,EAAS,GAAKA,EAAS+lB,EAAYhjB,EACjD,GAA4C,oBAAjC5C,SAASqE,KAAKT,MAAMiiB,GAC7B,OAAOA,EAGX,OAAO,KAQT,SAASC,KAsBP,OArBAxf,KAAKuc,MAAM+B,aAAc,EAGrBU,GAAkBhf,KAAK6d,UAAW,gBACpC7d,KAAKya,OAAO5Z,gBAAgB,eAC5Bb,KAAKya,OAAOnd,MAAM+M,SAAW,GAC7BrK,KAAKya,OAAOnd,MAAM2M,IAAM,GACxBjK,KAAKya,OAAOnd,MAAM6M,KAAO,GACzBnK,KAAKya,OAAOnd,MAAM0b,MAAQ,GAC1BhZ,KAAKya,OAAOnd,MAAM2b,OAAS,GAC3BjZ,KAAKya,OAAOnd,MAAMmiB,WAAa,GAC/Bzf,KAAKya,OAAOnd,MAAM8hB,GAAyB,cAAgB,IAG7Dpf,KAAK0f,wBAID1f,KAAKye,QAAQkB,iBACf3f,KAAKya,OAAOld,WAAWmK,YAAY1H,KAAKya,QAEnCza,KAQT,SAAS4f,GAAU/lB,GACjB,IAAIgb,EAAgBhb,EAAQgb,cAC5B,OAAOA,EAAgBA,EAAcC,YAAcva,OAoBrD,SAASslB,GAAoBnF,EAAW+D,EAASlC,EAAOuD,GAEtDvD,EAAMuD,YAAcA,EACpBF,GAAUlF,GAAW/e,iBAAiB,SAAU4gB,EAAMuD,YAAa,CAAEC,SAAS,IAG9E,IAAIC,EAAgB9K,GAAgBwF,GAKpC,OA5BF,SAASuF,EAAsBnG,EAAcjY,EAAOqe,EAAUC,GAC5D,IAAIC,EAAmC,SAA1BtG,EAAa9E,SACtBtR,EAAS0c,EAAStG,EAAajF,cAAcC,YAAcgF,EAC/DpW,EAAO/H,iBAAiBkG,EAAOqe,EAAU,CAAEH,SAAS,IAE/CK,GACHH,EAAsB/K,GAAgBxR,EAAOnG,YAAasE,EAAOqe,EAAUC,GAE7EA,EAAcla,KAAKvC,GAgBnBuc,CAAsBD,EAAe,SAAUzD,EAAMuD,YAAavD,EAAM4D,eACxE5D,EAAMyD,cAAgBA,EACtBzD,EAAM8D,eAAgB,EAEf9D,EAST,SAAS+D,KACFtgB,KAAKuc,MAAM8D,gBACdrgB,KAAKuc,MAAQsD,GAAoB7f,KAAK0a,UAAW1a,KAAKye,QAASze,KAAKuc,MAAOvc,KAAKugB,iBAkCpF,SAASb,KAxBT,IAA8BhF,EAAW6B,EAyBnCvc,KAAKuc,MAAM8D,gBACbG,qBAAqBxgB,KAAKugB,gBAC1BvgB,KAAKuc,OA3BqB7B,EA2BQ1a,KAAK0a,UA3BF6B,EA2Bavc,KAAKuc,MAzBzDqD,GAAUlF,GAAW7e,oBAAoB,SAAU0gB,EAAMuD,aAGzDvD,EAAM4D,cAAc9jB,QAAQ,SAAUqH,GACpCA,EAAO7H,oBAAoB,SAAU0gB,EAAMuD,eAI7CvD,EAAMuD,YAAc,KACpBvD,EAAM4D,cAAgB,GACtB5D,EAAMyD,cAAgB,KACtBzD,EAAM8D,eAAgB,EACf9D,IAwBT,SAASkE,GAAUC,GACjB,MAAa,KAANA,IAAaC,MAAM/lB,WAAW8lB,KAAOE,SAASF,GAWvD,SAASG,GAAUhnB,EAAS0d,GAC1Bpb,OAAOC,KAAKmb,GAAQlb,QAAQ,SAAU0hB,GACpC,IAAI+C,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQ5d,QAAQ6a,IAAgB0C,GAAUlJ,EAAOwG,MACjG+C,EAAO,MAETjnB,EAAQyD,MAAMygB,GAAQxG,EAAOwG,GAAQ+C,IAgIzC,IAAIC,GAAY/M,IAAa,WAAWjX,KAAKyQ,UAAU2G,WA8GvD,SAAS6M,GAAmBnD,EAAWoD,EAAgBC,GACrD,IAAIC,EAAaliB,GAAK4e,EAAW,SAAU/B,GAEzC,OADWA,EAAKqD,OACA8B,IAGdG,IAAeD,GAActD,EAAUqB,KAAK,SAAU9E,GACxD,OAAOA,EAAS+E,OAAS+B,GAAiB9G,EAASgE,SAAWhE,EAAS9D,MAAQ6K,EAAW7K,QAG5F,IAAK8K,EAAY,CACf,IAAIC,EAAc,IAAMJ,EAAiB,IACrCK,EAAY,IAAMJ,EAAgB,IACtChD,QAAQC,KAAKmD,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,KAEnJ,OAAOD,EAoIT,IAAIG,GAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,GAAkBD,GAAWnkB,MAAM,GAYvC,SAASqkB,GAAUjG,GACjB,IAAIkG,EAAUxK,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,IAAmBA,UAAU,GAEzE1I,EAAQgT,GAAgBte,QAAQsY,GAChCiC,EAAM+D,GAAgBpkB,MAAMoR,EAAQ,GAAGmT,OAAOH,GAAgBpkB,MAAM,EAAGoR,IAC3E,OAAOkT,EAAUjE,EAAImE,UAAYnE,EAGnC,IAAIoE,GAAY,CACdC,KAAM,OACNC,UAAW,YACXC,iBAAkB,oBAiMpB,SAASC,GAAYnY,EAAQqT,EAAeF,EAAkBiF,GAC5D,IAAInJ,EAAU,CAAC,EAAG,GAKdoJ,GAA0D,IAA9C,CAAC,QAAS,QAAQjf,QAAQgf,GAItCE,EAAYtY,EAAOhP,MAAM,WAAW8gB,IAAI,SAAUyG,GACpD,OAAOA,EAAKpoB,SAKVqoB,EAAUF,EAAUlf,QAAQjE,GAAKmjB,EAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKE,OAAO,WAGjBH,EAAUE,KAAiD,IAArCF,EAAUE,GAASpf,QAAQ,MACnDgb,QAAQC,KAAK,gFAKf,IAAIqE,EAAa,cACbC,GAAmB,IAAbH,EAAiB,CAACF,EAAUhlB,MAAM,EAAGklB,GAASX,OAAO,CAACS,EAAUE,GAASxnB,MAAM0nB,GAAY,KAAM,CAACJ,EAAUE,GAASxnB,MAAM0nB,GAAY,IAAIb,OAAOS,EAAUhlB,MAAMklB,EAAU,KAAO,CAACF,GAqC9L,OAlCAK,EAAMA,EAAI7G,IAAI,SAAU8G,EAAIlU,GAE1B,IAAI+O,GAAyB,IAAV/O,GAAe2T,EAAYA,GAAa,SAAW,QAClEQ,GAAoB,EACxB,OAAOD,EAGNE,OAAO,SAAU5G,EAAGC,GACnB,MAAwB,KAApBD,EAAEA,EAAEtZ,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKQ,QAAQ+Y,IAC/CD,EAAEA,EAAEtZ,OAAS,GAAKuZ,EAClB0G,GAAoB,EACb3G,GACE2G,GACT3G,EAAEA,EAAEtZ,OAAS,IAAMuZ,EACnB0G,GAAoB,EACb3G,GAEAA,EAAE2F,OAAO1F,IAEjB,IAEFL,IAAI,SAAUiH,GACb,OAxGN,SAAiBA,EAAKtF,EAAaJ,EAAeF,GAEhD,IAAIniB,EAAQ+nB,EAAIjmB,MAAM,6BAClBJ,GAAS1B,EAAM,GACfgmB,EAAOhmB,EAAM,GAGjB,IAAK0B,EACH,OAAOqmB,EAGT,GAA0B,IAAtB/B,EAAK5d,QAAQ,KAAY,CAC3B,IAAIrJ,OAAU,EACd,OAAQinB,GACN,IAAK,KACHjnB,EAAUsjB,EACV,MACF,IAAK,IACL,IAAK,KACL,QACEtjB,EAAUojB,EAId,OADWnE,GAAcjf,GACb0jB,GAAe,IAAM/gB,EAC5B,GAAa,OAATskB,GAA0B,OAATA,EAAe,CAQzC,OALa,OAATA,EACKtnB,KAAKqe,IAAIne,SAAS6L,gBAAgB8T,aAAc9e,OAAO0gB,aAAe,GAEtEzhB,KAAKqe,IAAIne,SAAS6L,gBAAgB6T,YAAa7e,OAAOygB,YAAc,IAE/D,IAAMxe,EAIpB,OAAOA,EAmEEsmB,CAAQD,EAAKtF,EAAaJ,EAAeF,QAKhD5gB,QAAQ,SAAUqmB,EAAIlU,GACxBkU,EAAGrmB,QAAQ,SAAUgmB,EAAMU,GACrBtC,GAAU4B,KACZtJ,EAAQvK,IAAU6T,GAA2B,MAAnBK,EAAGK,EAAS,IAAc,EAAI,QAIvDhK,EA2OT,IAkWIiK,GAAW,CAKbxH,UAAW,SAMXkD,eAAe,EAMf2B,eAAe,EAOfV,iBAAiB,EAQjBZ,SAAU,aAUVD,SAAU,aAOVjB,UAnZc,CASdoF,MAAO,CAEL3M,MAAO,IAEP8H,SAAS,EAET5a,GA9HJ,SAAepF,GACb,IAAIod,EAAYpd,EAAKod,UACjB0G,EAAgB1G,EAAU1gB,MAAM,KAAK,GACrCooB,EAAiB1H,EAAU1gB,MAAM,KAAK,GAG1C,GAAIooB,EAAgB,CAClB,IAAIC,EAAgB/kB,EAAK2a,QACrB2B,EAAYyI,EAAczI,UAC1BD,EAAS0I,EAAc1I,OAEvB2I,GAA2D,IAA9C,CAAC,SAAU,OAAOlgB,QAAQgf,GACvCmB,EAAOD,EAAa,OAAS,MAC7B7F,EAAc6F,EAAa,QAAU,SAErCE,EAAe,CACjBnU,MAAOlP,GAAe,GAAIojB,EAAM3I,EAAU2I,IAC1C9T,IAAKtP,GAAe,GAAIojB,EAAM3I,EAAU2I,GAAQ3I,EAAU6C,GAAe9C,EAAO8C,KAGlFnf,EAAK2a,QAAQ0B,OAAS/B,GAAS,GAAI+B,EAAQ6I,EAAaJ,IAG1D,OAAO9kB,IAgJP0L,OAAQ,CAENwM,MAAO,IAEP8H,SAAS,EAET5a,GA7RJ,SAAgBpF,EAAM0d,GACpB,IAAIhS,EAASgS,EAAKhS,OACd0R,EAAYpd,EAAKod,UACjB2H,EAAgB/kB,EAAK2a,QACrB0B,EAAS0I,EAAc1I,OACvBC,EAAYyI,EAAczI,UAE1BwH,EAAgB1G,EAAU1gB,MAAM,KAAK,GAErCie,OAAU,EAsBd,OApBEA,EADE0H,IAAW3W,GACH,EAAEA,EAAQ,GAEVmY,GAAYnY,EAAQ2Q,EAAQC,EAAWwH,GAG7B,SAAlBA,GACFzH,EAAOxQ,KAAO8O,EAAQ,GACtB0B,EAAOtQ,MAAQ4O,EAAQ,IACI,UAAlBmJ,GACTzH,EAAOxQ,KAAO8O,EAAQ,GACtB0B,EAAOtQ,MAAQ4O,EAAQ,IACI,QAAlBmJ,GACTzH,EAAOtQ,MAAQ4O,EAAQ,GACvB0B,EAAOxQ,KAAO8O,EAAQ,IACK,WAAlBmJ,IACTzH,EAAOtQ,MAAQ4O,EAAQ,GACvB0B,EAAOxQ,KAAO8O,EAAQ,IAGxB3a,EAAKqc,OAASA,EACPrc,GAkQL0L,OAAQ,GAoBVyZ,gBAAiB,CAEfjN,MAAO,IAEP8H,SAAS,EAET5a,GAlRJ,SAAyBpF,EAAMqgB,GAC7B,IAAI7D,EAAoB6D,EAAQ7D,mBAAqB/E,GAAgBzX,EAAKM,SAAS+b,QAK/Erc,EAAKM,SAASgc,YAAcE,IAC9BA,EAAoB/E,GAAgB+E,IAMtC,IAAI4I,EAAgBpE,GAAyB,aACzCqE,EAAerlB,EAAKM,SAAS+b,OAAOnd,MACpC2M,EAAMwZ,EAAaxZ,IACnBE,EAAOsZ,EAAatZ,KACpBuZ,EAAYD,EAAaD,GAE7BC,EAAaxZ,IAAM,GACnBwZ,EAAatZ,KAAO,GACpBsZ,EAAaD,GAAiB,GAE9B,IAAI3I,EAAaL,GAAcpc,EAAKM,SAAS+b,OAAQrc,EAAKM,SAASgc,UAAW+D,EAAQ9D,QAASC,EAAmBxc,EAAKsgB,eAIvH+E,EAAaxZ,IAAMA,EACnBwZ,EAAatZ,KAAOA,EACpBsZ,EAAaD,GAAiBE,EAE9BjF,EAAQ5D,WAAaA,EAErB,IAAIvE,EAAQmI,EAAQkF,SAChBlJ,EAASrc,EAAK2a,QAAQ0B,OAEtBiD,EAAQ,CACVkG,QAAS,SAAiBpI,GACxB,IAAIhf,EAAQie,EAAOe,GAInB,OAHIf,EAAOe,GAAaX,EAAWW,KAAeiD,EAAQoF,sBACxDrnB,EAAQhD,KAAKqe,IAAI4C,EAAOe,GAAYX,EAAWW,KAE1Cvb,GAAe,GAAIub,EAAWhf,IAEvCsnB,UAAW,SAAmBtI,GAC5B,IAAI6B,EAAyB,UAAd7B,EAAwB,OAAS,MAC5Chf,EAAQie,EAAO4C,GAInB,OAHI5C,EAAOe,GAAaX,EAAWW,KAAeiD,EAAQoF,sBACxDrnB,EAAQhD,KAAKuqB,IAAItJ,EAAO4C,GAAWxC,EAAWW,IAA4B,UAAdA,EAAwBf,EAAOzC,MAAQyC,EAAO1C,UAErG9X,GAAe,GAAIod,EAAU7gB,KAWxC,OAPA8Z,EAAMja,QAAQ,SAAUmf,GACtB,IAAI6H,GAA+C,IAAxC,CAAC,OAAQ,OAAOngB,QAAQsY,GAAoB,UAAY,YACnEf,EAAS/B,GAAS,GAAI+B,EAAQiD,EAAM2F,GAAM7H,MAG5Cpd,EAAK2a,QAAQ0B,OAASA,EAEfrc,GA2NLulB,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnChJ,QAAS,EAMTC,kBAAmB,gBAYrBoJ,aAAc,CAEZ1N,MAAO,IAEP8H,SAAS,EAET5a,GAlgBJ,SAAsBpF,GACpB,IAAI+kB,EAAgB/kB,EAAK2a,QACrB0B,EAAS0I,EAAc1I,OACvBC,EAAYyI,EAAczI,UAE1Bc,EAAYpd,EAAKod,UAAU1gB,MAAM,KAAK,GACtCmpB,EAAQzqB,KAAKyqB,MACbb,GAAuD,IAA1C,CAAC,MAAO,UAAUlgB,QAAQsY,GACvC6H,EAAOD,EAAa,QAAU,SAC9Bc,EAASd,EAAa,OAAS,MAC/B7F,EAAc6F,EAAa,QAAU,SASzC,OAPI3I,EAAO4I,GAAQY,EAAMvJ,EAAUwJ,MACjC9lB,EAAK2a,QAAQ0B,OAAOyJ,GAAUD,EAAMvJ,EAAUwJ,IAAWzJ,EAAO8C,IAE9D9C,EAAOyJ,GAAUD,EAAMvJ,EAAU2I,MACnCjlB,EAAK2a,QAAQ0B,OAAOyJ,GAAUD,EAAMvJ,EAAU2I,KAGzCjlB,IA4fP+lB,MAAO,CAEL7N,MAAO,IAEP8H,SAAS,EAET5a,GApxBJ,SAAepF,EAAMqgB,GACnB,IAAI2F,EAGJ,IAAKpD,GAAmB5iB,EAAKM,SAASmf,UAAW,QAAS,gBACxD,OAAOzf,EAGT,IAAIimB,EAAe5F,EAAQ5kB,QAG3B,GAA4B,iBAAjBwqB,GAIT,KAHAA,EAAejmB,EAAKM,SAAS+b,OAAOtgB,cAAckqB,IAIhD,OAAOjmB,OAKT,IAAKA,EAAKM,SAAS+b,OAAOjT,SAAS6c,GAEjC,OADAnG,QAAQC,KAAK,iEACN/f,EAIX,IAAIod,EAAYpd,EAAKod,UAAU1gB,MAAM,KAAK,GACtCqoB,EAAgB/kB,EAAK2a,QACrB0B,EAAS0I,EAAc1I,OACvBC,EAAYyI,EAAczI,UAE1B0I,GAAuD,IAA1C,CAAC,OAAQ,SAASlgB,QAAQsY,GAEvC/Y,EAAM2gB,EAAa,SAAW,QAC9BkB,EAAkBlB,EAAa,MAAQ,OACvCC,EAAOiB,EAAgBznB,cACvB0nB,EAAUnB,EAAa,OAAS,MAChCc,EAASd,EAAa,SAAW,QACjCoB,EAAmBhI,GAAc6H,GAAc5hB,GAQ/CiY,EAAUwJ,GAAUM,EAAmB/J,EAAO4I,KAChDjlB,EAAK2a,QAAQ0B,OAAO4I,IAAS5I,EAAO4I,IAAS3I,EAAUwJ,GAAUM,IAG/D9J,EAAU2I,GAAQmB,EAAmB/J,EAAOyJ,KAC9C9lB,EAAK2a,QAAQ0B,OAAO4I,IAAS3I,EAAU2I,GAAQmB,EAAmB/J,EAAOyJ,IAE3E9lB,EAAK2a,QAAQ0B,OAAS3B,GAAc1a,EAAK2a,QAAQ0B,QAGjD,IAAIgK,EAAS/J,EAAU2I,GAAQ3I,EAAUjY,GAAO,EAAI+hB,EAAmB,EAInE5P,EAAMD,GAAyBvW,EAAKM,SAAS+b,QAC7CiK,EAAmB9pB,WAAWga,EAAI,SAAW0P,GAAkB,IAC/DK,EAAmB/pB,WAAWga,EAAI,SAAW0P,EAAkB,SAAU,IACzEM,EAAYH,EAASrmB,EAAK2a,QAAQ0B,OAAO4I,GAAQqB,EAAmBC,EAQxE,OALAC,EAAYprB,KAAKqe,IAAIre,KAAKuqB,IAAItJ,EAAOhY,GAAO+hB,EAAkBI,GAAY,GAE1ExmB,EAAKimB,aAAeA,EACpBjmB,EAAK2a,QAAQoL,OAAmClkB,GAA1BmkB,EAAsB,GAAwCf,EAAM7pB,KAAKqrB,MAAMD,IAAa3kB,GAAemkB,EAAqBG,EAAS,IAAKH,GAE7JhmB,GA8sBLvE,QAAS,aAcX8kB,KAAM,CAEJrI,MAAO,IAEP8H,SAAS,EAET5a,GA5oBJ,SAAcpF,EAAMqgB,GAElB,GAAIO,GAAkB5gB,EAAKM,SAASmf,UAAW,SAC7C,OAAOzf,EAGT,GAAIA,EAAKogB,SAAWpgB,EAAKod,YAAcpd,EAAKwgB,kBAE1C,OAAOxgB,EAGT,IAAIyc,EAAaL,GAAcpc,EAAKM,SAAS+b,OAAQrc,EAAKM,SAASgc,UAAW+D,EAAQ9D,QAAS8D,EAAQ7D,kBAAmBxc,EAAKsgB,eAE3HlD,EAAYpd,EAAKod,UAAU1gB,MAAM,KAAK,GACtCgqB,EAAoBjI,GAAqBrB,GACzCa,EAAYje,EAAKod,UAAU1gB,MAAM,KAAK,IAAM,GAE5CiqB,EAAY,GAEhB,OAAQtG,EAAQuG,UACd,KAAKnD,GAAUC,KACbiD,EAAY,CAACvJ,EAAWsJ,GACxB,MACF,KAAKjD,GAAUE,UACbgD,EAAYtD,GAAUjG,GACtB,MACF,KAAKqG,GAAUG,iBACb+C,EAAYtD,GAAUjG,GAAW,GACjC,MACF,QACEuJ,EAAYtG,EAAQuG,SAyDxB,OAtDAD,EAAU1oB,QAAQ,SAAU4oB,EAAMzW,GAChC,GAAIgN,IAAcyJ,GAAQF,EAAUriB,SAAW8L,EAAQ,EACrD,OAAOpQ,EAGTod,EAAYpd,EAAKod,UAAU1gB,MAAM,KAAK,GACtCgqB,EAAoBjI,GAAqBrB,GAEzC,IAAI2B,EAAgB/e,EAAK2a,QAAQ0B,OAC7ByK,EAAa9mB,EAAK2a,QAAQ2B,UAG1BuJ,EAAQzqB,KAAKyqB,MACbkB,EAA4B,SAAd3J,GAAwByI,EAAM9G,EAAcnE,OAASiL,EAAMiB,EAAW/a,OAAuB,UAAdqR,GAAyByI,EAAM9G,EAAchT,MAAQ8Z,EAAMiB,EAAWlM,QAAwB,QAAdwC,GAAuByI,EAAM9G,EAAclE,QAAUgL,EAAMiB,EAAWjb,MAAsB,WAAduR,GAA0ByI,EAAM9G,EAAclT,KAAOga,EAAMiB,EAAWjM,QAEjUmM,EAAgBnB,EAAM9G,EAAchT,MAAQ8Z,EAAMpJ,EAAW1Q,MAC7Dkb,EAAiBpB,EAAM9G,EAAcnE,OAASiL,EAAMpJ,EAAW7B,OAC/DsM,EAAerB,EAAM9G,EAAclT,KAAOga,EAAMpJ,EAAW5Q,KAC3Dsb,EAAkBtB,EAAM9G,EAAclE,QAAUgL,EAAMpJ,EAAW5B,QAEjEuM,EAAoC,SAAdhK,GAAwB4J,GAA+B,UAAd5J,GAAyB6J,GAAgC,QAAd7J,GAAuB8J,GAA8B,WAAd9J,GAA0B+J,EAG3KnC,GAAuD,IAA1C,CAAC,MAAO,UAAUlgB,QAAQsY,GAGvCiK,IAA0BhH,EAAQiH,iBAAmBtC,GAA4B,UAAd/G,GAAyB+I,GAAiBhC,GAA4B,QAAd/G,GAAuBgJ,IAAmBjC,GAA4B,UAAd/G,GAAyBiJ,IAAiBlC,GAA4B,QAAd/G,GAAuBkJ,GAGlQI,IAA8BlH,EAAQmH,0BAA4BxC,GAA4B,UAAd/G,GAAyBgJ,GAAkBjC,GAA4B,QAAd/G,GAAuB+I,IAAkBhC,GAA4B,UAAd/G,GAAyBkJ,IAAoBnC,GAA4B,QAAd/G,GAAuBiJ,GAElRO,EAAmBJ,GAAyBE,GAE5CR,GAAeK,GAAuBK,KAExCznB,EAAKogB,SAAU,GAEX2G,GAAeK,KACjBhK,EAAYuJ,EAAUvW,EAAQ,IAG5BqX,IACFxJ,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,EAiJWyJ,CAAqBzJ,IAGnCje,EAAKod,UAAYA,GAAaa,EAAY,IAAMA,EAAY,IAI5Dje,EAAK2a,QAAQ0B,OAAS/B,GAAS,GAAIta,EAAK2a,QAAQ0B,OAAQuC,GAAiB5e,EAAKM,SAAS+b,OAAQrc,EAAK2a,QAAQ2B,UAAWtc,EAAKod,YAE5Hpd,EAAOwf,GAAaxf,EAAKM,SAASmf,UAAWzf,EAAM,WAGhDA,GA4jBL4mB,SAAU,OAKVrK,QAAS,EAOTC,kBAAmB,WAQnB8K,gBAAgB,EAQhBE,yBAAyB,GAU3BG,MAAO,CAELzP,MAAO,IAEP8H,SAAS,EAET5a,GArQJ,SAAepF,GACb,IAAIod,EAAYpd,EAAKod,UACjB0G,EAAgB1G,EAAU1gB,MAAM,KAAK,GACrCqoB,EAAgB/kB,EAAK2a,QACrB0B,EAAS0I,EAAc1I,OACvBC,EAAYyI,EAAczI,UAE1B0C,GAAwD,IAA9C,CAAC,OAAQ,SAASla,QAAQgf,GAEpC8D,GAA6D,IAA5C,CAAC,MAAO,QAAQ9iB,QAAQgf,GAO7C,OALAzH,EAAO2C,EAAU,OAAS,OAAS1C,EAAUwH,IAAkB8D,EAAiBvL,EAAO2C,EAAU,QAAU,UAAY,GAEvHhf,EAAKod,UAAYqB,GAAqBrB,GACtCpd,EAAK2a,QAAQ0B,OAAS3B,GAAc2B,GAE7Brc,IAkQPyU,KAAM,CAEJyD,MAAO,IAEP8H,SAAS,EAET5a,GA9TJ,SAAcpF,GACZ,IAAK4iB,GAAmB5iB,EAAKM,SAASmf,UAAW,OAAQ,mBACvD,OAAOzf,EAGT,IAAIqd,EAAUrd,EAAK2a,QAAQ2B,UACvBuL,EAAQhnB,GAAKb,EAAKM,SAASmf,UAAW,SAAUzD,GAClD,MAAyB,oBAAlBA,EAAS+E,OACftE,WAEH,GAAIY,EAAQxC,OAASgN,EAAMhc,KAAOwR,EAAQtR,KAAO8b,EAAMjN,OAASyC,EAAQxR,IAAMgc,EAAMhN,QAAUwC,EAAQzC,MAAQiN,EAAM9b,KAAM,CAExH,IAAkB,IAAd/L,EAAKyU,KACP,OAAOzU,EAGTA,EAAKyU,MAAO,EACZzU,EAAKsL,WAAW,uBAAyB,OACpC,CAEL,IAAkB,IAAdtL,EAAKyU,KACP,OAAOzU,EAGTA,EAAKyU,MAAO,EACZzU,EAAKsL,WAAW,wBAAyB,EAG3C,OAAOtL,IAoTP8nB,aAAc,CAEZ5P,MAAO,IAEP8H,SAAS,EAET5a,GAtgCJ,SAAsBpF,EAAMqgB,GAC1B,IAAIhC,EAAIgC,EAAQhC,EACZE,EAAI8B,EAAQ9B,EACZlC,EAASrc,EAAK2a,QAAQ0B,OAItB0L,EAA8BlnB,GAAKb,EAAKM,SAASmf,UAAW,SAAUzD,GACxE,MAAyB,eAAlBA,EAAS+E,OACfiH,qBACiCjP,IAAhCgP,GACFjI,QAAQC,KAAK,iIAEf,IAAIiI,OAAkDjP,IAAhCgP,EAA4CA,EAA8B1H,EAAQ2H,gBAEpGrQ,EAAeF,GAAgBzX,EAAKM,SAAS+b,QAC7C4L,EAAmBrc,GAAsB+L,GAGzCwB,EAAS,CACXlN,SAAUoQ,EAAOpQ,UAGf0O,EA9DN,SAA2B3a,EAAMkoB,GAC/B,IAAInD,EAAgB/kB,EAAK2a,QACrB0B,EAAS0I,EAAc1I,OACvBC,EAAYyI,EAAczI,UAC1BmK,EAAQrrB,KAAKqrB,MACbZ,EAAQzqB,KAAKyqB,MAEbsC,EAAU,SAAiBC,GAC7B,OAAOA,GAGLC,EAAiB5B,EAAMnK,EAAU1C,OACjC0O,EAAc7B,EAAMpK,EAAOzC,OAE3BoL,GAA4D,IAA/C,CAAC,OAAQ,SAASlgB,QAAQ9E,EAAKod,WAC5CmL,GAA+C,IAAjCvoB,EAAKod,UAAUtY,QAAQ,KAIrC0jB,EAAuBN,EAAwBlD,GAAcuD,GAH3CF,EAAiB,GAAMC,EAAc,EAGuC7B,EAAQZ,EAAjEsC,EACrCM,EAAqBP,EAAwBzB,EAAV0B,EAEvC,MAAO,CACLpc,KAAMyc,EANWH,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBC,GAAeL,EAAc7L,EAAOtQ,KAAO,EAAIsQ,EAAOtQ,MACjGF,IAAK4c,EAAkBpM,EAAOxQ,KAC9BgP,OAAQ4N,EAAkBpM,EAAOxB,QACjCD,MAAO4N,EAAoBnM,EAAOzB,QAoCtB8N,CAAkB1oB,EAAM7D,OAAOwsB,iBAAmB,IAAMhG,IAElEtJ,EAAc,WAANgF,EAAiB,MAAQ,SACjC/E,EAAc,UAANiF,EAAgB,OAAS,QAKjCqK,EAAmB5H,GAAyB,aAW5CjV,OAAO,EACPF,OAAM,EAqBV,GAhBIA,EAJU,WAAVwN,EAG4B,SAA1B1B,EAAaf,UACRe,EAAasD,aAAeN,EAAQE,QAEpCoN,EAAiBtO,OAASgB,EAAQE,OAGrCF,EAAQ9O,IAIZE,EAFU,UAAVuN,EAC4B,SAA1B3B,EAAaf,UACPe,EAAaqD,YAAcL,EAAQC,OAEnCqN,EAAiBrO,MAAQe,EAAQC,MAGpCD,EAAQ5O,KAEbic,GAAmBY,EACrBzP,EAAOyP,GAAoB,eAAiB7c,EAAO,OAASF,EAAM,SAClEsN,EAAOE,GAAS,EAChBF,EAAOG,GAAS,EAChBH,EAAOkI,WAAa,gBACf,CAEL,IAAIwH,EAAsB,WAAVxP,GAAsB,EAAI,EACtCyP,EAAuB,UAAVxP,GAAqB,EAAI,EAC1CH,EAAOE,GAASxN,EAAMgd,EACtB1P,EAAOG,GAASvN,EAAO+c,EACvB3P,EAAOkI,WAAahI,EAAQ,KAAOC,EAIrC,IAAIhO,EAAa,CACfyd,cAAe/oB,EAAKod,WAQtB,OAJApd,EAAKsL,WAAagP,GAAS,GAAIhP,EAAYtL,EAAKsL,YAChDtL,EAAKmZ,OAASmB,GAAS,GAAInB,EAAQnZ,EAAKmZ,QACxCnZ,EAAKmgB,YAAc7F,GAAS,GAAIta,EAAK2a,QAAQoL,MAAO/lB,EAAKmgB,aAElDngB,GAo7BLgoB,iBAAiB,EAMjB3J,EAAG,SAMHE,EAAG,SAkBLyK,WAAY,CAEV9Q,MAAO,IAEP8H,SAAS,EAET5a,GAzpCJ,SAAoBpF,GApBpB,IAAuBvE,EAAS6P,EAoC9B,OAXAmX,GAAUziB,EAAKM,SAAS+b,OAAQrc,EAAKmZ,QAzBhB1d,EA6BPuE,EAAKM,SAAS+b,OA7BE/Q,EA6BMtL,EAAKsL,WA5BzCvN,OAAOC,KAAKsN,GAAYrN,QAAQ,SAAU0hB,IAE1B,IADFrU,EAAWqU,GAErBlkB,EAAQiP,aAAaiV,EAAMrU,EAAWqU,IAEtClkB,EAAQgH,gBAAgBkd,KA0BxB3f,EAAKimB,cAAgBloB,OAAOC,KAAKgC,EAAKmgB,aAAa7b,QACrDme,GAAUziB,EAAKimB,aAAcjmB,EAAKmgB,aAG7BngB,GA2oCLipB,OA9nCJ,SAA0B3M,EAAWD,EAAQgE,EAAS6I,EAAiB/K,GAErE,IAAIU,EAAmBX,GAAoBC,EAAO9B,EAAQC,EAAW+D,EAAQC,eAKzElD,EAAYD,GAAqBkD,EAAQjD,UAAWyB,EAAkBxC,EAAQC,EAAW+D,EAAQZ,UAAUc,KAAK/D,kBAAmB6D,EAAQZ,UAAUc,KAAKhE,SAQ9J,OANAF,EAAO3R,aAAa,cAAe0S,GAInCqF,GAAUpG,EAAQ,CAAEpQ,SAAUoU,EAAQC,cAAgB,QAAU,aAEzDD,GAsnCL2H,qBAAiBjP,KAuGjBoQ,GAAS,WASX,SAASA,EAAO7M,EAAWD,GACzB,IAAI/U,EAAQ1F,KAERye,EAAUvH,UAAUxU,OAAS,QAAsByU,IAAjBD,UAAU,GAAmBA,UAAU,GAAK,GAClFe,GAAejY,KAAMunB,GAErBvnB,KAAKugB,eAAiB,WACpB,OAAOiH,sBAAsB9hB,EAAM2Y,SAIrCre,KAAKqe,OAASjK,GAASpU,KAAKqe,OAAO/P,KAAKtO,OAGxCA,KAAKye,QAAU/F,GAAS,GAAI6O,EAAOvE,SAAUvE,GAG7Cze,KAAKuc,MAAQ,CACX+B,aAAa,EACbO,WAAW,EACXsB,cAAe,IAIjBngB,KAAK0a,UAAYA,GAAaA,EAAU/G,OAAS+G,EAAU,GAAKA,EAChE1a,KAAKya,OAASA,GAAUA,EAAO9G,OAAS8G,EAAO,GAAKA,EAGpDza,KAAKye,QAAQZ,UAAY,GACzB1hB,OAAOC,KAAKsc,GAAS,GAAI6O,EAAOvE,SAASnF,UAAWY,EAAQZ,YAAYxhB,QAAQ,SAAU8iB,GACxFzZ,EAAM+Y,QAAQZ,UAAUsB,GAAQzG,GAAS,GAAI6O,EAAOvE,SAASnF,UAAUsB,IAAS,GAAIV,EAAQZ,UAAYY,EAAQZ,UAAUsB,GAAQ,MAIpInf,KAAK6d,UAAY1hB,OAAOC,KAAK4D,KAAKye,QAAQZ,WAAWjC,IAAI,SAAUuD,GACjE,OAAOzG,GAAS,CACdyG,KAAMA,GACLzZ,EAAM+Y,QAAQZ,UAAUsB,MAG5BpD,KAAK,SAAUC,EAAGC,GACjB,OAAOD,EAAE1F,MAAQ2F,EAAE3F,QAOrBtW,KAAK6d,UAAUxhB,QAAQ,SAAUirB,GAC3BA,EAAgBlJ,SAAW3J,GAAW6S,EAAgBD,SACxDC,EAAgBD,OAAO3hB,EAAMgV,UAAWhV,EAAM+U,OAAQ/U,EAAM+Y,QAAS6I,EAAiB5hB,EAAM6W,SAKhGvc,KAAKqe,SAEL,IAAIgC,EAAgBrgB,KAAKye,QAAQ4B,cAC7BA,GAEFrgB,KAAKsgB,uBAGPtgB,KAAKuc,MAAM8D,cAAgBA,EAqD7B,OA9CAnI,GAAYqP,EAAQ,CAAC,CACnBppB,IAAK,SACL3B,MAAO,WACL,OAAO6hB,GAAO1hB,KAAKqD,QAEpB,CACD7B,IAAK,UACL3B,MAAO,WACL,OAAOgjB,GAAQ7iB,KAAKqD,QAErB,CACD7B,IAAK,uBACL3B,MAAO,WACL,OAAO8jB,GAAqB3jB,KAAKqD,QAElC,CACD7B,IAAK,wBACL3B,MAAO,WACL,OAAOkjB,GAAsB/iB,KAAKqD,UA4B/BunB,EA7HI,GAqJbA,GAAOE,OAA2B,oBAAXltB,OAAyBA,OAASmtB,QAAQC,YACjEJ,GAAOhG,WAAaA,GACpBgG,GAAOvE,SAAWA,GC7gFlB,IAAMtY,GAAO,WAEPpE,GAAW,cACXC,GAAS,IAAOD,GAQhBshB,GAAiB,IAAI9qB,OAAU+qB,YAE/B9nB,GAAQ,CACZ8R,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfuhB,MAAK,QAAUvhB,GACfG,eAAc,QAAUH,GAfL,YAgBnBwhB,iBAAgB,UAAYxhB,GAhBT,YAiBnByhB,eAAc,QAAUzhB,GAjBL,aAoBfI,GACM,WADNA,GAEE,OAFFA,GAGI,SAHJA,GAIO,YAJPA,GAKM,WALNA,GAMO,sBANPA,GAOa,kBAGbwB,GACS,2BADTA,GAEQ,iBAFRA,GAGE,iBAHFA,GAIQ,cAJRA,GAKW,8DAGX8f,GACC,YADDA,GAEI,UAFJA,GAGI,eAHJA,GAIO,aAJPA,GAKG,cALHA,GAOE,aAIFtd,GAAU,CACdb,OAAQ,EACR6U,MAAM,EACNuJ,SAAU,eACVxN,UAAW,SACXld,QAAS,UACT2qB,aAAc,MAGVjd,GAAc,CAClBpB,OAAQ,2BACR6U,KAAM,UACNuJ,SAAU,mBACVxN,UAAW,mBACXld,QAAS,SACT2qB,aAAc,iBASVC,cACJ,SAAAA,EAAYvuB,EAASoC,GACnB+D,KAAK6G,SAAWhN,EAChBmG,KAAKqoB,QAAU,KACfroB,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAKsoB,MAAQtoB,KAAKuoB,kBAClBvoB,KAAKwoB,UAAYxoB,KAAKyoB,gBAEtBzoB,KAAK6N,qBACLrP,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAmBlCuI,OAAA,WACE,IAAIvI,KAAK6G,SAAS6hB,WAAY1oB,KAAK6G,SAASS,UAAUE,SAASb,IAA/D,CAIA,IAAMgiB,EAAW3oB,KAAKsoB,MAAMhhB,UAAUE,SAASb,IAE/CyhB,EAASQ,aAELD,GAIJ3oB,KAAK8S,WAGPA,KAAA,WACE,KAAI9S,KAAK6G,SAAS6hB,UAAY1oB,KAAK6G,SAASS,UAAUE,SAASb,KAAuB3G,KAAKsoB,MAAMhhB,UAAUE,SAASb,KAApH,CAIA,IAAMU,EAAS+gB,EAASS,qBAAqB7oB,KAAK6G,UAC5CqJ,EAAgB,CACpBA,cAAelQ,KAAK6G,UAKtB,IAFkBlD,EAAamB,QAAQuC,EAAQtH,GAAM4R,KAAMzB,GAE7CrQ,iBAAd,CAKA,IAAKG,KAAKwoB,UAAW,CACnB,GAAsB,oBAAXjB,GACT,MAAM,IAAIjW,UAAU,mEAGtB,IAAIwX,EAAmB9oB,KAAK6G,SAEG,WAA3B7G,KAAKoN,QAAQsN,UACfoO,EAAmBzhB,EACVjM,EAAU4E,KAAKoN,QAAQsN,aAChCoO,EAAmB9oB,KAAKoN,QAAQsN,UAGa,oBAAlC1a,KAAKoN,QAAQsN,UAAU/G,SAChCmV,EAAmB9oB,KAAKoN,QAAQsN,UAAU,KAOhB,iBAA1B1a,KAAKoN,QAAQ8a,UACf7gB,EAAOC,UAAU0B,IAAIrC,IAGvB3G,KAAKqoB,QAAU,IAAId,GAAOuB,EAAkB9oB,KAAKsoB,MAAOtoB,KAAK+oB,oBAO3D,iBAAkBrvB,SAAS6L,kBAC5BrI,EAAUoI,EAAetG,QAAQqI,EAAQc,KAAsBzF,QAChExF,EAAUxD,SAASqE,KAAK0H,UACrBpJ,QAAQ,SAAAiW,GAAI,OAAI3O,EAAaM,GAAGqO,EAAM,YAAa,KX3BzC,gBW8BftS,KAAK6G,SAASgC,QACd7I,KAAK6G,SAASiC,aAAa,iBAAiB,GAE5CQ,GAAYkB,YAAYxK,KAAKsoB,MAAO3hB,IACpC2C,GAAYkB,YAAYnD,EAAQV,IAChChD,EAAamB,QAAQuC,EAAQtH,GAAM6R,MAAO1B,QAG5C2C,KAAA,WACE,IAAI7S,KAAK6G,SAAS6hB,WAAY1oB,KAAK6G,SAASS,UAAUE,SAASb,KAAwB3G,KAAKsoB,MAAMhhB,UAAUE,SAASb,IAArH,CAIA,IAAMU,EAAS+gB,EAASS,qBAAqB7oB,KAAK6G,UAC5CqJ,EAAgB,CACpBA,cAAelQ,KAAK6G,UAGJlD,EAAamB,QAAQuC,EAAQtH,GAAM8R,KAAM3B,GAE7CrQ,mBAIVG,KAAKqoB,SACProB,KAAKqoB,QAAQ7I,UAGflW,GAAYkB,YAAYxK,KAAKsoB,MAAO3hB,IACpC2C,GAAYkB,YAAYnD,EAAQV,IAChChD,EAAamB,QAAQuC,EAAQtH,GAAM+R,OAAQ5B,QAG7C9I,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,IAC/B3C,EAAaC,IAAI5D,KAAK6G,SAAUN,IAChCvG,KAAK6G,SAAW,KAChB7G,KAAKsoB,MAAQ,KACTtoB,KAAKqoB,UACProB,KAAKqoB,QAAQ7I,UACbxf,KAAKqoB,QAAU,SAInBhK,OAAA,WACEre,KAAKwoB,UAAYxoB,KAAKyoB,gBAClBzoB,KAAKqoB,SACProB,KAAKqoB,QAAQ9H,oBAMjB1S,mBAAA,WAAqB,IAAAnI,EAAA1F,KACnB2D,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAM+nB,MAAO,SAAAjmB,GAC1CA,EAAMjC,iBACNiC,EAAMmnB,kBACNtjB,EAAK6C,cAIT8E,WAAA,SAAWpR,GAaT,OAZAA,EAAM0N,EAAA,GACD3J,KAAKipB,YAAYte,QADhB,GAEDrB,GAAYG,kBAAkBzJ,KAAK6G,UAFlC,GAGD5K,GAGLF,EACE2O,GACAzO,EACA+D,KAAKipB,YAAY/d,aAGZjP,KAGTssB,gBAAA,WACE,IAAMlhB,EAAS+gB,EAASS,qBAAqB7oB,KAAK6G,UAElD,OAAOvB,EAAenG,QAAQgJ,GAAed,MAG/C6hB,cAAA,WACE,IAAMC,EAAiBnpB,KAAK6G,SAAStJ,WACjCie,EAAYyM,GAgBhB,OAbIkB,EAAe7hB,UAAUE,SAASb,KACpC6U,EAAYyM,GACRjoB,KAAKsoB,MAAMhhB,UAAUE,SAASb,MAChC6U,EAAYyM,KAELkB,EAAe7hB,UAAUE,SAASb,IAC3C6U,EAAYyM,GACHkB,EAAe7hB,UAAUE,SAASb,IAC3C6U,EAAYyM,GACHjoB,KAAKsoB,MAAMhhB,UAAUE,SAASb,MACvC6U,EAAYyM,IAGPzM,KAGTiN,cAAA,WACE,OAAO9nB,QAAQ2E,EAAetG,QAAQgB,KAAK6G,SAAU,eAGvDuiB,WAAA,WAAa,IAAAra,EAAA/O,KACL8J,EAAS,GAef,MAbmC,mBAAxB9J,KAAKoN,QAAQtD,OACtBA,EAAOtG,GAAK,SAAApF,GAMV,OALAA,EAAK2a,QAALpP,EAAA,GACKvL,EAAK2a,QADV,GAEKhK,EAAK3B,QAAQtD,OAAO1L,EAAK2a,QAAShK,EAAKlI,WAAa,IAGlDzI,GAGT0L,EAAOA,OAAS9J,KAAKoN,QAAQtD,OAGxBA,KAGTif,iBAAA,WACE,IAAMZ,EAAe,CACnB3M,UAAWxb,KAAKkpB,gBAChBrL,UAAW,CACT/T,OAAQ9J,KAAKopB,aACbzK,KAAM,CACJP,QAASpe,KAAKoN,QAAQuR,MAExB4E,gBAAiB,CACf3I,kBAAmB5a,KAAKoN,QAAQ8a,YAYtC,MAN6B,WAAzBloB,KAAKoN,QAAQ5P,UACf2qB,EAAatK,UAAUuJ,WAAa,CAClChJ,SAAS,IAIbzU,EAAA,GACKwe,EADL,GAEKnoB,KAAKoN,QAAQ+a,iBAMbkB,kBAAP,SAAyBxvB,EAASoC,GAChC,IAAImC,EAAOI,EAAKG,QAAQ9E,EAASyM,IAOjC,GAJKlI,IACHA,EAAO,IAAIgqB,EAASvuB,EAHY,iBAAXoC,EAAsBA,EAAS,OAMhC,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,SAIF0L,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACfwgB,EAASiB,kBAAkBrpB,KAAM/D,QAI9B2sB,WAAP,SAAkB/mB,GAChB,IAAIA,GA1VyB,IA0VfA,EAAMC,QACF,UAAfD,EAAME,MA9VO,IA8VaF,EAAMC,OAKnC,IADA,IAAMwnB,EAAUpsB,EAAUoI,EAAerG,KAAKkJ,KACrC3F,EAAI,EAAGC,EAAM6mB,EAAQ5mB,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAM6E,EAAS+gB,EAASS,qBAAqBS,EAAQ9mB,IAC/C+mB,EAAU/qB,EAAKG,QAAQ2qB,EAAQ9mB,GAAI8D,IACnC4J,EAAgB,CACpBA,cAAeoZ,EAAQ9mB,IAOzB,GAJIX,GAAwB,UAAfA,EAAME,OACjBmO,EAAcsZ,WAAa3nB,GAGxB0nB,EAAL,CAIA,IAAME,EAAeF,EAAQjB,MAC7B,GAAKjhB,EAAOC,UAAUE,SAASb,IAI/B,KAAI9E,IAA0B,UAAfA,EAAME,MACjB,kBAAkBhF,KAAK8E,EAAM6B,OAAOiM,UACpB,UAAf9N,EAAME,MAzXG,IAyXiBF,EAAMC,QACjCuF,EAAOG,SAAS3F,EAAM6B,SAIRC,EAAamB,QAAQuC,EAAQtH,GAAM8R,KAAM3B,GAC7CrQ,mBAMV,iBAAkBnG,SAAS6L,iBAC7BrI,EAAUxD,SAASqE,KAAK0H,UACrBpJ,QAAQ,SAAAiW,GAAI,OAAI3O,EAAaC,IAAI0O,EAAM,YAAa,KX5P5C,gBW+PbgX,EAAQ9mB,GAAGsG,aAAa,gBAAiB,SAErCygB,EAAQlB,SACVkB,EAAQlB,QAAQ7I,UAGlBiK,EAAaniB,UAAUC,OAAOZ,IAC9BU,EAAOC,UAAUC,OAAOZ,IACxBhD,EAAamB,QAAQuC,EAAQtH,GAAM+R,OAAQ5B,SAIxC2Y,qBAAP,SAA4BhvB,GAC1B,OAAOO,EAAuBP,IAAYA,EAAQ0D,cAG7CmsB,sBAAP,SAA6B7nB,GAQ3B,IAAI,kBAAkB9E,KAAK8E,EAAM6B,OAAOiM,WAnatB,KAoahB9N,EAAMC,OAraW,KAqaiBD,EAAMC,QAjanB,KAkanBD,EAAMC,OAnaW,KAmaqBD,EAAMC,OAC5CwD,EAAetG,QAAQ6C,EAAM6B,OAAQyE,MACtCyf,GAAe7qB,KAAK8E,EAAMC,UAI7BD,EAAMjC,iBACNiC,EAAMmnB,mBAEFhpB,KAAK0oB,WAAY1oB,KAAKsH,UAAUE,SAASb,KAA7C,CAIA,IAAMU,EAAS+gB,EAASS,qBAAqB7oB,MACvC2oB,EAAWthB,EAAOC,UAAUE,SAASb,IAE3C,IAAKgiB,GAAaA,IAtbC,KAsbY9mB,EAAMC,OArbnB,KAqb+CD,EAAMC,OAMrE,OA5biB,KAubbD,EAAMC,OACRwD,EAAenG,QAAQgJ,GAAsBd,GAAQwB,aAGvDuf,EAASQ,aAIX,IAAMe,EAAQzsB,EAAUoI,EAAerG,KAAKkJ,GAAwBd,IAEpE,GAAKsiB,EAAMjnB,OAAX,CAIA,IAAI8L,EAAQmb,EAAMzmB,QAAQrB,EAAM6B,QAlcX,KAocjB7B,EAAMC,OAA8B0M,EAAQ,GAC9CA,IApcqB,KAucnB3M,EAAMC,OAAgC0M,EAAQmb,EAAMjnB,OAAS,GAC/D8L,IAGEA,EAAQ,IACVA,EAAQ,GAGVmb,EAAMnb,GAAO3F,aAGRd,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CAhY7B,MA3FY,wCA+FZ,OAAOqE,uCAIP,OAAOO,YAkYXvH,EAAaM,GAAGvK,SAAUqG,GAAMgoB,iBAAkB5f,GAAsBigB,GAASsB,uBACjF/lB,EAAaM,GAAGvK,SAAUqG,GAAMgoB,iBAAkB5f,GAAeigB,GAASsB,uBAC1E/lB,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgB0hB,GAASQ,YACzDjlB,EAAaM,GAAGvK,SAAUqG,GAAMioB,eAAgBI,GAASQ,YACzDjlB,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAAsB,SAAUtG,GAC9EA,EAAMjC,iBACNiC,EAAMmnB,kBACNZ,GAASiB,kBAAkBrpB,KAAM,YAEnC2D,EACGM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAAqB,SAAA/O,GAAC,OAAIA,EAAE4vB,oBAElE,IAAMloB,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAGkH,IAChC5J,GAAE0C,GAAGkH,IAAQ0d,GAASzgB,gBACtB7G,GAAE0C,GAAGkH,IAAMzC,YAAcmgB,GACzBtnB,GAAE0C,GAAGkH,IAAMxC,WAAa,WAEtB,OADApH,GAAE0C,GAAGkH,IAAQ1C,GACNogB,GAASzgB,iBC/fpB,IAEMrB,GAAW,WACXC,GAAS,IAAOD,GAIhBqE,GAAU,CACdif,UAAU,EACV/e,UAAU,EACVhC,OAAO,EACPiK,MAAM,GAGF5H,GAAc,CAClB0e,SAAU,mBACV/e,SAAU,UACVhC,MAAO,UACPiK,KAAM,WAGF/S,GAAQ,CACZ8R,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfsjB,QAAO,UAAYtjB,GACnBujB,OAAM,SAAWvjB,GACjBwjB,cAAa,gBAAkBxjB,GAC/ByjB,gBAAe,kBAAoBzjB,GACnC0jB,gBAAe,kBAAoB1jB,GACnC2jB,kBAAiB,oBAAsB3jB,GACvCG,eAAc,QAAUH,GA5BL,aA+BfI,GACQ,0BADRA,GAEgB,0BAFhBA,GAGM,iBAHNA,GAIE,aAJFA,GAKE,OALFA,GAME,OAGFwB,GAAW,CACfgiB,OAAQ,gBACRC,WAAY,cACZnY,YAAa,wBACboY,aAAc,yBACdC,cAAe,oDACfC,eAAgB,eASZC,cACJ,SAAAA,EAAY3wB,EAASoC,GACnB+D,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAK6G,SAAWhN,EAChBmG,KAAKyqB,QAAUnlB,EAAenG,QAAQgJ,GAASgiB,OAAQtwB,GACvDmG,KAAK0qB,UAAY,KACjB1qB,KAAK2qB,UAAW,EAChB3qB,KAAK4qB,oBAAqB,EAC1B5qB,KAAK6qB,sBAAuB,EAC5B7qB,KAAKmS,kBAAmB,EACxBnS,KAAK8qB,gBAAkB,EACvBtsB,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAelCuI,OAAA,SAAO2H,GACL,OAAOlQ,KAAK2qB,SAAW3qB,KAAK6S,OAAS7S,KAAK8S,KAAK5C,MAGjD4C,KAAA,SAAK5C,GAAe,IAAAxK,EAAA1F,KAClB,IAAIA,KAAK2qB,WAAY3qB,KAAKmS,iBAA1B,CAIInS,KAAK6G,SAASS,UAAUE,SAASb,MACnC3G,KAAKmS,kBAAmB,GAG1B,IAAM4Y,EAAYpnB,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM4R,KAAM,CAChEzB,cAAAA,IAGElQ,KAAK2qB,UAAYI,EAAUlrB,mBAI/BG,KAAK2qB,UAAW,EAEhB3qB,KAAKgrB,kBACLhrB,KAAKirB,gBAELjrB,KAAKkrB,gBAELlrB,KAAKmrB,kBACLnrB,KAAKorB,kBAELznB,EAAaM,GAAGjE,KAAK6G,SACnB9G,GAAMgqB,cACN5hB,GAASkiB,aACT,SAAAxoB,GAAK,OAAI6D,EAAKmN,KAAKhR,KAGrB8B,EAAaM,GAAGjE,KAAKyqB,QAAS1qB,GAAMmqB,kBAAmB,WACrDvmB,EAAaO,IAAIwB,EAAKmB,SAAU9G,GAAMkqB,gBAAiB,SAAApoB,GACjDA,EAAM6B,SAAWgC,EAAKmB,WACxBnB,EAAKmlB,sBAAuB,OAKlC7qB,KAAKqrB,cAAc,WAAA,OAAM3lB,EAAK4lB,aAAapb,UAG7C2C,KAAA,SAAKhR,GAAO,IAAAkN,EAAA/O,KAKV,IAJI6B,GACFA,EAAMjC,iBAGHI,KAAK2qB,WAAY3qB,KAAKmS,oBAITxO,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM8R,MAE9ChS,iBAAd,CAIAG,KAAK2qB,UAAW,EAChB,IAAMY,EAAavrB,KAAK6G,SAASS,UAAUE,SAASb,IAgBpD,GAdI4kB,IACFvrB,KAAKmS,kBAAmB,GAG1BnS,KAAKmrB,kBACLnrB,KAAKorB,kBAELznB,EAAaC,IAAIlK,SAAUqG,GAAM8pB,SAEjC7pB,KAAK6G,SAASS,UAAUC,OAAOZ,IAE/BhD,EAAaC,IAAI5D,KAAK6G,SAAU9G,GAAMgqB,eACtCpmB,EAAaC,IAAI5D,KAAKyqB,QAAS1qB,GAAMmqB,mBAEjCqB,EAAY,CACd,IAAM9wB,EAAqBJ,EAAiC2F,KAAK6G,UAEjElD,EAAaO,IAAIlE,KAAK6G,SAAUxN,EAAgB,SAAAwI,GAAK,OAAIkN,EAAKyc,WAAW3pB,KACzEtG,EAAqByE,KAAK6G,SAAUpM,QAEpCuF,KAAKwrB,iBAITpkB,QAAA,WACE,CAAC7M,OAAQyF,KAAK6G,SAAU7G,KAAKyqB,SAC1BpuB,QAAQ,SAAAovB,GAAW,OAAI9nB,EAAaC,IAAI6nB,EAAallB,MAOxD5C,EAAaC,IAAIlK,SAAUqG,GAAM8pB,SAEjCrrB,EAAKI,WAAWoB,KAAK6G,SAAUP,IAE/BtG,KAAKoN,QAAU,KACfpN,KAAK6G,SAAW,KAChB7G,KAAKyqB,QAAU,KACfzqB,KAAK0qB,UAAY,KACjB1qB,KAAK2qB,SAAW,KAChB3qB,KAAK4qB,mBAAqB,KAC1B5qB,KAAK6qB,qBAAuB,KAC5B7qB,KAAKmS,iBAAmB,KACxBnS,KAAK8qB,gBAAkB,QAGzBY,aAAA,WACE1rB,KAAKkrB,mBAKP7d,WAAA,SAAWpR,GAMT,OALAA,EAAM0N,EAAA,GACDgB,GADC,GAED1O,GAELF,EAlNS,QAkNaE,EAAQiP,IACvBjP,KAGTqvB,aAAA,SAAapb,GAAe,IAAAhB,EAAAlP,KACpBurB,EAAavrB,KAAK6G,SAASS,UAAUE,SAASb,IAC9CglB,EAAYrmB,EAAenG,QAAQgJ,GAASiiB,WAAYpqB,KAAKyqB,SAE9DzqB,KAAK6G,SAAStJ,YACfyC,KAAK6G,SAAStJ,WAAWjC,WAAayK,KAAKC,cAE7CtM,SAASqE,KAAK6tB,YAAY5rB,KAAK6G,UAGjC7G,KAAK6G,SAASvJ,MAAME,QAAU,QAC9BwC,KAAK6G,SAAShG,gBAAgB,eAC9Bb,KAAK6G,SAASiC,aAAa,cAAc,GAErC9I,KAAKyqB,QAAQnjB,UAAUE,SAASb,KAAyBglB,EAC3DA,EAAUzhB,UAAY,EAEtBlK,KAAK6G,SAASqD,UAAY,EAGxBqhB,GACF5tB,EAAOqC,KAAK6G,UAGd7G,KAAK6G,SAASS,UAAU0B,IAAIrC,IAExB3G,KAAKoN,QAAQvE,OACf7I,KAAK6rB,gBAGP,IAAMC,EAAqB,WACrB5c,EAAK9B,QAAQvE,OACfqG,EAAKrI,SAASgC,QAGhBqG,EAAKiD,kBAAmB,EACxBxO,EAAamB,QAAQoK,EAAKrI,SAAU9G,GAAM6R,MAAO,CAC/C1B,cAAAA,KAIJ,GAAIqb,EAAY,CACd,IAAM9wB,EAAqBJ,EAAiC2F,KAAKyqB,SAEjE9mB,EAAaO,IAAIlE,KAAKyqB,QAASpxB,EAAgByyB,GAC/CvwB,EAAqByE,KAAKyqB,QAAShwB,QAEnCqxB,OAIJD,cAAA,WAAgB,IAAAjb,EAAA5Q,KACd2D,EAAaC,IAAIlK,SAAUqG,GAAM8pB,SACjClmB,EAAaM,GAAGvK,SAAUqG,GAAM8pB,QAAS,SAAAhoB,GACnCnI,WAAamI,EAAM6B,QACnBkN,EAAK/J,WAAahF,EAAM6B,QACvBkN,EAAK/J,SAASW,SAAS3F,EAAM6B,SAChCkN,EAAK/J,SAASgC,aAKpBsiB,gBAAA,WAAkB,IAAAY,EAAA/rB,KACZA,KAAK2qB,UAAY3qB,KAAKoN,QAAQvC,SAChClH,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAMiqB,gBAAiB,SAAAnoB,GAjRrC,KAkRXA,EAAMC,QACRD,EAAMjC,iBACNmsB,EAAKlZ,UAITlP,EAAaC,IAAI5D,KAAK6G,SAAU9G,GAAMiqB,oBAI1CoB,gBAAA,WAAkB,IAAAY,EAAAhsB,KACZA,KAAK2qB,SACPhnB,EAAaM,GAAG1J,OAAQwF,GAAM+pB,OAAQ,WAAA,OAAMkC,EAAKd,kBAEjDvnB,EAAaC,IAAIrJ,OAAQwF,GAAM+pB,WAInC0B,WAAA,WAAa,IAAAS,EAAAjsB,KACXA,KAAK6G,SAASvJ,MAAME,QAAU,OAC9BwC,KAAK6G,SAASiC,aAAa,eAAe,GAC1C9I,KAAK6G,SAAShG,gBAAgB,cAC9Bb,KAAKmS,kBAAmB,EACxBnS,KAAKqrB,cAAc,WACjB3xB,SAASqE,KAAKuJ,UAAUC,OAAOZ,IAC/BslB,EAAKC,oBACLD,EAAKE,kBACLxoB,EAAamB,QAAQmnB,EAAKplB,SAAU9G,GAAM+R,aAI9Csa,gBAAA,WACEpsB,KAAK0qB,UAAUntB,WAAWmK,YAAY1H,KAAK0qB,WAC3C1qB,KAAK0qB,UAAY,QAGnBW,cAAA,SAAcnL,GAAU,IAAAmM,EAAArsB,KAChBssB,EAAUtsB,KAAK6G,SAASS,UAAUE,SAASb,IAC/CA,GACA,GAEF,GAAI3G,KAAK2qB,UAAY3qB,KAAKoN,QAAQwc,SAAU,CAiC1C,GAhCA5pB,KAAK0qB,UAAYhxB,SAAS0G,cAAc,OACxCJ,KAAK0qB,UAAUjgB,UAAY9D,GAEvB2lB,GACFtsB,KAAK0qB,UAAUpjB,UAAU0B,IAAIsjB,GAG/B5yB,SAASqE,KAAK6tB,YAAY5rB,KAAK0qB,WAE/B/mB,EAAaM,GAAGjE,KAAK6G,SAAU9G,GAAMgqB,cAAe,SAAAloB,GAC9CwqB,EAAKxB,qBACPwB,EAAKxB,sBAAuB,EAI1BhpB,EAAM6B,SAAW7B,EAAM0qB,gBAIG,WAA1BF,EAAKjf,QAAQwc,SACfyC,EAAKxlB,SAASgC,QAEdwjB,EAAKxZ,UAILyZ,GACF3uB,EAAOqC,KAAK0qB,WAGd1qB,KAAK0qB,UAAUpjB,UAAU0B,IAAIrC,KAExB2lB,EAEH,YADApM,IAIF,IAAMsM,EAA6BnyB,EAAiC2F,KAAK0qB,WAEzE/mB,EAAaO,IAAIlE,KAAK0qB,UAAWrxB,EAAgB6mB,GACjD3kB,EAAqByE,KAAK0qB,UAAW8B,QAChC,IAAKxsB,KAAK2qB,UAAY3qB,KAAK0qB,UAAW,CAC3C1qB,KAAK0qB,UAAUpjB,UAAUC,OAAOZ,IAEhC,IAAM8lB,EAAiB,WACrBJ,EAAKD,kBACLlM,KAGF,GAAIlgB,KAAK6G,SAASS,UAAUE,SAASb,IAAiB,CACpD,IAAM6lB,EAA6BnyB,EAAiC2F,KAAK0qB,WACzE/mB,EAAaO,IAAIlE,KAAK0qB,UAAWrxB,EAAgBozB,GACjDlxB,EAAqByE,KAAK0qB,UAAW8B,QAErCC,SAGFvM,OAQJgL,cAAA,WACE,IAAMwB,EACJ1sB,KAAK6G,SAAS8lB,aAAejzB,SAAS6L,gBAAgB8T,cAEnDrZ,KAAK4qB,oBAAsB8B,IAC9B1sB,KAAK6G,SAASvJ,MAAMsvB,YAAiB5sB,KAAK8qB,gBAA1C,MAGE9qB,KAAK4qB,qBAAuB8B,IAC9B1sB,KAAK6G,SAASvJ,MAAMuvB,aAAkB7sB,KAAK8qB,gBAA3C,SAIJoB,kBAAA,WACElsB,KAAK6G,SAASvJ,MAAMsvB,YAAc,GAClC5sB,KAAK6G,SAASvJ,MAAMuvB,aAAe,MAGrC7B,gBAAA,WACE,IAAMjhB,EAAOrQ,SAASqE,KAAKiM,wBAC3BhK,KAAK4qB,mBAAqB7gB,EAAKI,KAAOJ,EAAKiP,MAAQze,OAAOygB,WAC1Dhb,KAAK8qB,gBAAkB9qB,KAAK8sB,wBAG9B7B,cAAA,WAAgB,IAAA8B,EAAA/sB,KACd,GAAIA,KAAK4qB,mBAAoB,CAK3B1tB,EAAUoI,EAAerG,KAAKkJ,GAASmiB,gBACpCjuB,QAAQ,SAAAxC,GACP,IAAMmzB,EAAgBnzB,EAAQyD,MAAMuvB,aAC9BI,EAAoB1yB,OAAOC,iBAAiBX,GAAS,iBAC3DyP,GAAYC,iBAAiB1P,EAAS,gBAAiBmzB,GACvDnzB,EAAQyD,MAAMuvB,aAAkBjyB,WAAWqyB,GAAqBF,EAAKjC,gBAArE,OAIJ5tB,EAAUoI,EAAerG,KAAKkJ,GAASoiB,iBACpCluB,QAAQ,SAAAxC,GACP,IAAMqzB,EAAerzB,EAAQyD,MAAMsf,YAC7BuQ,EAAmB5yB,OAAOC,iBAAiBX,GAAS,gBAC1DyP,GAAYC,iBAAiB1P,EAAS,eAAgBqzB,GACtDrzB,EAAQyD,MAAMsf,YAAiBhiB,WAAWuyB,GAAoBJ,EAAKjC,gBAAnE,OAIJ,IAAMkC,EAAgBtzB,SAASqE,KAAKT,MAAMuvB,aACpCI,EAAoB1yB,OAAOC,iBAAiBd,SAASqE,MAAM,iBAEjEuL,GAAYC,iBAAiB7P,SAASqE,KAAM,gBAAiBivB,GAC7DtzB,SAASqE,KAAKT,MAAMuvB,aAAkBjyB,WAAWqyB,GAAqBjtB,KAAK8qB,gBAA3E,KAGFpxB,SAASqE,KAAKuJ,UAAU0B,IAAIrC,OAG9BwlB,gBAAA,WAEEjvB,EAAUoI,EAAerG,KAAKkJ,GAASmiB,gBACpCjuB,QAAQ,SAAAxC,GACP,IAAM8gB,EAAUrR,GAAYO,iBAAiBhQ,EAAS,iBAC/B,oBAAZ8gB,IACTrR,GAAYE,oBAAoB3P,EAAS,iBACzCA,EAAQyD,MAAMuvB,aAAelS,KAKnCzd,EAAUoI,EAAerG,KAAf,GAAuBkJ,GAASoiB,iBACvCluB,QAAQ,SAAAxC,GACP,IAAMuzB,EAAS9jB,GAAYO,iBAAiBhQ,EAAS,gBAC/B,oBAAXuzB,IACT9jB,GAAYE,oBAAoB3P,EAAS,gBACzCA,EAAQyD,MAAMsf,YAAcwQ,KAKlC,IAAMzS,EAAUrR,GAAYO,iBAAiBnQ,SAASqE,KAAM,iBACrC,oBAAZ4c,EACTjhB,SAASqE,KAAKT,MAAMuvB,aAAe,IAEnCvjB,GAAYE,oBAAoB9P,SAASqE,KAAM,iBAC/CrE,SAASqE,KAAKT,MAAMuvB,aAAelS,MAIvCmS,mBAAA,WACE,IAAMO,EAAY3zB,SAAS0G,cAAc,OACzCitB,EAAU5iB,UAAY9D,GACtBjN,SAASqE,KAAK6tB,YAAYyB,GAC1B,IAAMC,EAAiBD,EAAUrjB,wBAAwBgO,MAAQqV,EAAUjU,YAE3E,OADA1f,SAASqE,KAAK2J,YAAY2lB,GACnBC,KAKF3lB,gBAAP,SAAuB1L,EAAQiU,GAC7B,OAAOlQ,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,IACxB8G,EAAOzD,EAAA,GACRgB,GADQ,GAERrB,GAAYG,kBAAkBzJ,MAFtB,GAGU,iBAAX/D,GAAuBA,EAASA,EAAS,IAOrD,GAJKmC,IACHA,EAAO,IAAIosB,EAAMxqB,KAAMoN,IAGH,iBAAXnR,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,GAAQiU,QACJ9C,EAAQ0F,MACjB1U,EAAK0U,KAAK5C,QAKTnI,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CApb7B,MA3EY,wCA+EZ,OAAOqE,YA0bXhH,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAAS8J,YAAa,SAAUpQ,GAAO,IAAA0rB,EAAAvtB,KAC/E0D,EAAStJ,EAAuB4F,MAEjB,MAAjBA,KAAK2P,SAAoC,SAAjB3P,KAAK2P,SAC/B9N,EAAMjC,iBAGR+D,EAAaO,IAAIR,EAAQ3D,GAAM4R,KAAM,SAAAoZ,GAC/BA,EAAUlrB,kBAKd8D,EAAaO,IAAIR,EAAQ3D,GAAM+R,OAAQ,WACjCzU,EAAUkwB,IACZA,EAAK1kB,YAKX,IAAIzK,EAAOI,EAAKG,QAAQ+E,EAAQ4C,IAChC,IAAKlI,EAAM,CACT,IAAMnC,EAAM0N,EAAA,GACPL,GAAYG,kBAAkB/F,GADvB,GAEP4F,GAAYG,kBAAkBzJ,OAGnC5B,EAAO,IAAIosB,GAAM9mB,EAAQzH,GAG3BmC,EAAK0U,KAAK9S,QAGZ,IAAMc,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAagnB,GAAM7iB,gBACnB7G,GAAE0C,GAAF,MAAWyE,YAAcuiB,GACzB1pB,GAAE0C,GAAF,MAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,MAAawE,GACNwiB,GAAM7iB,iBC9kBjB,IAAM6lB,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAUIC,GAAmB,gEAOnBC,GAAmB,uIAEnBC,GAAmB,SAACC,EAAMC,GAC9B,IAAMC,EAAWF,EAAK5Y,SAASnY,cAE/B,IAAgD,IAA5CgxB,EAAqB3qB,QAAQ4qB,GAC/B,OAAoC,IAAhCN,GAAStqB,QAAQ4qB,IACZntB,QAAQitB,EAAKG,UAAUnxB,MAAM6wB,KAAqBG,EAAKG,UAAUnxB,MAAM8wB,KASlF,IAHA,IAAMM,EAASH,EAAqBloB,OAAO,SAAAsoB,GAAS,OAAIA,aAAqBnxB,SAGpE0F,EAAI,EAAG0rB,EAAIF,EAAOtrB,OAAQF,EAAI0rB,EAAG1rB,IACxC,GAAIsrB,EAASlxB,MAAMoxB,EAAOxrB,IACxB,OAAO,EAIX,OAAO,GAGI2rB,GAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAzCP,kBA0C7BpS,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BH,KAAM,GACNI,EAAG,GACHoS,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJxsB,EAAG,GACHysB,IAAK,CAAC,MAAO,MAAO,QAAS,QAAS,UACtCC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAGC,SAASC,GAAaC,EAAYC,EAAWC,GAClD,IAAKF,EAAWrtB,OACd,OAAOqtB,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAI31B,OAAO41B,WACKC,gBAAgBL,EAAY,aACxDM,EAAgBl0B,OAAOC,KAAK4zB,GAC5BM,EAAWpzB,EAAUgzB,EAAgBnyB,KAAKmB,iBAAiB,MAZHqxB,EAAA,SAcrD/tB,EAAOC,GACd,IAAM8X,EAAK+V,EAAS9tB,GACdguB,EAASjW,EAAGvF,SAASnY,cAE3B,IAAuC,IAAnCwzB,EAAcntB,QAAQstB,GAGxB,OAFAjW,EAAGhd,WAAWmK,YAAY6S,GAE1B,WAGF,IAAMkW,EAAgBvzB,EAAUqd,EAAG7Q,YAC7BgnB,EAAwB,GAAG/O,OAAOqO,EAAU,MAAQ,GAAIA,EAAUQ,IAAW,IAEnFC,EAAcp0B,QAAQ,SAAAuxB,GACfD,GAAiBC,EAAM8C,IAC1BnW,EAAG1Z,gBAAgB+sB,EAAK5Y,aAfrBxS,EAAI,EAAGC,EAAM6tB,EAAS5tB,OAAQF,EAAIC,EAAKD,IAAK+tB,EAA5C/tB,GAoBT,OAAO0tB,EAAgBnyB,KAAK4yB,UC5F9B,IAAMjmB,GAAO,UAKPkmB,GAAqB,IAAI9zB,OAAJ,wBAAyC,KAC9D+zB,GAAwB,CAAC,WAAY,YAAa,cAElD3lB,GAAc,CAClB4lB,UAAW,UACXC,SAAU,SACVC,MAAO,4BACPlsB,QAAS,SACTmsB,MAAO,kBACP7Z,KAAM,UACNtd,SAAU,mBACV0hB,UAAW,oBACX1R,OAAQ,2BACRmJ,UAAW,2BACXie,kBAAmB,iBACnBhJ,SAAU,mBACViJ,SAAU,UACVlB,WAAY,kBACZD,UAAW,SACX7H,aAAc,iBAGVF,GAAgB,CACpBmJ,KAAM,OACNC,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,KAAM,QAGF7mB,GAAU,CACdmmB,WAAW,EACXC,SAAU,+GAGVjsB,QAAS,cACTksB,MAAO,GACPC,MAAO,EACP7Z,MAAM,EACNtd,UAAU,EACV0hB,UAAW,MACX1R,OAAQ,EACRmJ,WAAW,EACXie,kBAAmB,OACnBhJ,SAAU,eACViJ,UAAU,EACVlB,WAAY,KACZD,UAAW7B,GACXhG,aAAc,MAGVsJ,GACE,OADFA,GAEC,MAGD1xB,GAAQ,CACZ8R,KAAI,kBACJC,OAAM,oBACNH,KAAI,kBACJC,MAAK,mBACL8f,SAAQ,sBACR5J,MAAK,mBACL+B,QAAO,qBACP8H,SAAQ,sBACRpmB,WAAU,wBACVC,WAAU,yBAGN7E,GACE,OADFA,GAEE,OAGFwB,GACW,iBAGXypB,GACG,QADHA,GAEG,QAFHA,GAGG,QAHHA,GAII,SASJC,cACJ,SAAAA,EAAYh4B,EAASoC,GACnB,GAAsB,oBAAXsrB,GACT,MAAM,IAAIjW,UAAU,kEAItBtR,KAAK8xB,YAAa,EAClB9xB,KAAK+xB,SAAW,EAChB/xB,KAAKgyB,YAAc,GACnBhyB,KAAKiyB,eAAiB,GACtBjyB,KAAKqoB,QAAU,KAGfroB,KAAKnG,QAAUA,EACfmG,KAAK/D,OAAS+D,KAAKqN,WAAWpR,GAC9B+D,KAAKkyB,IAAM,KAEXlyB,KAAKmyB,gBACL3zB,EAAKC,QAAQ5E,EAASmG,KAAKipB,YAAY3iB,SAAUtG,iCAmCnDoyB,OAAA,WACEpyB,KAAK8xB,YAAa,KAGpBO,QAAA,WACEryB,KAAK8xB,YAAa,KAGpBQ,cAAA,WACEtyB,KAAK8xB,YAAc9xB,KAAK8xB,cAG1BvpB,OAAA,SAAO1G,GACL,GAAK7B,KAAK8xB,WAIV,GAAIjwB,EAAO,CACT,IAAM0wB,EAAUvyB,KAAKipB,YAAY3iB,SAC7BijB,EAAU/qB,EAAKG,QAAQkD,EAAMK,eAAgBqwB,GAE5ChJ,IACHA,EAAU,IAAIvpB,KAAKipB,YACjBpnB,EAAMK,eACNlC,KAAKwyB,sBAEPh0B,EAAKC,QAAQoD,EAAMK,eAAgBqwB,EAAShJ,IAG9CA,EAAQ0I,eAAeQ,OAASlJ,EAAQ0I,eAAeQ,MAEnDlJ,EAAQmJ,uBACVnJ,EAAQoJ,OAAO,KAAMpJ,GAErBA,EAAQqJ,OAAO,KAAMrJ,OAElB,CACL,GAAIvpB,KAAK6yB,gBAAgBvrB,UAAUE,SAASb,IAE1C,YADA3G,KAAK4yB,OAAO,KAAM5yB,MAIpBA,KAAK2yB,OAAO,KAAM3yB,UAItBoH,QAAA,WACEoI,aAAaxP,KAAK+xB,UAElBvzB,EAAKI,WAAWoB,KAAKnG,QAASmG,KAAKipB,YAAY3iB,UAE/C3C,EAAaC,IAAI5D,KAAKnG,QAASmG,KAAKipB,YAAY1iB,WAChD5C,EAAaC,IAAI0B,EAAetG,QAAQgB,KAAKnG,QAAS,UAAW,gBAAiBmG,KAAK8yB,mBAEnF9yB,KAAKkyB,KACPlyB,KAAKkyB,IAAI30B,WAAWmK,YAAY1H,KAAKkyB,KAGvClyB,KAAK8xB,WAAa,KAClB9xB,KAAK+xB,SAAW,KAChB/xB,KAAKgyB,YAAc,KACnBhyB,KAAKiyB,eAAiB,KAClBjyB,KAAKqoB,SACProB,KAAKqoB,QAAQ7I,UAGfxf,KAAKqoB,QAAU,KACfroB,KAAKnG,QAAU,KACfmG,KAAK/D,OAAS,KACd+D,KAAKkyB,IAAM,QAGbpf,KAAA,WAAO,IAAApN,EAAA1F,KACL,GAAmC,SAA/BA,KAAKnG,QAAQyD,MAAME,QACrB,MAAM,IAAIR,MAAM,uCAGlB,GAAIgD,KAAK+yB,iBAAmB/yB,KAAK8xB,WAAY,CAC3C,IAAM/G,EAAYpnB,EAAamB,QAAQ9E,KAAKnG,QAASmG,KAAKipB,YAAYlpB,MAAM4R,MACtEqhB,EdnHW,SAAjBC,EAAiBp5B,GACrB,IAAKH,SAAS6L,gBAAgB2tB,aAC5B,OAAO,KAIT,GAAmC,mBAAxBr5B,EAAQs5B,YAA4B,CAC7C,IAAMC,EAAOv5B,EAAQs5B,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,KAG7C,OAAIv5B,aAAmBw5B,WACdx5B,EAIJA,EAAQ0D,WAIN01B,EAAep5B,EAAQ0D,YAHrB,KckGc01B,CAAejzB,KAAKnG,SACjCy5B,EAA4B,OAAfN,EACjBhzB,KAAKnG,QAAQgb,cAActP,gBAAgBiC,SAASxH,KAAKnG,SACzDm5B,EAAWxrB,SAASxH,KAAKnG,SAE3B,GAAIkxB,EAAUlrB,mBAAqByzB,EACjC,OAGF,IAAMpB,EAAMlyB,KAAK6yB,gBACXU,EAAQj6B,EAAO0G,KAAKipB,YAAYve,MAEtCwnB,EAAIppB,aAAa,KAAMyqB,GACvBvzB,KAAKnG,QAAQiP,aAAa,mBAAoByqB,GAE9CvzB,KAAKwzB,aAEDxzB,KAAK/D,OAAO60B,WACdoB,EAAI5qB,UAAU0B,IAAIrC,IAGpB,IAAM6U,EAA6C,mBAA1Bxb,KAAK/D,OAAOuf,UACnCxb,KAAK/D,OAAOuf,UAAU7e,KAAKqD,KAAMkyB,EAAKlyB,KAAKnG,SAC3CmG,KAAK/D,OAAOuf,UAERiY,EAAazzB,KAAK0zB,eAAelY,GACvCxb,KAAK2zB,oBAAoBF,GAEzB,IAAMxgB,EAAYjT,KAAK4zB,gBACvBp1B,EAAKC,QAAQyzB,EAAKlyB,KAAKipB,YAAY3iB,SAAUtG,MAExCA,KAAKnG,QAAQgb,cAActP,gBAAgBiC,SAASxH,KAAKkyB,MAC5Djf,EAAU2Y,YAAYsG,GAGxBvuB,EAAamB,QAAQ9E,KAAKnG,QAASmG,KAAKipB,YAAYlpB,MAAM2xB,UAE1D1xB,KAAKqoB,QAAU,IAAId,GAAOvnB,KAAKnG,QAASq4B,EAAKlyB,KAAK+oB,iBAAiB0K,IAEnEvB,EAAI5qB,UAAU0B,IAAIrC,IAMd,iBAAkBjN,SAAS6L,iBAC7BrI,EAAUxD,SAASqE,KAAK0H,UAAUpJ,QAAQ,SAAAxC,GACxC8J,EAAaM,GAAGpK,EAAS,Yd1IhB,gBc8Ib,IAAMg6B,EAAW,WACXnuB,EAAKzJ,OAAO60B,WACdprB,EAAKouB,iBAGP,IAAMC,EAAiBruB,EAAKssB,YAC5BtsB,EAAKssB,YAAc,KAEnBruB,EAAamB,QAAQY,EAAK7L,QAAS6L,EAAKujB,YAAYlpB,MAAM6R,OAEtDmiB,IAAmBtC,IACrB/rB,EAAKktB,OAAO,KAAMltB,IAItB,GAAI1F,KAAKkyB,IAAI5qB,UAAUE,SAASb,IAAiB,CAC/C,IAAMlM,EAAqBJ,EAAiC2F,KAAKkyB,KACjEvuB,EAAaO,IAAIlE,KAAKkyB,IAAK74B,EAAgBw6B,GAC3Ct4B,EAAqByE,KAAKkyB,IAAKz3B,QAE/Bo5B,QAKNhhB,KAAA,WAAO,IAAA9D,EAAA/O,KACCkyB,EAAMlyB,KAAK6yB,gBACXgB,EAAW,WACX9kB,EAAKijB,cAAgBP,IAAmBS,EAAI30B,YAC9C20B,EAAI30B,WAAWmK,YAAYwqB,GAG7BnjB,EAAKilB,iBACLjlB,EAAKlV,QAAQgH,gBAAgB,oBAC7B8C,EAAamB,QAAQiK,EAAKlV,QAASkV,EAAKka,YAAYlpB,MAAM+R,QAC1D/C,EAAKsZ,QAAQ7I,WAIf,IADkB7b,EAAamB,QAAQ9E,KAAKnG,QAASmG,KAAKipB,YAAYlpB,MAAM8R,MAC9DhS,iBAAd,CAiBA,GAbAqyB,EAAI5qB,UAAUC,OAAOZ,IAIjB,iBAAkBjN,SAAS6L,iBAC7BrI,EAAUxD,SAASqE,KAAK0H,UACrBpJ,QAAQ,SAAAxC,GAAO,OAAI8J,EAAaC,IAAI/J,EAAS,YAAa6D,KAG/DsC,KAAKiyB,eAAeL,KAAiB,EACrC5xB,KAAKiyB,eAAeL,KAAiB,EACrC5xB,KAAKiyB,eAAeL,KAAiB,EAEjC5xB,KAAKkyB,IAAI5qB,UAAUE,SAASb,IAAiB,CAC/C,IAAMlM,EAAqBJ,EAAiC63B,GAE5DvuB,EAAaO,IAAIguB,EAAK74B,EAAgBw6B,GACtCt4B,EAAqB22B,EAAKz3B,QAE1Bo5B,IAGF7zB,KAAKgyB,YAAc,OAGrB3T,OAAA,WACuB,OAAjBre,KAAKqoB,SACProB,KAAKqoB,QAAQ9H,oBAMjBwS,cAAA,WACE,OAAOpyB,QAAQX,KAAKi0B,eAGtBpB,cAAA,WACE,GAAI7yB,KAAKkyB,IACP,OAAOlyB,KAAKkyB,IAGd,IAAMr4B,EAAUH,SAAS0G,cAAc,OAIvC,OAHAvG,EAAQ82B,UAAY3wB,KAAK/D,OAAO80B,SAEhC/wB,KAAKkyB,IAAMr4B,EAAQ4L,SAAS,GACrBzF,KAAKkyB,OAGdsB,WAAA,WACE,IAAMtB,EAAMlyB,KAAK6yB,gBACjB7yB,KAAKk0B,kBAAkB5uB,EAAenG,QAAQgJ,GAAwB+pB,GAAMlyB,KAAKi0B,YACjF/B,EAAI5qB,UAAUC,OAAOZ,IACrBurB,EAAI5qB,UAAUC,OAAOZ,OAGvButB,kBAAA,SAAkBr6B,EAASs6B,GACzB,GAAgB,OAAZt6B,EAIJ,MAAuB,iBAAZs6B,GAAwB/4B,EAAU+4B,IACvCA,EAAQxgB,SACVwgB,EAAUA,EAAQ,SAIhBn0B,KAAK/D,OAAOmb,KACV+c,EAAQ52B,aAAe1D,IACzBA,EAAQ82B,UAAY,GACpB92B,EAAQ+xB,YAAYuI,IAGtBt6B,EAAQu6B,UAAYD,EAAQE,mBAM5Br0B,KAAK/D,OAAOmb,MACVpX,KAAK/D,OAAOk1B,WACdgD,EAAUrE,GAAaqE,EAASn0B,KAAK/D,OAAO+zB,UAAWhwB,KAAK/D,OAAOg0B,aAGrEp2B,EAAQ82B,UAAYwD,GAEpBt6B,EAAQu6B,UAAYD,MAIxBF,SAAA,WACE,IAAIjD,EAAQhxB,KAAKnG,QAAQE,aAAa,uBAQtC,OANKi3B,IACHA,EAAqC,mBAAtBhxB,KAAK/D,OAAO+0B,MACzBhxB,KAAK/D,OAAO+0B,MAAMr0B,KAAKqD,KAAKnG,SAC5BmG,KAAK/D,OAAO+0B,OAGTA,KAKTjI,iBAAA,SAAiB0K,GAAY,IAAAvkB,EAAAlP,KAuB3B,OAAA2J,EAAA,GAtBwB,CACtB6R,UAAWiY,EACX5V,UAAW,CACT/T,OAAQ9J,KAAKopB,aACbzK,KAAM,CACJqG,SAAUhlB,KAAK/D,OAAOi1B,mBAExB/M,MAAO,CACLtqB,QAAO,IAAMmG,KAAKipB,YAAYve,KAAvB,UAET6Y,gBAAiB,CACf3I,kBAAmB5a,KAAK/D,OAAOisB,WAGnCnJ,SAAU,SAAA3gB,GACJA,EAAKwgB,oBAAsBxgB,EAAKod,WAClCtM,EAAKolB,6BAA6Bl2B,IAGtC0gB,SAAU,SAAA1gB,GAAI,OAAI8Q,EAAKolB,6BAA6Bl2B,KAGtD,GAEK4B,KAAK/D,OAAOksB,iBAInBwL,oBAAA,SAAoBF,GAClBzzB,KAAK6yB,gBAAgBvrB,UAAU0B,IAAOurB,cAAgBd,MAGxDrK,WAAA,WAAa,IAAAxY,EAAA5Q,KACL8J,EAAS,GAef,MAbkC,mBAAvB9J,KAAK/D,OAAO6N,OACrBA,EAAOtG,GAAK,SAAApF,GAMV,OALAA,EAAK2a,QAALpP,EAAA,GACKvL,EAAK2a,QADV,GAEKnI,EAAK3U,OAAO6N,OAAO1L,EAAK2a,QAASnI,EAAK/W,UAAY,IAGhDuE,GAGT0L,EAAOA,OAAS9J,KAAK/D,OAAO6N,OAGvBA,KAGT8pB,cAAA,WACE,OAA8B,IAA1B5zB,KAAK/D,OAAOgX,UACPvZ,SAASqE,KAGd3C,EAAU4E,KAAK/D,OAAOgX,WACjBjT,KAAK/D,OAAOgX,UAGd3N,EAAenG,QAAQa,KAAK/D,OAAOgX,cAG5CygB,eAAA,SAAelY,GACb,OAAOyM,GAAczM,EAAUve,kBAGjCk1B,cAAA,WAAgB,IAAApG,EAAA/rB,KACGA,KAAK/D,OAAO6I,QAAQhK,MAAM,KAElCuB,QAAQ,SAAAyI,GACf,GAAgB,UAAZA,EACFnB,EAAaM,GAAG8nB,EAAKlyB,QACnBkyB,EAAK9C,YAAYlpB,MAAM+nB,MACvBiE,EAAK9vB,OAAOnC,SACZ,SAAA+H,GAAK,OAAIkqB,EAAKxjB,OAAO1G,UAElB,GAAIiD,IAAY8sB,GAAgB,CACrC,IAAM4C,EAAU1vB,IAAY8sB,GAC1B7F,EAAK9C,YAAYlpB,MAAMwL,WACvBwgB,EAAK9C,YAAYlpB,MAAM8pB,QACnB4K,EAAW3vB,IAAY8sB,GAC3B7F,EAAK9C,YAAYlpB,MAAMyL,WACvBugB,EAAK9C,YAAYlpB,MAAM4xB,SAEzBhuB,EAAaM,GAAG8nB,EAAKlyB,QACnB26B,EACAzI,EAAK9vB,OAAOnC,SACZ,SAAA+H,GAAK,OAAIkqB,EAAK4G,OAAO9wB,KAEvB8B,EAAaM,GAAG8nB,EAAKlyB,QACnB46B,EACA1I,EAAK9vB,OAAOnC,SACZ,SAAA+H,GAAK,OAAIkqB,EAAK6G,OAAO/wB,QAK3B7B,KAAK8yB,kBAAoB,WACnB/G,EAAKlyB,SACPkyB,EAAKlZ,QAITlP,EAAaM,GAAGqB,EAAetG,QAAQgB,KAAKnG,QAAS,UACnD,gBACAmG,KAAK8yB,mBAGH9yB,KAAK/D,OAAOnC,SACdkG,KAAK/D,OAAL0N,EAAA,GACK3J,KAAK/D,OADV,CAEE6I,QAAS,SACThL,SAAU,KAGZkG,KAAK00B,eAITA,UAAA,WACE,IAAMC,SAAmB30B,KAAKnG,QAAQE,aAAa,wBAE/CiG,KAAKnG,QAAQE,aAAa,UAA0B,WAAd46B,KACxC30B,KAAKnG,QAAQiP,aACX,sBACA9I,KAAKnG,QAAQE,aAAa,UAAY,IAGxCiG,KAAKnG,QAAQiP,aAAa,QAAS,QAIvC6pB,OAAA,SAAO9wB,EAAO0nB,GACZ,IAAMgJ,EAAUvyB,KAAKipB,YAAY3iB,UACjCijB,EAAUA,GAAW/qB,EAAKG,QAAQkD,EAAMK,eAAgBqwB,MAGtDhJ,EAAU,IAAIvpB,KAAKipB,YACjBpnB,EAAMK,eACNlC,KAAKwyB,sBAEPh0B,EAAKC,QAAQoD,EAAMK,eAAgBqwB,EAAShJ,IAG1C1nB,IACF0nB,EAAQ0I,eACS,YAAfpwB,EAAME,KAAqB6vB,GAAgBA,KACzC,GAGFrI,EAAQsJ,gBAAgBvrB,UAAUE,SAASb,KAC3C4iB,EAAQyI,cAAgBP,GAC1BlI,EAAQyI,YAAcP,IAIxBjiB,aAAa+Z,EAAQwI,UAErBxI,EAAQyI,YAAcP,GAEjBlI,EAAQttB,OAAOg1B,OAAU1H,EAAQttB,OAAOg1B,MAAMne,KAKnDyW,EAAQwI,SAAWj2B,WAAW,WACxBytB,EAAQyI,cAAgBP,IAC1BlI,EAAQzW,QAETyW,EAAQttB,OAAOg1B,MAAMne,MARtByW,EAAQzW,WAWZ8f,OAAA,SAAO/wB,EAAO0nB,GACZ,IAAMgJ,EAAUvyB,KAAKipB,YAAY3iB,UACjCijB,EAAUA,GAAW/qB,EAAKG,QAAQkD,EAAMK,eAAgBqwB,MAGtDhJ,EAAU,IAAIvpB,KAAKipB,YACjBpnB,EAAMK,eACNlC,KAAKwyB,sBAEPh0B,EAAKC,QAAQoD,EAAMK,eAAgBqwB,EAAShJ,IAG1C1nB,IACF0nB,EAAQ0I,eACS,aAAfpwB,EAAME,KAAsB6vB,GAAgBA,KAC1C,GAGFrI,EAAQmJ,yBAIZljB,aAAa+Z,EAAQwI,UAErBxI,EAAQyI,YAAcP,GAEjBlI,EAAQttB,OAAOg1B,OAAU1H,EAAQttB,OAAOg1B,MAAMpe,KAKnD0W,EAAQwI,SAAWj2B,WAAW,WACxBytB,EAAQyI,cAAgBP,IAC1BlI,EAAQ1W,QAET0W,EAAQttB,OAAOg1B,MAAMpe,MARtB0W,EAAQ1W,WAWZ6f,qBAAA,WACE,IAAK,IAAM5tB,KAAW9E,KAAKiyB,eACzB,GAAIjyB,KAAKiyB,eAAentB,GACtB,OAAO,EAIX,OAAO,KAGTuI,WAAA,SAAWpR,GACT,IAAM24B,EAAiBtrB,GAAYG,kBAAkBzJ,KAAKnG,SA4C1D,OA1CAsC,OAAOC,KAAKw4B,GACTv4B,QAAQ,SAAAw4B,IAC0C,IAA7ChE,GAAsB3tB,QAAQ2xB,WACzBD,EAAeC,KAIxB54B,GAAsC,iBAArBA,EAAOgX,WAA0BhX,EAAOgX,UAAUU,SACrE1X,EAAOgX,UAAYhX,EAAOgX,UAAU,IASV,iBAN5BhX,EAAM0N,EAAA,GACD3J,KAAKipB,YAAYte,QADhB,GAEDiqB,EAFC,GAGiB,iBAAX34B,GAAuBA,EAASA,EAAS,KAGnCg1B,QAChBh1B,EAAOg1B,MAAQ,CACbne,KAAM7W,EAAOg1B,MACbpe,KAAM5W,EAAOg1B,QAIW,iBAAjBh1B,EAAO+0B,QAChB/0B,EAAO+0B,MAAQ/0B,EAAO+0B,MAAMt0B,YAGA,iBAAnBT,EAAOk4B,UAChBl4B,EAAOk4B,QAAUl4B,EAAOk4B,QAAQz3B,YAGlCX,EACE2O,GACAzO,EACA+D,KAAKipB,YAAY/d,aAGfjP,EAAOk1B,WACTl1B,EAAO80B,SAAWjB,GAAa7zB,EAAO80B,SAAU90B,EAAO+zB,UAAW/zB,EAAOg0B,aAGpEh0B,KAGTu2B,mBAAA,WACE,IAAMv2B,EAAS,GAEf,GAAI+D,KAAK/D,OACP,IAAK,IAAMkC,KAAO6B,KAAK/D,OACjB+D,KAAKipB,YAAYte,QAAQxM,KAAS6B,KAAK/D,OAAOkC,KAChDlC,EAAOkC,GAAO6B,KAAK/D,OAAOkC,IAKhC,OAAOlC,KAGT+3B,eAAA,WACE,IAAM9B,EAAMlyB,KAAK6yB,gBACXiC,EAAW5C,EAAIn4B,aAAa,SAAS6C,MAAMg0B,IAChC,OAAbkE,GAAqBA,EAASpyB,QAChCoyB,EACGlZ,IAAI,SAAAmZ,GAAK,OAAIA,EAAM96B,SACnBoC,QAAQ,SAAA24B,GAAM,OAAI9C,EAAI5qB,UAAUC,OAAOytB,QAI9CV,6BAAA,SAA6BW,GAC3B,IAAMC,EAAiBD,EAAWv2B,SAClCsB,KAAKkyB,IAAMgD,EAAeza,OAC1Bza,KAAKg0B,iBACLh0B,KAAK2zB,oBAAoB3zB,KAAK0zB,eAAeuB,EAAWzZ,eAG1DsY,eAAA,WACE,IAAM5B,EAAMlyB,KAAK6yB,gBACXsC,EAAsBn1B,KAAK/D,OAAO60B,UACA,OAApCoB,EAAIn4B,aAAa,iBAIrBm4B,EAAI5qB,UAAUC,OAAOZ,IACrB3G,KAAK/D,OAAO60B,WAAY,EACxB9wB,KAAK6S,OACL7S,KAAK8S,OACL9S,KAAK/D,OAAO60B,UAAYqE,MAKnBxtB,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAxuBb,cAyuBLoN,EAA4B,iBAAXnR,GAAuBA,EAE9C,IAAKmC,IAAQ,eAAerB,KAAKd,MAI5BmC,IACHA,EAAO,IAAIyzB,EAAQ7xB,KAAMoN,IAGL,iBAAXnR,GAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,WAKJ8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EA9vBP,uDAuHb,MAxHY,wCA4HZ,OAAO8Q,gCAIP,OAAOD,oCAIP,MAnIa,2CAuIb,OAAO3K,qCAIP,MA1IW,kDA8IX,OAAOmL,YAmnBLpK,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,QAC3B1C,GAAE0C,GAAF,QAAaquB,GAAQlqB,gBACrB7G,GAAE0C,GAAF,QAAWyE,YAAc4pB,GACzB/wB,GAAE0C,GAAF,QAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,QAAawE,GACN6pB,GAAQlqB,iBCpyBnB,IAAM+C,GAAO,UAKPkmB,GAAqB,IAAI9zB,OAAJ,wBAAyC,KAE9D6N,GAAOhB,EAAA,GACRkoB,GAAQlnB,QADA,CAEX6Q,UAAW,QACX1W,QAAS,QACTqvB,QAAS,GACTpD,SAAU,gJAMN7lB,GAAWvB,EAAA,GACZkoB,GAAQ3mB,YADI,CAEfipB,QAAS,8BAGLxtB,GACE,OADFA,GAEE,OAGFwB,GACG,kBADHA,GAEK,gBAGLpI,GAAQ,CACZ8R,KAAI,kBACJC,OAAM,oBACNH,KAAI,kBACJC,MAAK,mBACL8f,SAAQ,sBACR5J,MAAK,mBACL+B,QAAO,qBACP8H,SAAQ,sBACRpmB,WAAU,wBACVC,WAAU,yBASN4pB,2LAiCJrC,cAAA,WACE,OAAO/yB,KAAKi0B,YAAcj0B,KAAKq1B,iBAGjC7B,WAAA,WACE,IAAMtB,EAAMlyB,KAAK6yB,gBAGjB7yB,KAAKk0B,kBAAkB5uB,EAAenG,QAAQgJ,GAAgB+pB,GAAMlyB,KAAKi0B,YACzE,IAAIE,EAAUn0B,KAAKq1B,cACI,mBAAZlB,IACTA,EAAUA,EAAQx3B,KAAKqD,KAAKnG,UAG9BmG,KAAKk0B,kBAAkB5uB,EAAenG,QAAQgJ,GAAkB+pB,GAAMiC,GAEtEjC,EAAI5qB,UAAUC,OAAOZ,IACrBurB,EAAI5qB,UAAUC,OAAOZ,OAGvBgtB,oBAAA,SAAoBF,GAClBzzB,KAAK6yB,gBAAgBvrB,UAAU0B,IAAOurB,cAAgBd,MAKxD4B,YAAA,WACE,OAAOr1B,KAAKnG,QAAQE,aAAa,iBAC/BiG,KAAK/D,OAAOk4B,WAGhBH,eAAA,WACE,IAAM9B,EAAMlyB,KAAK6yB,gBACXiC,EAAW5C,EAAIn4B,aAAa,SAAS6C,MAAMg0B,IAEhC,OAAbkE,GAAqBA,EAASpyB,OAAS,GACzCoyB,EAASlZ,IAAI,SAAAmZ,GAAK,OAAIA,EAAM96B,SACzBoC,QAAQ,SAAA24B,GAAM,OAAI9C,EAAI5qB,UAAUC,OAAOytB,QAMvCrtB,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAhIb,cAiILoN,EAA4B,iBAAXnR,EAAsBA,EAAS,KAEtD,IAAKmC,IAAQ,eAAerB,KAAKd,MAI5BmC,IACHA,EAAO,IAAIg3B,EAAQp1B,KAAMoN,GACzB5O,EAAKC,QAAQuB,KAzIJ,aAyIoB5B,IAGT,iBAAXnC,GAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,WAKJ8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAvJP,uDAsDb,MAvDY,wCA2DZ,OAAO8Q,gCAIP,OAAOD,oCAIP,MAlEa,2CAsEb,OAAO3K,qCAIP,MAzEW,kDA6EX,OAAOmL,UA5BW2mB,IAyGhB/wB,GAAIjD,IAQV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,QAC3B1C,GAAE0C,GAAF,QAAa4xB,GAAQztB,gBACrB7G,GAAE0C,GAAF,QAAWyE,YAAcmtB,GACzBt0B,GAAE0C,GAAF,QAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,QAAawE,GACNotB,GAAQztB,iBCpKnB,IAAM+C,GAAO,YAEPpE,GAAW,eACXC,GAAS,IAAOD,GAGhBqE,GAAU,CACdb,OAAQ,GACRwrB,OAAQ,OACR5xB,OAAQ,IAGJwH,GAAc,CAClBpB,OAAQ,SACRwrB,OAAQ,SACR5xB,OAAQ,oBAGJ3D,GAAQ,CACZw1B,SAAQ,WAAahvB,GACrBivB,OAAM,SAAWjvB,GACjBwF,cAAa,OAASxF,GAjBH,aAoBfI,GAAY,CAChB8uB,cAAe,gBACfzpB,OAAQ,UAGJ7D,GAAW,CACfutB,SAAU,sBACVC,eAAgB,oBAChBC,UAAW,YACXC,UAAW,YACXC,WAAY,mBACZC,SAAU,YACVC,gBAAiB,oBAGbC,GACI,SADJA,GAEM,WASNC,cACJ,SAAAA,EAAYr8B,EAASoC,GAAQ,IAAAyJ,EAAA1F,KAC3BA,KAAK6G,SAAWhN,EAChBmG,KAAKm2B,eAAqC,SAApBt8B,EAAQ8V,QAAqBpV,OAASV,EAC5DmG,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAKyS,UAAezS,KAAKoN,QAAQ1J,OAAhB,IAA0ByE,GAASytB,UAAnC,IACQ51B,KAAKoN,QAAQ1J,OADrB,IAC+ByE,GAAS2tB,WADxC,IAEQ91B,KAAKoN,QAAQ1J,OAFrB,KAEgCiD,GAAU8uB,cAC3Dz1B,KAAKo2B,SAAW,GAChBp2B,KAAKq2B,SAAW,GAChBr2B,KAAKs2B,cAAgB,KACrBt2B,KAAKu2B,cAAgB,EAErB5yB,EAAaM,GAAGjE,KAAKm2B,eAAgBp2B,GAAMy1B,OAAQ,SAAA3zB,GAAK,OAAI6D,EAAK8wB,SAAS30B,KAE1E7B,KAAKy2B,UACLz2B,KAAKw2B,WAELh4B,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAelCy2B,QAAA,WAAU,IAAA1nB,EAAA/O,KACF02B,EAAa12B,KAAKm2B,iBAAmBn2B,KAAKm2B,eAAe57B,OAC7D07B,GACAA,GAEIU,EAAuC,SAAxB32B,KAAKoN,QAAQkoB,OAChCoB,EACA12B,KAAKoN,QAAQkoB,OAETsB,EAAaD,IAAiBV,GAClCj2B,KAAK62B,gBACL,EAEF72B,KAAKo2B,SAAW,GAChBp2B,KAAKq2B,SAAW,GAEhBr2B,KAAKu2B,cAAgBv2B,KAAK82B,mBAEV55B,EAAUoI,EAAerG,KAAKe,KAAKyS,YAGhDmJ,IAAI,SAAA/hB,GACH,IAAI6J,EACEqzB,EAAiB78B,EAAuBL,GAM9C,GAJIk9B,IACFrzB,EAAS4B,EAAenG,QAAQ43B,IAG9BrzB,EAAQ,CACV,IAAMszB,EAAYtzB,EAAOsG,wBACzB,GAAIgtB,EAAUhf,OAASgf,EAAUjf,OAC/B,MAAO,CACLzO,GAAYqtB,GAAcjzB,GAAQuG,IAAM2sB,EACxCG,GAKN,OAAO,OAERpxB,OAAO,SAAAsxB,GAAI,OAAIA,IACflb,KAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAE,GAAKC,EAAE,KACxB5f,QAAQ,SAAA46B,GACPloB,EAAKqnB,SAASnwB,KAAKgxB,EAAK,IACxBloB,EAAKsnB,SAASpwB,KAAKgxB,EAAK,SAI9B7vB,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,IAC/B3C,EAAaC,IAAI5D,KAAKm2B,eAAgB5vB,IAEtCvG,KAAK6G,SAAW,KAChB7G,KAAKm2B,eAAiB,KACtBn2B,KAAKoN,QAAU,KACfpN,KAAKyS,UAAY,KACjBzS,KAAKo2B,SAAW,KAChBp2B,KAAKq2B,SAAW,KAChBr2B,KAAKs2B,cAAgB,KACrBt2B,KAAKu2B,cAAgB,QAKvBlpB,WAAA,SAAWpR,GAMT,GAA6B,iBAL7BA,EAAM0N,EAAA,GACDgB,GADC,GAEiB,iBAAX1O,GAAuBA,EAASA,EAAS,KAGnCyH,OAAqB,CAAA,IAC/BvK,EAAO8C,EAAOyH,OAAdvK,GACDA,IACHA,EAAKG,EAAOoR,IACZzO,EAAOyH,OAAOvK,GAAKA,GAGrB8C,EAAOyH,OAAP,IAAoBvK,EAKtB,OAFA4C,EAAgB2O,GAAMzO,EAAQiP,IAEvBjP,KAGT46B,cAAA,WACE,OAAO72B,KAAKm2B,iBAAmB57B,OAC7ByF,KAAKm2B,eAAee,YACpBl3B,KAAKm2B,eAAejsB,aAGxB4sB,iBAAA,WACE,OAAO92B,KAAKm2B,eAAexJ,cAAgBnzB,KAAKqe,IAC9Cne,SAASqE,KAAK4uB,aACdjzB,SAAS6L,gBAAgBonB,iBAI7BwK,iBAAA,WACE,OAAOn3B,KAAKm2B,iBAAmB57B,OAC7BA,OAAO0gB,YACPjb,KAAKm2B,eAAensB,wBAAwB+N,UAGhDye,SAAA,WACE,IAAMtsB,EAAYlK,KAAK62B,gBAAkB72B,KAAKoN,QAAQtD,OAChD6iB,EAAe3sB,KAAK82B,mBACpBM,EAAYp3B,KAAKoN,QAAQtD,OAC7B6iB,EACA3sB,KAAKm3B,mBAMP,GAJIn3B,KAAKu2B,gBAAkB5J,GACzB3sB,KAAKy2B,UAGHvsB,GAAaktB,EAAjB,CACE,IAAM1zB,EAAS1D,KAAKq2B,SAASr2B,KAAKq2B,SAAS3zB,OAAS,GAEhD1C,KAAKs2B,gBAAkB5yB,GACzB1D,KAAKq3B,UAAU3zB,OAJnB,CAUA,GAAI1D,KAAKs2B,eAAiBpsB,EAAYlK,KAAKo2B,SAAS,IAAMp2B,KAAKo2B,SAAS,GAAK,EAG3E,OAFAp2B,KAAKs2B,cAAgB,UACrBt2B,KAAKs3B,SAKP,IADA,IACS90B,EADYxC,KAAKo2B,SAAS1zB,OACRF,KAAM,CACRxC,KAAKs2B,gBAAkBt2B,KAAKq2B,SAAS7zB,IACxD0H,GAAalK,KAAKo2B,SAAS5zB,KACM,oBAAzBxC,KAAKo2B,SAAS5zB,EAAI,IACtB0H,EAAYlK,KAAKo2B,SAAS5zB,EAAI,KAGpCxC,KAAKq3B,UAAUr3B,KAAKq2B,SAAS7zB,SAKnC60B,UAAA,SAAU3zB,GACR1D,KAAKs2B,cAAgB5yB,EAErB1D,KAAKs3B,SAEL,IAAMC,EAAUv3B,KAAKyS,UAAU3X,MAAM,KAClC8gB,IAAI,SAAA9hB,GAAQ,OAAOA,EAAP,iBAAgC4J,EAAhC,MAA4C5J,EAA5C,UAA8D4J,EAA9D,OAET8zB,EAAOlyB,EAAenG,QAAQo4B,EAAQE,KAAK,MAE7CD,EAAKlwB,UAAUE,SAASb,GAAU8uB,gBACpCnwB,EACGnG,QAAQgJ,GAAS6tB,gBAAiB1wB,EAAetG,QAAQw4B,EAAMrvB,GAAS4tB,WACxEzuB,UAAU0B,IAAIrC,GAAUqF,QAE3BwrB,EAAKlwB,UAAU0B,IAAIrC,GAAUqF,UAG7BwrB,EAAKlwB,UAAU0B,IAAIrC,GAAUqF,QAE7B1G,EACGO,QAAQ2xB,EAAMrvB,GAASwtB,gBACvBt5B,QAAQ,SAAAq7B,GAGPpyB,EAAeY,KAAKwxB,EAAcvvB,GAASytB,UAA3C,KAAyDztB,GAAS2tB,YAC/Dz5B,QAAQ,SAAA46B,GAAI,OAAIA,EAAK3vB,UAAU0B,IAAIrC,GAAUqF,UAGhD1G,EAAeY,KAAKwxB,EAAWvvB,GAAS0tB,WACrCx5B,QAAQ,SAAAs7B,GACPryB,EAAeG,SAASkyB,EAASxvB,GAASytB,WACvCv5B,QAAQ,SAAA46B,GAAI,OAAIA,EAAK3vB,UAAU0B,IAAIrC,GAAUqF,eAK1DrI,EAAamB,QAAQ9E,KAAKm2B,eAAgBp2B,GAAMw1B,SAAU,CACxDrlB,cAAexM,OAInB4zB,OAAA,WACEp6B,EAAUoI,EAAerG,KAAKe,KAAKyS,YAChC9M,OAAO,SAAAuQ,GAAI,OAAIA,EAAK5O,UAAUE,SAASb,GAAUqF,UACjD3P,QAAQ,SAAA6Z,GAAI,OAAIA,EAAK5O,UAAUC,OAAOZ,GAAUqF,aAK9CrE,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,IAO9B,GAJKlI,IACHA,EAAO,IAAI83B,EAAUl2B,KAHW,iBAAX/D,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,WAKJ8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CAhO7B,MAzEY,wCA6EZ,OAAOqE,YAsOXhH,EAAaM,GAAG1J,OAAQwF,GAAMgM,cAAe,WAC3C7O,EAAUoI,EAAerG,KAAKkJ,GAASutB,WACpCr5B,QAAQ,SAAAu7B,GAAG,OAAI,IAAI1B,GAAU0B,EAAKtuB,GAAYG,kBAAkBmuB,QAGrE,IAAM92B,GAAIjD,IAQV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAGkH,IAChC5J,GAAE0C,GAAGkH,IAAQwrB,GAAUvuB,gBACvB7G,GAAE0C,GAAGkH,IAAMzC,YAAciuB,GACzBp1B,GAAE0C,GAAGkH,IAAMxC,WAAa,WAEtB,OADApH,GAAE0C,GAAGkH,IAAQ1C,GACNkuB,GAAUvuB,iBCtUrB,IAEMrB,GAAW,SACXC,GAAS,IAAOD,GAGhBvG,GAAQ,CACZ8R,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,GACfG,eAAc,QAAUH,GAPL,aAUfI,GACW,gBADXA,GAEI,SAFJA,GAGM,WAHNA,GAIE,OAJFA,GAKE,OAGFwB,GACM,YADNA,GAEY,oBAFZA,GAGI,UAHJA,GAIO,wBAJPA,GAKS,kEALTA,GAMa,mBANbA,GAOmB,kCASnB0vB,cACJ,SAAAA,EAAYh+B,GACVmG,KAAK6G,SAAWhN,EAEhB2E,EAAKC,QAAQuB,KAAK6G,SAAUP,GAAUtG,iCAWxC8S,KAAA,WAAO,IAAApN,EAAA1F,KACL,KAAKA,KAAK6G,SAAStJ,YACjByC,KAAK6G,SAAStJ,WAAWjC,WAAayK,KAAKC,cAC3ChG,KAAK6G,SAASS,UAAUE,SAASb,KACjC3G,KAAK6G,SAASS,UAAUE,SAASb,KAHnC,CAOA,IAAIP,EACE1C,EAAStJ,EAAuB4F,KAAK6G,UACrCixB,EAAcxyB,EAAetG,QAAQgB,KAAK6G,SAAUsB,IAE1D,GAAI2vB,EAAa,CACf,IAAMC,EAAwC,OAAzBD,EAAY9iB,UAA8C,OAAzB8iB,EAAY9iB,SAAoB7M,GAAqBA,GAE3G/B,GADAA,EAAWlJ,EAAUoI,EAAerG,KAAK84B,EAAcD,KACnC1xB,EAAS1D,OAAS,GAGxC,IAAIs1B,EAAY,KAYhB,GAVI5xB,IACF4xB,EAAYr0B,EAAamB,QAAQsB,EAAUrG,GAAM8R,KAAM,CACrD3B,cAAelQ,KAAK6G,cAINlD,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM4R,KAAM,CAChEzB,cAAe9J,IAGHvG,kBACG,OAAdm4B,GAAsBA,EAAUn4B,kBADnC,CAKAG,KAAKq3B,UACHr3B,KAAK6G,SACLixB,GAGF,IAAMjE,EAAW,WACflwB,EAAamB,QAAQsB,EAAUrG,GAAM+R,OAAQ,CAC3C5B,cAAexK,EAAKmB,WAEtBlD,EAAamB,QAAQY,EAAKmB,SAAU9G,GAAM6R,MAAO,CAC/C1B,cAAe9J,KAIf1C,EACF1D,KAAKq3B,UAAU3zB,EAAQA,EAAOnG,WAAYs2B,GAE1CA,SAIJzsB,QAAA,WACE5I,EAAKI,WAAWoB,KAAK6G,SAAUP,IAC/BtG,KAAK6G,SAAW,QAKlBwwB,UAAA,SAAUx9B,EAASoZ,EAAWiN,GAAU,IAAAnR,EAAA/O,KAKhCi4B,IAJiBhlB,GAAqC,OAAvBA,EAAU+B,UAA4C,OAAvB/B,EAAU+B,SAE5E1P,EAAeG,SAASwN,EAAW9K,IADnC7C,EAAerG,KAAKkJ,GAAoB8K,IAGZ,GACxBS,EAAkBwM,GACrB+X,GAAUA,EAAO3wB,UAAUE,SAASb,IAEjCktB,EAAW,WAAA,OAAM9kB,EAAKmpB,oBAC1Br+B,EACAo+B,EACA/X,IAGF,GAAI+X,GAAUvkB,EAAiB,CAC7B,IAAMjZ,EAAqBJ,EAAiC49B,GAC5DA,EAAO3wB,UAAUC,OAAOZ,IAExBhD,EAAaO,IAAI+zB,EAAQ5+B,EAAgBw6B,GACzCt4B,EAAqB08B,EAAQx9B,QAE7Bo5B,OAIJqE,oBAAA,SAAoBr+B,EAASo+B,EAAQ/X,GACnC,GAAI+X,EAAQ,CACVA,EAAO3wB,UAAUC,OAAOZ,IAExB,IAAMwxB,EAAgB7yB,EAAenG,QAAQgJ,GAAgC8vB,EAAO16B,YAEhF46B,GACFA,EAAc7wB,UAAUC,OAAOZ,IAGG,QAAhCsxB,EAAOl+B,aAAa,SACtBk+B,EAAOnvB,aAAa,iBAAiB,IAIzCjP,EAAQyN,UAAU0B,IAAIrC,IACe,QAAjC9M,EAAQE,aAAa,SACvBF,EAAQiP,aAAa,iBAAiB,GAGxCnL,EAAO9D,GAEHA,EAAQyN,UAAUE,SAASb,KAC7B9M,EAAQyN,UAAU0B,IAAIrC,IAGpB9M,EAAQ0D,YAAc1D,EAAQ0D,WAAW+J,UAAUE,SAASb,OACtCrB,EAAetG,QAAQnF,EAASsO,KAGtDjL,EAAUoI,EAAerG,KAAKkJ,KAC3B9L,QAAQ,SAAA+7B,GAAQ,OAAIA,EAAS9wB,UAAU0B,IAAIrC,MAGhD9M,EAAQiP,aAAa,iBAAiB,IAGpCoX,GACFA,OAMGvY,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAMxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,KAAa,IAAIuxB,EAAI73B,MAErD,GAAsB,iBAAX/D,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,WAKJ8L,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CAzJ7B,MA/CY,iBAkNhB3C,EAAaM,GAAGvK,SAAUqG,GAAM2G,eAAgByB,GAAsB,SAAUtG,GAC9EA,EAAMjC,kBAEOpB,EAAKG,QAAQqB,KAAMsG,KAAa,IAAIuxB,GAAI73B,OAChD8S,SAGP,IAAMhS,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,IAC3B1C,GAAE0C,GAAF,IAAaq0B,GAAIlwB,gBACjB7G,GAAE0C,GAAF,IAAWyE,YAAc4vB,GACzB/2B,GAAE0C,GAAF,IAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,IAAawE,GACN6vB,GAAIlwB,iBC1Of,IAEMrB,GAAW,WACXC,GAAS,IAAOD,GAEhBvG,GAAQ,CACZgqB,cAAa,gBAAkBxjB,GAC/BsL,KAAI,OAAStL,GACbuL,OAAM,SAAWvL,GACjBoL,KAAI,OAASpL,GACbqL,MAAK,QAAUrL,IAGXI,GACE,OADFA,GAEE,OAFFA,GAGE,OAHFA,GAIK,UAGLuE,GAAc,CAClB4lB,UAAW,UACXuH,SAAU,UACVpH,MAAO,UAGHtmB,GAAU,CACdmmB,WAAW,EACXuH,UAAU,EACVpH,MAAO,KAGH9oB,GACU,yBASVmwB,cACJ,SAAAA,EAAYz+B,EAASoC,GACnB+D,KAAK6G,SAAWhN,EAChBmG,KAAKoN,QAAUpN,KAAKqN,WAAWpR,GAC/B+D,KAAK+xB,SAAW,KAChB/xB,KAAKmyB,gBACL3zB,EAAKC,QAAQ5E,EAASyM,GAAUtG,iCAmBlC8S,KAAA,WAAO,IAAApN,EAAA1F,KAGL,IAFkB2D,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM4R,MAE9C9R,iBAAd,CAIIG,KAAKoN,QAAQ0jB,WACf9wB,KAAK6G,SAASS,UAAU0B,IAAIrC,IAG9B,IAAMktB,EAAW,WACfnuB,EAAKmB,SAASS,UAAUC,OAAOZ,IAC/BjB,EAAKmB,SAASS,UAAU0B,IAAIrC,IAE5BhD,EAAamB,QAAQY,EAAKmB,SAAU9G,GAAM6R,OAEtClM,EAAK0H,QAAQirB,WACf3yB,EAAKqsB,SAAWj2B,WAAW,WACzB4J,EAAKmN,QACJnN,EAAK0H,QAAQ6jB,SAOpB,GAHAjxB,KAAK6G,SAASS,UAAUC,OAAOZ,IAC/BhJ,EAAOqC,KAAK6G,UACZ7G,KAAK6G,SAASS,UAAU0B,IAAIrC,IACxB3G,KAAKoN,QAAQ0jB,UAAW,CAC1B,IAAMr2B,EAAqBJ,EAAiC2F,KAAK6G,UAEjElD,EAAaO,IAAIlE,KAAK6G,SAAUxN,EAAgBw6B,GAChDt4B,EAAqByE,KAAK6G,SAAUpM,QAEpCo5B,QAIJhhB,KAAA,WAAO,IAAA9D,EAAA/O,KACL,GAAKA,KAAK6G,SAASS,UAAUE,SAASb,MAIpBhD,EAAamB,QAAQ9E,KAAK6G,SAAU9G,GAAM8R,MAE9ChS,iBAAd,CAIA,IAAMg0B,EAAW,WACf9kB,EAAKlI,SAASS,UAAU0B,IAAIrC,IAC5BhD,EAAamB,QAAQiK,EAAKlI,SAAU9G,GAAM+R,SAI5C,GADA9R,KAAK6G,SAASS,UAAUC,OAAOZ,IAC3B3G,KAAKoN,QAAQ0jB,UAAW,CAC1B,IAAMr2B,EAAqBJ,EAAiC2F,KAAK6G,UAEjElD,EAAaO,IAAIlE,KAAK6G,SAAUxN,EAAgBw6B,GAChDt4B,EAAqByE,KAAK6G,SAAUpM,QAEpCo5B,QAIJzsB,QAAA,WACEoI,aAAaxP,KAAK+xB,UAClB/xB,KAAK+xB,SAAW,KAEZ/xB,KAAK6G,SAASS,UAAUE,SAASb,KACnC3G,KAAK6G,SAASS,UAAUC,OAAOZ,IAGjChD,EAAaC,IAAI5D,KAAK6G,SAAU9G,GAAMgqB,eACtCvrB,EAAKI,WAAWoB,KAAK6G,SAAUP,IAE/BtG,KAAK6G,SAAW,KAChB7G,KAAKoN,QAAU,QAKjBC,WAAA,SAAWpR,GAaT,OAZAA,EAAM0N,EAAA,GACDgB,GADC,GAEDrB,GAAYG,kBAAkBzJ,KAAK6G,UAFlC,GAGiB,iBAAX5K,GAAuBA,EAASA,EAAS,IAGrDF,EA3JS,QA6JPE,EACA+D,KAAKipB,YAAY/d,aAGZjP,KAGTk2B,cAAA,WAAgB,IAAAjjB,EAAAlP,KACd2D,EAAaM,GACXjE,KAAK6G,SACL9G,GAAMgqB,cACN5hB,GACA,WAAA,OAAM+G,EAAK2D,YAMRlL,gBAAP,SAAuB1L,GACrB,OAAO+D,KAAK4H,KAAK,WACf,IAAIxJ,EAAOI,EAAKG,QAAQqB,KAAMsG,IAO9B,GAJKlI,IACHA,EAAO,IAAIk6B,EAAMt4B,KAHe,iBAAX/D,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,GAA4B,oBAAjBmC,EAAKnC,GACd,MAAM,IAAIqV,UAAJ,oBAAkCrV,EAAlC,KAGRmC,EAAKnC,GAAQ+D,YAKZ+H,YAAP,SAAmBlO,GACjB,OAAO2E,EAAKG,QAAQ9E,EAASyM,6CA7I7B,MArDY,4CAyDZ,OAAO4E,mCAIP,OAAOP,YAyIL7J,GAAIjD,IASV,GAAIiD,GAAG,CACL,IAAMkH,GAAqBlH,GAAE0C,GAAF,MAC3B1C,GAAE0C,GAAF,MAAa80B,GAAM3wB,gBACnB7G,GAAE0C,GAAF,MAAWyE,YAAcqwB,GACzBx3B,GAAE0C,GAAF,MAAW0E,WAAa,WAEtB,OADApH,GAAE0C,GAAF,MAAawE,GACNswB,GAAM3wB,uBC5NF,CACbf,MAAAA,GACA0B,OAAAA,GACAqE,SAAAA,GACAuF,SAAAA,GACAkW,SAAAA,GACAoC,MAAAA,GACA4K,QAAAA,GACAc,UAAAA,GACA2B,IAAAA,GACAS,MAAAA,GACAzG,QAAAA","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert/alert'\nimport Button from './src/button/button'\nimport Carousel from './src/carousel/carousel'\nimport Collapse from './src/collapse/collapse'\nimport Dropdown from './src/dropdown/dropdown'\nimport Modal from './src/modal/modal'\nimport Popover from './src/popover/popover'\nimport ScrollSpy from './src/scrollspy/scrollspy'\nimport Tab from './src/tab/tab'\nimport Toast from './src/toast/toast'\nimport Tooltip from './src/tooltip/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/popper.js/dist/esm/popper.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","isBrowser","longerTimeoutBrowsers","timeoutDuration","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","css","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","classCallCheck","createClass","defineProperties","props","descriptor","enumerable","writable","protoProps","staticProps","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","bottom","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","flipped","options","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","toCheck","destroy","willChange","disableEventListeners","removeOnDestroy","getWindow","setupEventListeners","updateBound","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","x-placement","applyStyle","onLoad","modifierOptions","Popper","requestAnimationFrame","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","referenceElement","_getPopperConfig","stopPropagation","constructor","_getPlacement","parentDropdown","_getOffset","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this10","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","_handlePopperPlacementChange","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.js b/dist/js/bootstrap.esm.js
index f88f8ee548..87a0569943 100644
--- a/dist/js/bootstrap.esm.js
+++ b/dist/js/bootstrap.esm.js
@@ -98,7 +98,6 @@ var toType = function toType(obj) {
var getUID = function getUID(prefix) {
do {
- // eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
@@ -235,8 +234,7 @@ var findShadowRoot = function findShadowRoot(element) {
}
return findShadowRoot(element.parentNode);
-}; // eslint-disable-next-line no-empty-function
-
+};
var noop = function noop() {
return function () {};
@@ -415,7 +413,7 @@ var supportScopeQuery = function () {
try {
element.querySelectorAll(':scope *');
- } catch (error) {
+ } catch (_) {
return false;
}
@@ -675,7 +673,7 @@ var EventHandler = {
if (isNamespace) {
Object.keys(events).forEach(function (elementEvent) {
- removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1));
+ removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
});
}
@@ -851,13 +849,12 @@ var ClassName = {
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Alert =
/*#__PURE__*/
@@ -1030,13 +1027,12 @@ var Event$2 = {
CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Button =
/*#__PURE__*/
@@ -1342,13 +1338,12 @@ var Selector$2 = {
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Carousel =
/*#__PURE__*/
@@ -1918,13 +1913,12 @@ var Dimension = {
var Selector$3 = {
ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Collapse =
/*#__PURE__*/
@@ -2372,13 +2366,12 @@ var DefaultType$2 = {
reference: '(string|element)',
display: 'string',
popperConfig: '(null|object)'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Dropdown =
/*#__PURE__*/
@@ -2598,9 +2591,8 @@ function () {
preventOverflow: {
boundariesElement: this._config.boundary
}
- } // Disable Popper.js if we have a static display
-
- };
+ }
+ }; // Disable Popper.js if we have a static display
if (this._config.display === 'static') {
popperConfig.modifiers.applyStyle = {
@@ -2870,13 +2862,12 @@ var Selector$5 = {
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
STICKY_CONTENT: '.sticky-top'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Modal =
/*#__PURE__*/
@@ -3620,13 +3611,12 @@ var Trigger = {
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tooltip =
/*#__PURE__*/
@@ -4336,13 +4326,12 @@ var Event$8 = {
FOCUSOUT: "focusout" + EVENT_KEY$7,
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Popover =
/*#__PURE__*/
@@ -4531,13 +4520,12 @@ var Selector$8 = {
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var ScrollSpy =
/*#__PURE__*/
@@ -4838,13 +4826,12 @@ var Selector$9 = {
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tab =
/*#__PURE__*/
@@ -5075,13 +5062,12 @@ var Default$7 = {
};
var Selector$a = {
DATA_DISMISS: '[data-dismiss="toast"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Toast =
/*#__PURE__*/
diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map
index d45e4de9ec..9d1721009e 100644
--- a/dist/js/bootstrap.esm.js.map
+++ b/dist/js/bootstrap.esm.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","substr","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;AAOA,IAAMA,OAAO,GAAG,OAAhB;AACA,IAAMC,uBAAuB,GAAG,IAAhC;AACA,IAAMC,cAAc,GAAG,eAAvB;;AAGA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,GAAG;SAAK,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,GAAjB,EAAsBG,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAL;CAAlB;;;;;;;;AAQA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,MAAM,EAAI;KACpB;;IAEDA,MAAM,IAAI,CAAC,EAAEC,IAAI,CAACC,MAAL,KAAgBZ,OAAlB,CAAX,CAFC;GAAH,QAGSa,QAAQ,CAACC,cAAT,CAAwBJ,MAAxB,CAHT;;SAKOA,MAAP;CANF;;AASA,IAAMK,WAAW,GAAG,SAAdA,WAAc,CAAAC,OAAO,EAAI;MACzBC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;MAEI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;QAC3BE,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;IAEAD,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,IAA5D;;;SAGKH,QAAP;CATF;;AAYA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAL,OAAO,EAAI;MAClCC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;;MAEIC,QAAJ,EAAc;WACLJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;;;SAGK,IAAP;CAPF;;AAUA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAP,OAAO,EAAI;MAClCC,QAAQ,GAAGF,WAAW,CAACC,OAAD,CAA5B;SAEOC,QAAQ,GAAGJ,QAAQ,CAACS,aAAT,CAAuBL,QAAvB,CAAH,GAAsC,IAArD;CAHF;;AAMA,IAAMO,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,OAAO,EAAI;MAC9C,CAACA,OAAL,EAAc;WACL,CAAP;GAFgD;;;8BAS9CS,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,CAT8C;MAOhDW,kBAPgD,yBAOhDA,kBAPgD;MAQhDC,eARgD,yBAQhDA,eARgD;;MAW5CC,uBAAuB,GAAGC,UAAU,CAACH,kBAAD,CAA1C;MACMI,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAZkD;;MAe9C,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;WAC9C,CAAP;GAhBgD;;;EAoBlDJ,kBAAkB,GAAGA,kBAAkB,CAACK,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAJ,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;SAEO,CAACF,UAAU,CAACH,kBAAD,CAAV,GAAiCG,UAAU,CAACF,eAAD,CAA5C,IAAiE3B,uBAAxE;CAvBF;;AA0BA,IAAMgC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAjB,OAAO,EAAI;MAChCkB,GAAG,GAAGrB,QAAQ,CAACsB,WAAT,CAAqB,YAArB,CAAZ;EAEAD,GAAG,CAACE,SAAJ,CAAclC,cAAd,EAA8B,IAA9B,EAAoC,IAApC;EACAc,OAAO,CAACqB,aAAR,CAAsBH,GAAtB;CAJF;;AAOA,IAAMI,SAAS,GAAG,SAAZA,SAAY,CAAAlC,GAAG;SAAI,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgBmC,QAApB;CAArB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACxB,OAAD,EAAUyB,QAAV,EAAuB;MAC9CC,MAAM,GAAG,KAAb;MACMC,eAAe,GAAG,CAAxB;MACMC,gBAAgB,GAAGH,QAAQ,GAAGE,eAApC;;WACSE,QAAT,GAAoB;IAClBH,MAAM,GAAG,IAAT;IACA1B,OAAO,CAAC8B,mBAAR,CAA4B5C,cAA5B,EAA4C2C,QAA5C;;;EAGF7B,OAAO,CAAC+B,gBAAR,CAAyB7C,cAAzB,EAAyC2C,QAAzC;EACAG,UAAU,CAAC,YAAM;QACX,CAACN,MAAL,EAAa;MACXT,oBAAoB,CAACjB,OAAD,CAApB;;GAFM,EAIP4B,gBAJO,CAAV;CAVF;;AAiBA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,aAAD,EAAgBC,MAAhB,EAAwBC,WAAxB,EAAwC;EAC9DC,MAAM,CAACC,IAAP,CAAYF,WAAZ,EACGG,OADH,CACW,UAAAC,QAAQ,EAAI;QACbC,aAAa,GAAGL,WAAW,CAACI,QAAD,CAAjC;QACME,KAAK,GAAGP,MAAM,CAACK,QAAD,CAApB;QACMG,SAAS,GAAGD,KAAK,IAAIpB,SAAS,CAACoB,KAAD,CAAlB,GAChB,SADgB,GAEhBvD,MAAM,CAACuD,KAAD,CAFR;;QAII,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;YACxC,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWP,QADX,2BACuCG,SADvC,sCAEsBF,aAFtB,SADI,CAAN;;GATN;CADF;;AAkBA,IAAMO,SAAS,GAAG,SAAZA,SAAY,CAAAC,QAAQ,EAAI;MACxB,CAACA,QAAL,EAAe;WACN,EAAP;;;SAGK,GAAGC,KAAH,CAAS5D,IAAT,CAAc2D,QAAd,CAAP;CALF;;AAQA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAnD,OAAO,EAAI;MACvB,CAACA,OAAL,EAAc;WACL,KAAP;;;MAGEA,OAAO,CAACoD,KAAR,IAAiBpD,OAAO,CAACqD,UAAzB,IAAuCrD,OAAO,CAACqD,UAAR,CAAmBD,KAA9D,EAAqE;WAC5DpD,OAAO,CAACoD,KAAR,CAAcE,OAAd,KAA0B,MAA1B,IACLtD,OAAO,CAACqD,UAAR,CAAmBD,KAAnB,CAAyBE,OAAzB,KAAqC,MADhC,IAELtD,OAAO,CAACoD,KAAR,CAAcG,UAAd,KAA6B,QAF/B;;;SAKK,KAAP;CAXF;;AAcA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAxD,OAAO,EAAI;MAC5B,CAACH,QAAQ,CAAC4D,eAAT,CAAyBC,YAA9B,EAA4C;WACnC,IAAP;GAF8B;;;MAM5B,OAAO1D,OAAO,CAAC2D,WAAf,KAA+B,UAAnC,EAA+C;QACvCC,IAAI,GAAG5D,OAAO,CAAC2D,WAAR,EAAb;WACOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;;;MAGE5D,OAAO,YAAY6D,UAAvB,EAAmC;WAC1B7D,OAAP;GAZ8B;;;MAgB5B,CAACA,OAAO,CAACqD,UAAb,EAAyB;WAChB,IAAP;;;SAGKG,cAAc,CAACxD,OAAO,CAACqD,UAAT,CAArB;CApBF;;;AAwBA,IAAMS,IAAI,GAAG,SAAPA,IAAO;SAAM,YAAY,EAAlB;CAAb;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAA/D,OAAO;SAAIA,OAAO,CAACgE,YAAZ;CAAtB;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;gBACHxD,MADG;MACdyD,MADc,WACdA,MADc;;MAGlBA,MAAM,IAAI,CAACrE,QAAQ,CAACsE,IAAT,CAAcC,YAAd,CAA2B,gBAA3B,CAAf,EAA6D;WACpDF,MAAP;;;SAGK,IAAP;CAPF;;ACjLA;;;;;;;;;;;;AAaA,IAAMG,OAAO,GAAI,YAAM;MACfC,SAAS,GAAG,EAAlB;MACIC,EAAE,GAAG,CAAT;SACO;IACLC,GADK,eACDxE,OADC,EACQyE,GADR,EACaC,IADb,EACmB;UAClB,OAAO1E,OAAO,CAACyE,GAAf,KAAuB,WAA3B,EAAwC;QACtCzE,OAAO,CAACyE,GAAR,GAAc;UACZA,GAAG,EAAHA,GADY;UAEZF,EAAE,EAAFA;SAFF;QAIAA,EAAE;;;MAGJD,SAAS,CAACtE,OAAO,CAACyE,GAAR,CAAYF,EAAb,CAAT,GAA4BG,IAA5B;KAVG;IAYLC,GAZK,eAYD3E,OAZC,EAYQyE,GAZR,EAYa;UACZ,CAACzE,OAAD,IAAY,OAAOA,OAAO,CAACyE,GAAf,KAAuB,WAAvC,EAAoD;eAC3C,IAAP;;;UAGIG,aAAa,GAAG5E,OAAO,CAACyE,GAA9B;;UACIG,aAAa,CAACH,GAAd,KAAsBA,GAA1B,EAA+B;eACtBH,SAAS,CAACM,aAAa,CAACL,EAAf,CAAhB;;;aAGK,IAAP;KAtBG;IAwBLM,MAxBK,mBAwBE7E,OAxBF,EAwBWyE,GAxBX,EAwBgB;UACf,OAAOzE,OAAO,CAACyE,GAAf,KAAuB,WAA3B,EAAwC;;;;UAIlCG,aAAa,GAAG5E,OAAO,CAACyE,GAA9B;;UACIG,aAAa,CAACH,GAAd,KAAsBA,GAA1B,EAA+B;eACtBH,SAAS,CAACM,aAAa,CAACL,EAAf,CAAhB;eACOvE,OAAO,CAACyE,GAAf;;;GAhCN;CAHc,EAAhB;;AAyCA,IAAMK,IAAI,GAAG;EACXC,OADW,mBACHC,QADG,EACOP,GADP,EACYC,IADZ,EACkB;IAC3BL,OAAO,CAACG,GAAR,CAAYQ,QAAZ,EAAsBP,GAAtB,EAA2BC,IAA3B;GAFS;EAIXO,OAJW,mBAIHD,QAJG,EAIOP,GAJP,EAIY;WACdJ,OAAO,CAACM,GAAR,CAAYK,QAAZ,EAAsBP,GAAtB,CAAP;GALS;EAOXS,UAPW,sBAOAF,QAPA,EAOUP,GAPV,EAOe;IACxBJ,OAAO,CAACQ,MAAR,CAAeG,QAAf,EAAyBP,GAAzB;;CARJ;;ACtDA;yBAW2BU,OAAO,CAACC;IAA7BC,6BAAAA;IAASC,6BAAAA;AACf,IAAIC,IAAI,GAAGJ,OAAO,CAACC,SAAR,CAAkBI,gBAA7B;AACA,IAAIC,OAAO,GAAGN,OAAO,CAACC,SAAR,CAAkB9E,aAAhC;;AACA,IAAIoF,iBAAiB,GAAG,2BAACC,SAAD,EAAYC,MAAZ,EAAuB;MACvCC,MAAM,GAAG,IAAIC,WAAJ,CAAgBH,SAAhB,EAA2BC,MAA3B,CAAf;SAEOC,MAAP;CAHF;;AAMA,IAAI,OAAOpF,MAAM,CAACqF,WAAd,KAA8B,UAAlC,EAA8C;EAC5CJ,iBAAiB,GAAG,2BAACC,SAAD,EAAYC,MAAZ,EAAuB;IACzCA,MAAM,GAAGA,MAAM,IAAI;MAAEG,OAAO,EAAE,KAAX;MAAkBC,UAAU,EAAE,KAA9B;MAAqCC,MAAM,EAAE;KAAhE;QAEM/E,GAAG,GAAGrB,QAAQ,CAACsB,WAAT,CAAqB,aAArB,CAAZ;IAEAD,GAAG,CAACgF,eAAJ,CAAoBP,SAApB,EAA+BC,MAAM,CAACG,OAAtC,EAA+CH,MAAM,CAACI,UAAtD,EAAkEJ,MAAM,CAACK,MAAzE;WACO/E,GAAP;GANF;;;AAUF,IAAMiF,uBAAuB,GAAI,YAAM;MAC/BC,CAAC,GAAGvG,QAAQ,CAACsB,WAAT,CAAqB,aAArB,CAAV;EAEAiF,CAAC,CAAChF,SAAF,CAAY,WAAZ,EAAyB,IAAzB,EAA+B,IAA/B;EACAgF,CAAC,CAACC,cAAF;SACOD,CAAC,CAACE,gBAAT;CAL8B,EAAhC;;AAQA,IAAI,CAACH,uBAAL,EAA8B;MACtBI,kBAAkB,GAAGC,KAAK,CAACpB,SAAN,CAAgBiB,cAA3C;;EAEAG,KAAK,CAACpB,SAAN,CAAgBiB,cAAhB,GAAiC,YAAY;QACvC,CAAC,KAAKL,UAAV,EAAsB;;;;IAItBO,kBAAkB,CAACjH,IAAnB,CAAwB,IAAxB;IACA+C,MAAM,CAACoE,cAAP,CAAsB,IAAtB,EAA4B,kBAA5B,EAAgD;MAC9C9B,GAD8C,iBACxC;eACG,IAAP;OAF4C;MAI9C+B,YAAY,EAAE;KAJhB;GANF;;;;AAgBF,IAAMC,mCAAmC,GAAI,YAAM;MAC3CP,CAAC,GAAGV,iBAAiB,CAAC,WAAD,EAAc;IACvCM,UAAU,EAAE;GADa,CAA3B;MAIMhG,OAAO,GAAGH,QAAQ,CAAC+G,aAAT,CAAuB,KAAvB,CAAhB;EACA5G,OAAO,CAAC+B,gBAAR,CAAyB,WAAzB,EAAsC;WAAM,IAAN;GAAtC;EAEAqE,CAAC,CAACC,cAAF;EACArG,OAAO,CAACqB,aAAR,CAAsB+E,CAAtB;SACOA,CAAC,CAACE,gBAAT;CAV0C,EAA5C;;AAaA,IAAI,CAACjB,OAAL,EAAc;EACZA,OAAO,GAAGF,OAAO,CAACC,SAAR,CAAkByB,iBAAlB,IAAuC1B,OAAO,CAACC,SAAR,CAAkB0B,qBAAnE;;;AAGF,IAAI,CAACxB,OAAL,EAAc;EACZA,OAAO,GAAG,iBAAUrF,QAAV,EAAoB;QACxBD,OAAO,GAAG,IAAd;;OAEG;UACGqF,OAAO,CAAC/F,IAAR,CAAaU,OAAb,EAAsBC,QAAtB,CAAJ,EAAqC;eAC5BD,OAAP;;;MAGFA,OAAO,GAAGA,OAAO,CAAC+G,aAAR,IAAyB/G,OAAO,CAACqD,UAA3C;KALF,QAMSrD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAACuB,QAAR,KAAqB,CANlD;;WAQO,IAAP;GAXF;;;AAeF,IAAMyF,kBAAkB,GAAG,UAA3B;;AACA,IAAMC,iBAAiB,GAAI,YAAM;MACzBjH,OAAO,GAAGH,QAAQ,CAAC+G,aAAT,CAAuB,KAAvB,CAAhB;;MAEI;IACF5G,OAAO,CAACwF,gBAAR,CAAyB,UAAzB;GADF,CAEE,OAAO0B,KAAP,EAAc;WACP,KAAP;;;SAGK,IAAP;CATwB,EAA1B;;AAYA,IAAI,CAACD,iBAAL,EAAwB;EACtB1B,IAAI,GAAG,cAAUtF,QAAV,EAAoB;QACrB,CAAC+G,kBAAkB,CAACnE,IAAnB,CAAwB5C,QAAxB,CAAL,EAAwC;aAC/B,KAAKuF,gBAAL,CAAsBvF,QAAtB,CAAP;;;QAGIkH,KAAK,GAAGC,OAAO,CAAC,KAAK7C,EAAN,CAArB;;QAEI,CAAC4C,KAAL,EAAY;WACL5C,EAAL,GAAU9E,MAAM,CAAC,OAAD,CAAhB;;;QAGEwD,QAAQ,GAAG,IAAf;;QACI;MACFhD,QAAQ,GAAGA,QAAQ,CAACoH,OAAT,CAAiBL,kBAAjB,QAAyC,KAAKzC,EAA9C,CAAX;MACAtB,QAAQ,GAAG,KAAKuC,gBAAL,CAAsBvF,QAAtB,CAAX;KAFF,SAGU;UACJ,CAACkH,KAAL,EAAY;aACLG,eAAL,CAAqB,IAArB;;;;WAIGrE,QAAP;GArBF;;EAwBAwC,OAAO,GAAG,iBAAUxF,QAAV,EAAoB;QACxB,CAAC+G,kBAAkB,CAACnE,IAAnB,CAAwB5C,QAAxB,CAAL,EAAwC;aAC/B,KAAKK,aAAL,CAAmBL,QAAnB,CAAP;;;QAGIoF,OAAO,GAAGE,IAAI,CAACjG,IAAL,CAAU,IAAV,EAAgBW,QAAhB,CAAhB;;QAEI,OAAOoF,OAAO,CAAC,CAAD,CAAd,KAAsB,WAA1B,EAAuC;aAC9BA,OAAO,CAAC,CAAD,CAAd;;;WAGK,IAAP;GAXF;;;ACjIF;;;;;;AAOA,AAGA;;;;;;AAMA,IAAMkC,CAAC,GAAGtD,SAAS,EAAnB;AACA,IAAMuD,cAAc,GAAG,oBAAvB;AACA,IAAMC,cAAc,GAAG,MAAvB;AACA,IAAMC,aAAa,GAAG,MAAtB;AACA,IAAMC,aAAa,GAAG,QAAtB;AACA,IAAMC,aAAa,GAAG,EAAtB;;AACA,IAAIC,QAAQ,GAAG,CAAf;AACA,IAAMC,YAAY,GAAG;EACnBC,UAAU,EAAE,WADO;EAEnBC,UAAU,EAAE;CAFd;AAIA,IAAMC,YAAY,GAAG,CACnB,OADmB,EAEnB,UAFmB,EAGnB,SAHmB,EAInB,WAJmB,EAKnB,aALmB,EAMnB,YANmB,EAOnB,gBAPmB,EAQnB,WARmB,EASnB,UATmB,EAUnB,WAVmB,EAWnB,aAXmB,EAYnB,WAZmB,EAanB,SAbmB,EAcnB,UAdmB,EAenB,OAfmB,EAgBnB,mBAhBmB,EAiBnB,YAjBmB,EAkBnB,WAlBmB,EAmBnB,UAnBmB,EAoBnB,aApBmB,EAqBnB,aArBmB,EAsBnB,aAtBmB,EAuBnB,WAvBmB,EAwBnB,cAxBmB,EAyBnB,eAzBmB,EA0BnB,cA1BmB,EA2BnB,eA3BmB,EA4BnB,YA5BmB,EA6BnB,OA7BmB,EA8BnB,MA9BmB,EA+BnB,QA/BmB,EAgCnB,OAhCmB,EAiCnB,QAjCmB,EAkCnB,QAlCmB,EAmCnB,SAnCmB,EAoCnB,UApCmB,EAqCnB,MArCmB,EAsCnB,QAtCmB,EAuCnB,cAvCmB,EAwCnB,QAxCmB,EAyCnB,MAzCmB,EA0CnB,kBA1CmB,EA2CnB,kBA3CmB,EA4CnB,OA5CmB,EA6CnB,OA7CmB,EA8CnB,QA9CmB,CAArB;;;;;;;AAuDA,SAASC,WAAT,CAAqBlI,OAArB,EAA8BmI,GAA9B,EAAmC;SACzBA,GAAG,IAAOA,GAAP,UAAeN,QAAQ,EAA3B,IAAoC7H,OAAO,CAAC6H,QAA5C,IAAwDA,QAAQ,EAAvE;;;AAGF,SAASO,QAAT,CAAkBpI,OAAlB,EAA2B;MACnBmI,GAAG,GAAGD,WAAW,CAAClI,OAAD,CAAvB;EAEAA,OAAO,CAAC6H,QAAR,GAAmBM,GAAnB;EACAP,aAAa,CAACO,GAAD,CAAb,GAAqBP,aAAa,CAACO,GAAD,CAAb,IAAsB,EAA3C;SAEOP,aAAa,CAACO,GAAD,CAApB;;;AAGF,SAASE,QAAT,CAAkBC,KAAlB,EAAyBtI,OAAzB,EAAkC;;MAE5BsI,KAAK,CAACC,KAAN,KAAgB,IAAhB,IAAwBb,aAAa,CAAC7E,IAAd,CAAmByF,KAAK,CAACE,IAAzB,CAA5B,EAA4D;IAC1DF,KAAK,CAACC,KAAN,GAAcD,KAAK,CAACG,QAAN,KAAmB,IAAnB,GAA0BH,KAAK,CAACI,OAAhC,GAA0CJ,KAAK,CAACG,QAA9D;;;EAGFH,KAAK,CAACK,cAAN,GAAuB3I,OAAvB;;;AAGF,SAAS4I,gBAAT,CAA0B5I,OAA1B,EAAmC6I,EAAnC,EAAuC;SAC9B,SAASC,OAAT,CAAiBR,KAAjB,EAAwB;IAC7BD,QAAQ,CAACC,KAAD,EAAQtI,OAAR,CAAR;;QACI8I,OAAO,CAACC,MAAZ,EAAoB;MAClBC,YAAY,CAACC,GAAb,CAAiBjJ,OAAjB,EAA0BsI,KAAK,CAACE,IAAhC,EAAsCK,EAAtC;;;WAGKA,EAAE,CAACK,KAAH,CAASlJ,OAAT,EAAkB,CAACsI,KAAD,CAAlB,CAAP;GANF;;;AAUF,SAASa,0BAAT,CAAoCnJ,OAApC,EAA6CC,QAA7C,EAAuD4I,EAAvD,EAA2D;SAClD,SAASC,OAAT,CAAiBR,KAAjB,EAAwB;QACvBc,WAAW,GAAGpJ,OAAO,CAACwF,gBAAR,CAAyBvF,QAAzB,CAApB;;aAEWoJ,MAAX,GAAsBf,KAAtB,CAAWe,MAAX,EAA6BA,MAAM,IAAIA,MAAM,KAAK,IAAlD,EAAwDA,MAAM,GAAGA,MAAM,CAAChG,UAAxE,EAAoF;WAC7E,IAAIiG,CAAC,GAAGF,WAAW,CAACG,MAAzB,EAAiCD,CAAC,EAAlC,GAAuC;YACjCF,WAAW,CAACE,CAAD,CAAX,KAAmBD,MAAvB,EAA+B;UAC7BhB,QAAQ,CAACC,KAAD,EAAQe,MAAR,CAAR;;cAEIP,OAAO,CAACC,MAAZ,EAAoB;YAClBC,YAAY,CAACC,GAAb,CAAiBjJ,OAAjB,EAA0BsI,KAAK,CAACE,IAAhC,EAAsCK,EAAtC;;;iBAGKA,EAAE,CAACK,KAAH,CAASG,MAAT,EAAiB,CAACf,KAAD,CAAjB,CAAP;;;KAZuB;;;WAkBtB,IAAP;GAlBF;;;AAsBF,SAASkB,WAAT,CAAqBC,MAArB,EAA6BX,OAA7B,EAAsCY,kBAAtC,EAAiE;MAA3BA,kBAA2B;IAA3BA,kBAA2B,GAAN,IAAM;;;MACzDC,YAAY,GAAGtH,MAAM,CAACC,IAAP,CAAYmH,MAAZ,CAArB;;OAEK,IAAIH,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGD,YAAY,CAACJ,MAAnC,EAA2CD,CAAC,GAAGM,GAA/C,EAAoDN,CAAC,EAArD,EAAyD;QACjDhB,KAAK,GAAGmB,MAAM,CAACE,YAAY,CAACL,CAAD,CAAb,CAApB;;QAEIhB,KAAK,CAACuB,eAAN,KAA0Bf,OAA1B,IAAqCR,KAAK,CAACoB,kBAAN,KAA6BA,kBAAtE,EAA0F;aACjFpB,KAAP;;;;SAIG,IAAP;;;AAGF,SAASwB,eAAT,CAAyBC,iBAAzB,EAA4CjB,OAA5C,EAAqDkB,YAArD,EAAmE;MAC3DC,UAAU,GAAG,OAAOnB,OAAP,KAAmB,QAAtC;MACMe,eAAe,GAAGI,UAAU,GAAGD,YAAH,GAAkBlB,OAApD,CAFiE;;MAK7DoB,SAAS,GAAGH,iBAAiB,CAAC1C,OAAlB,CAA0BI,cAA1B,EAA0C,EAA1C,CAAhB;MACM0C,MAAM,GAAGrC,YAAY,CAACoC,SAAD,CAA3B;;MAEIC,MAAJ,EAAY;IACVD,SAAS,GAAGC,MAAZ;;;MAGIC,QAAQ,GAAGnC,YAAY,CAACoC,OAAb,CAAqBH,SAArB,IAAkC,CAAC,CAApD;;MAEI,CAACE,QAAL,EAAe;IACbF,SAAS,GAAGH,iBAAZ;;;SAGK,CAACE,UAAD,EAAaJ,eAAb,EAA8BK,SAA9B,CAAP;;;AAGF,SAASI,UAAT,CAAoBtK,OAApB,EAA6B+J,iBAA7B,EAAgDjB,OAAhD,EAAyDkB,YAAzD,EAAuEjB,MAAvE,EAA+E;MACzE,OAAOgB,iBAAP,KAA6B,QAA7B,IAAyC,CAAC/J,OAA9C,EAAuD;;;;MAInD,CAAC8I,OAAL,EAAc;IACZA,OAAO,GAAGkB,YAAV;IACAA,YAAY,GAAG,IAAf;;;yBAG+CF,eAAe,CAACC,iBAAD,EAAoBjB,OAApB,EAA6BkB,YAA7B,CAVa;MAUtEC,UAVsE;MAU1DJ,eAV0D;MAUzCK,SAVyC;;MAWvET,MAAM,GAAGrB,QAAQ,CAACpI,OAAD,CAAvB;MACMuK,QAAQ,GAAGd,MAAM,CAACS,SAAD,CAAN,KAAsBT,MAAM,CAACS,SAAD,CAAN,GAAoB,EAA1C,CAAjB;MACMM,UAAU,GAAGhB,WAAW,CAACe,QAAD,EAAWV,eAAX,EAA4BI,UAAU,GAAGnB,OAAH,GAAa,IAAnD,CAA9B;;MAEI0B,UAAJ,EAAgB;IACdA,UAAU,CAACzB,MAAX,GAAoByB,UAAU,CAACzB,MAAX,IAAqBA,MAAzC;;;;MAKIZ,GAAG,GAAGD,WAAW,CAAC2B,eAAD,EAAkBE,iBAAiB,CAAC1C,OAAlB,CAA0BG,cAA1B,EAA0C,EAA1C,CAAlB,CAAvB;MACMqB,EAAE,GAAGoB,UAAU,GACnBd,0BAA0B,CAACnJ,OAAD,EAAU8I,OAAV,EAAmBkB,YAAnB,CADP,GAEnBpB,gBAAgB,CAAC5I,OAAD,EAAU8I,OAAV,CAFlB;EAIAD,EAAE,CAACa,kBAAH,GAAwBO,UAAU,GAAGnB,OAAH,GAAa,IAA/C;EACAD,EAAE,CAACgB,eAAH,GAAqBA,eAArB;EACAhB,EAAE,CAACE,MAAH,GAAYA,MAAZ;EACAF,EAAE,CAAChB,QAAH,GAAcM,GAAd;EACAoC,QAAQ,CAACpC,GAAD,CAAR,GAAgBU,EAAhB;EAEA7I,OAAO,CAAC+B,gBAAR,CAAyBmI,SAAzB,EAAoCrB,EAApC,EAAwCoB,UAAxC;;;AAGF,SAASQ,aAAT,CAAuBzK,OAAvB,EAAgCyJ,MAAhC,EAAwCS,SAAxC,EAAmDpB,OAAnD,EAA4DY,kBAA5D,EAAgF;MACxEb,EAAE,GAAGW,WAAW,CAACC,MAAM,CAACS,SAAD,CAAP,EAAoBpB,OAApB,EAA6BY,kBAA7B,CAAtB;;MAEI,CAACb,EAAL,EAAS;;;;EAIT7I,OAAO,CAAC8B,mBAAR,CAA4BoI,SAA5B,EAAuCrB,EAAvC,EAA2CzB,OAAO,CAACsC,kBAAD,CAAlD;SACOD,MAAM,CAACS,SAAD,CAAN,CAAkBrB,EAAE,CAAChB,QAArB,CAAP;;;AAGF,SAAS6C,wBAAT,CAAkC1K,OAAlC,EAA2CyJ,MAA3C,EAAmDS,SAAnD,EAA8DS,SAA9D,EAAyE;MACjEC,iBAAiB,GAAGnB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;EAEA7H,MAAM,CAACC,IAAP,CAAYsI,iBAAZ,EACGrI,OADH,CACW,UAAAsI,UAAU,EAAI;QACjBA,UAAU,CAACR,OAAX,CAAmBM,SAAnB,IAAgC,CAAC,CAArC,EAAwC;UAChCrC,KAAK,GAAGsC,iBAAiB,CAACC,UAAD,CAA/B;MAEAJ,aAAa,CAACzK,OAAD,EAAUyJ,MAAV,EAAkBS,SAAlB,EAA6B5B,KAAK,CAACuB,eAAnC,EAAoDvB,KAAK,CAACoB,kBAA1D,CAAb;;GALN;;;AAUF,IAAMV,YAAY,GAAG;EACnB8B,EADmB,cAChB9K,OADgB,EACPsI,KADO,EACAQ,OADA,EACSkB,YADT,EACuB;IACxCM,UAAU,CAACtK,OAAD,EAAUsI,KAAV,EAAiBQ,OAAjB,EAA0BkB,YAA1B,EAAwC,KAAxC,CAAV;GAFiB;EAKnBe,GALmB,eAKf/K,OALe,EAKNsI,KALM,EAKCQ,OALD,EAKUkB,YALV,EAKwB;IACzCM,UAAU,CAACtK,OAAD,EAAUsI,KAAV,EAAiBQ,OAAjB,EAA0BkB,YAA1B,EAAwC,IAAxC,CAAV;GANiB;EASnBf,GATmB,eASfjJ,OATe,EASN+J,iBATM,EASajB,OATb,EASsBkB,YATtB,EASoC;QACjD,OAAOD,iBAAP,KAA6B,QAA7B,IAAyC,CAAC/J,OAA9C,EAAuD;;;;4BAIN8J,eAAe,CAACC,iBAAD,EAAoBjB,OAApB,EAA6BkB,YAA7B,CALX;QAK9CC,UAL8C;QAKlCJ,eALkC;QAKjBK,SALiB;;QAM/Cc,WAAW,GAAGd,SAAS,KAAKH,iBAAlC;QACMN,MAAM,GAAGrB,QAAQ,CAACpI,OAAD,CAAvB;QACMiL,WAAW,GAAGlB,iBAAiB,CAACmB,MAAlB,CAAyB,CAAzB,MAAgC,GAApD;;QAEI,OAAOrB,eAAP,KAA2B,WAA/B,EAA4C;;UAEtC,CAACJ,MAAD,IAAW,CAACA,MAAM,CAACS,SAAD,CAAtB,EAAmC;;;;MAInCO,aAAa,CAACzK,OAAD,EAAUyJ,MAAV,EAAkBS,SAAlB,EAA6BL,eAA7B,EAA8CI,UAAU,GAAGnB,OAAH,GAAa,IAArE,CAAb;;;;QAIEmC,WAAJ,EAAiB;MACf5I,MAAM,CAACC,IAAP,CAAYmH,MAAZ,EACGlH,OADH,CACW,UAAA4I,YAAY,EAAI;QACvBT,wBAAwB,CAAC1K,OAAD,EAAUyJ,MAAV,EAAkB0B,YAAlB,EAAgCpB,iBAAiB,CAACqB,MAAlB,CAAyB,CAAzB,CAAhC,CAAxB;OAFJ;;;QAMIR,iBAAiB,GAAGnB,MAAM,CAACS,SAAD,CAAN,IAAqB,EAA/C;IACA7H,MAAM,CAACC,IAAP,CAAYsI,iBAAZ,EACGrI,OADH,CACW,UAAA8I,WAAW,EAAI;UAChBR,UAAU,GAAGQ,WAAW,CAAChE,OAAZ,CAAoBM,aAApB,EAAmC,EAAnC,CAAnB;;UAEI,CAACqD,WAAD,IAAgBjB,iBAAiB,CAACM,OAAlB,CAA0BQ,UAA1B,IAAwC,CAAC,CAA7D,EAAgE;YACxDvC,KAAK,GAAGsC,iBAAiB,CAACS,WAAD,CAA/B;QAEAZ,aAAa,CAACzK,OAAD,EAAUyJ,MAAV,EAAkBS,SAAlB,EAA6B5B,KAAK,CAACuB,eAAnC,EAAoDvB,KAAK,CAACoB,kBAA1D,CAAb;;KAPN;GArCiB;EAiDnB4B,OAjDmB,mBAiDXtL,OAjDW,EAiDFsI,KAjDE,EAiDKiD,IAjDL,EAiDW;QACxB,OAAOjD,KAAP,KAAiB,QAAjB,IAA6B,CAACtI,OAAlC,EAA2C;aAClC,IAAP;;;QAGIkK,SAAS,GAAG5B,KAAK,CAACjB,OAAN,CAAcI,cAAd,EAA8B,EAA9B,CAAlB;QACMuD,WAAW,GAAG1C,KAAK,KAAK4B,SAA9B;QACME,QAAQ,GAAGnC,YAAY,CAACoC,OAAb,CAAqBH,SAArB,IAAkC,CAAC,CAApD;QAEIsB,WAAJ;QACIzF,OAAO,GAAG,IAAd;QACI0F,cAAc,GAAG,IAArB;QACInF,gBAAgB,GAAG,KAAvB;QACIpF,GAAG,GAAG,IAAV;;QAEI8J,WAAW,IAAIzD,CAAnB,EAAsB;MACpBiE,WAAW,GAAGjE,CAAC,CAACf,KAAF,CAAQ8B,KAAR,EAAeiD,IAAf,CAAd;MAEAhE,CAAC,CAACvH,OAAD,CAAD,CAAWsL,OAAX,CAAmBE,WAAnB;MACAzF,OAAO,GAAG,CAACyF,WAAW,CAACE,oBAAZ,EAAX;MACAD,cAAc,GAAG,CAACD,WAAW,CAACG,6BAAZ,EAAlB;MACArF,gBAAgB,GAAGkF,WAAW,CAACI,kBAAZ,EAAnB;;;QAGExB,QAAJ,EAAc;MACZlJ,GAAG,GAAGrB,QAAQ,CAACsB,WAAT,CAAqB,YAArB,CAAN;MACAD,GAAG,CAACE,SAAJ,CAAc8I,SAAd,EAAyBnE,OAAzB,EAAkC,IAAlC;KAFF,MAGO;MACL7E,GAAG,GAAGwE,iBAAiB,CAAC4C,KAAD,EAAQ;QAC7BvC,OAAO,EAAPA,OAD6B;QAE7BC,UAAU,EAAE;OAFS,CAAvB;KA5B0B;;;QAmCxB,OAAOuF,IAAP,KAAgB,WAApB,EAAiC;MAC/BlJ,MAAM,CAACC,IAAP,CAAYiJ,IAAZ,EACGhJ,OADH,CACW,UAAAkC,GAAG,EAAI;QACdpC,MAAM,CAACoE,cAAP,CAAsBvF,GAAtB,EAA2BuD,GAA3B,EAAgC;UAC9BE,GAD8B,iBACxB;mBACG4G,IAAI,CAAC9G,GAAD,CAAX;;SAFJ;OAFJ;;;QAUE6B,gBAAJ,EAAsB;MACpBpF,GAAG,CAACmF,cAAJ;;UAEI,CAACM,mCAAL,EAA0C;QACxCtE,MAAM,CAACoE,cAAP,CAAsBvF,GAAtB,EAA2B,kBAA3B,EAA+C;UAC7CyD,GAAG,EAAE;mBAAM,IAAN;;SADP;;;;QAMA8G,cAAJ,EAAoB;MAClBzL,OAAO,CAACqB,aAAR,CAAsBH,GAAtB;;;QAGEA,GAAG,CAACoF,gBAAJ,IAAwB,OAAOkF,WAAP,KAAuB,WAAnD,EAAgE;MAC9DA,WAAW,CAACnF,cAAZ;;;WAGKnF,GAAP;;CAjHJ;;ACxOA;;;;;;AAOA,AAGA;;;;;;AAMA,IAAM2K,SAAS,GAAG,CAAlB;AAEA,IAAMC,cAAc,GAAG;EACrBzG,OADqB,qBACbrF,OADa,EACJC,QADI,EACM;WAClBoF,OAAO,CAAC/F,IAAR,CAAaU,OAAb,EAAsBC,QAAtB,CAAP;GAFmB;EAKrBsF,IALqB,kBAKhBtF,QALgB,EAKND,OALM,EAK8B;QAApCA,OAAoC;MAApCA,OAAoC,GAA1BH,QAAQ,CAAC4D,eAAiB;;;WAC1CsI,IAAM,CAACzM,IAAP,CAAYU,OAAZ,EAAqBC,QAArB,CAAP;GANmB;EASrBwF,OATqB,qBASbxF,QATa,EASHD,OATG,EASiC;QAApCA,OAAoC;MAApCA,OAAoC,GAA1BH,QAAQ,CAAC4D,eAAiB;;;WAC7CgC,OAAO,CAACnG,IAAR,CAAaU,OAAb,EAAsBC,QAAtB,CAAP;GAVmB;EAarB+L,QAbqB,oBAaZhM,OAbY,EAaHC,QAbG,EAaO;;;QACpB+L,QAAQ,GAAGhJ,SAAS,CAAChD,OAAO,CAACgM,QAAT,CAA1B;WAEOA,QAAQ,CAACC,MAAT,CAAgB,UAAAC,KAAK;aAAI,KAAI,CAAC7G,OAAL,CAAa6G,KAAb,EAAoBjM,QAApB,CAAJ;KAArB,CAAP;GAhBmB;EAmBrBkM,OAnBqB,mBAmBbnM,OAnBa,EAmBJC,QAnBI,EAmBM;QACnBkM,OAAO,GAAG,EAAhB;QAEIC,QAAQ,GAAGpM,OAAO,CAACqD,UAAvB;;WAEO+I,QAAQ,IAAIA,QAAQ,CAAC7K,QAAT,KAAsB8K,IAAI,CAACC,YAAvC,IAAuDF,QAAQ,CAAC7K,QAAT,KAAsBsK,SAApF,EAA+F;UACzF,KAAKxG,OAAL,CAAa+G,QAAb,EAAuBnM,QAAvB,CAAJ,EAAsC;QACpCkM,OAAO,CAACI,IAAR,CAAaH,QAAb;;;MAGFA,QAAQ,GAAGA,QAAQ,CAAC/I,UAApB;;;WAGK8I,OAAP;GAhCmB;EAmCrB7G,OAnCqB,qBAmCbtF,OAnCa,EAmCJC,QAnCI,EAmCM;WAClBqF,OAAO,CAAChG,IAAR,CAAaU,OAAb,EAAsBC,QAAtB,CAAP;GApCmB;EAuCrBuM,IAvCqB,gBAuChBxM,OAvCgB,EAuCPC,QAvCO,EAuCG;QAChBwM,QAAQ,GAAG,EAAjB;QAEIC,QAAQ,GAAG1M,OAAO,CAAC2M,eAAvB;;WAEOD,QAAQ,IAAIA,QAAQ,CAACnL,QAAT,KAAsB8K,IAAI,CAACC,YAAvC,IAAuDI,QAAQ,CAACnL,QAAT,KAAsBsK,SAApF,EAA+F;UACzF,KAAKxG,OAAL,CAAaqH,QAAb,EAAuBzM,QAAvB,CAAJ,EAAsC;QACpCwM,QAAQ,CAACF,IAAT,CAAcG,QAAd;;;MAGFA,QAAQ,GAAGA,QAAQ,CAACC,eAApB;;;WAGKF,QAAP;;CApDJ;;ACAA;;;;;;AAMA,IAAMG,IAAI,GAAG,OAAb;AACA,IAAMC,OAAO,GAAG,OAAhB;AACA,IAAMC,QAAQ,GAAG,UAAjB;AACA,IAAMC,SAAS,SAAOD,QAAtB;AACA,IAAME,YAAY,GAAG,WAArB;AAEA,IAAMC,QAAQ,GAAG;EACfC,OAAO,EAAE;CADX;AAIA,IAAM1G,OAAK,GAAG;EACZ2G,KAAK,YAAUJ,SADH;EAEZK,MAAM,aAAWL,SAFL;EAGZM,cAAc,YAAUN,SAAV,GAAsBC;CAHtC;AAMA,IAAMM,SAAS,GAAG;EAChBC,KAAK,EAAE,OADS;EAEhBC,IAAI,EAAE,MAFU;EAGhBC,IAAI,EAAE;;;;;;;CAHR;;IAYMC;;;iBACQ1N,OAAZ,EAAqB;SACd2N,QAAL,GAAgB3N,OAAhB;;QAEI,KAAK2N,QAAT,EAAmB;MACjB7I,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,QAAtB,EAAgC,IAAhC;;;;;;;;SAYJc,QAAA,eAAM5N,OAAN,EAAe;QACT6N,WAAW,GAAG,KAAKF,QAAvB;;QACI3N,OAAJ,EAAa;MACX6N,WAAW,GAAG,KAAKC,eAAL,CAAqB9N,OAArB,CAAd;;;QAGI+N,WAAW,GAAG,KAAKC,kBAAL,CAAwBH,WAAxB,CAApB;;QAEIE,WAAW,KAAK,IAAhB,IAAwBA,WAAW,CAACzH,gBAAxC,EAA0D;;;;SAIrD2H,cAAL,CAAoBJ,WAApB;;;SAGFK,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,QAA/B;SACKa,QAAL,GAAgB,IAAhB;;;;SAKFG,kBAAA,yBAAgB9N,OAAhB,EAAyB;QACnBmO,MAAM,GAAG5N,sBAAsB,CAACP,OAAD,CAAnC;;QAEI,CAACmO,MAAL,EAAa;MACXA,MAAM,GAAGrC,cAAc,CAACxG,OAAf,CAAuBtF,OAAvB,QAAoCsN,SAAS,CAACC,KAA9C,CAAT;;;WAGKY,MAAP;;;SAGFH,qBAAA,4BAAmBhO,OAAnB,EAA4B;WACnBgJ,YAAY,CAACsC,OAAb,CAAqBtL,OAArB,EAA8BwG,OAAK,CAAC2G,KAApC,CAAP;;;SAGFc,iBAAA,wBAAejO,OAAf,EAAwB;;;IACtBA,OAAO,CAACoO,SAAR,CAAkBC,MAAlB,CAAyBf,SAAS,CAACG,IAAnC;;QAEI,CAACzN,OAAO,CAACoO,SAAR,CAAkBE,QAAlB,CAA2BhB,SAAS,CAACE,IAArC,CAAL,EAAiD;WAC1Ce,eAAL,CAAqBvO,OAArB;;;;;QAIIW,kBAAkB,GAAGH,gCAAgC,CAACR,OAAD,CAA3D;IAEAgJ,YAAY,CACT+B,GADH,CACO/K,OADP,EACgBd,cADhB,EACgC;aAAM,KAAI,CAACqP,eAAL,CAAqBvO,OAArB,CAAN;KADhC;IAEAwB,oBAAoB,CAACxB,OAAD,EAAUW,kBAAV,CAApB;;;SAGF4N,kBAAA,yBAAgBvO,OAAhB,EAAyB;QACnBA,OAAO,CAACqD,UAAZ,EAAwB;MACtBrD,OAAO,CAACqD,UAAR,CAAmBmL,WAAnB,CAA+BxO,OAA/B;;;IAGFgJ,YAAY,CAACsC,OAAb,CAAqBtL,OAArB,EAA8BwG,OAAK,CAAC4G,MAApC;;;;QAKKqB,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,QAAnB,CAAX;;UAEI,CAACpI,IAAL,EAAW;QACTA,IAAI,GAAG,IAAIgJ,KAAJ,CAAU,IAAV,CAAP;;;UAGEvL,MAAM,KAAK,OAAf,EAAwB;QACtBuC,IAAI,CAACvC,MAAD,CAAJ,CAAa,IAAb;;KARG,CAAP;;;QAaKwM,gBAAP,uBAAqBC,aAArB,EAAoC;WAC3B,UAAUtG,KAAV,EAAiB;UAClBA,KAAJ,EAAW;QACTA,KAAK,CAACjC,cAAN;;;MAGFuI,aAAa,CAAChB,KAAd,CAAoB,IAApB;KALF;;;QASKiB,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,QAAtB,CAAP;;;;;wBA5FmB;aACZD,OAAP;;;;;;;;;;;;;AAoGJ7D,YAAY,CACT8B,EADH,CACMjL,QADN,EACgB2G,OAAK,CAAC6G,cADtB,EACsCJ,QAAQ,CAACC,OAD/C,EACwDQ,KAAK,CAACiB,aAAN,CAAoB,IAAIjB,KAAJ,EAApB,CADxD;AAGA,IAAMnG,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AAUA,IAAIsD,GAAJ,EAAO;MACCuH,kBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,IAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,IAAL,IAAac,KAAK,CAACe,eAAnB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,IAAL,EAAWmC,WAAX,GAAyBrB,KAAzB;;EACAnG,GAAC,CAACsB,EAAF,CAAK+D,IAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,IAAL,IAAakC,kBAAb;WACOpB,KAAK,CAACe,eAAb;GAFF;;;ACzKF;;;;;;AAMA,IAAM7B,MAAI,GAAG,QAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,WAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMM,WAAS,GAAG;EAChB2B,MAAM,EAAE,QADQ;EAEhBC,MAAM,EAAE,KAFQ;EAGhBC,KAAK,EAAE;CAHT;AAMA,IAAMlC,UAAQ,GAAG;EACfmC,kBAAkB,EAAE,yBADL;EAEfC,WAAW,EAAE,yBAFE;EAGfC,KAAK,EAAE,4BAHQ;EAIfL,MAAM,EAAE,SAJO;EAKfC,MAAM,EAAE;CALV;AAQA,IAAM1I,OAAK,GAAG;EACZ6G,cAAc,YAAUN,WAAV,GAAsBC,cADxB;EAEZuC,cAAc,YAAUxC,WAAV,GAAsBC,cAFxB;EAGZwC,aAAa,WAASzC,WAAT,GAAqBC;;;;;;;CAHpC;;IAYMyC;;;kBACQzP,OAAZ,EAAqB;SACd2N,QAAL,GAAgB3N,OAAhB;IACA8E,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAWF4C,SAAA,kBAAS;QACHC,kBAAkB,GAAG,IAAzB;QACIC,cAAc,GAAG,IAArB;QAEM/B,WAAW,GAAG/B,cAAc,CAACxG,OAAf,CAClB,KAAKqI,QADa,EAElBV,UAAQ,CAACoC,WAFS,CAApB;;QAKIxB,WAAJ,EAAiB;UACTgC,KAAK,GAAG/D,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACqC,KAAhC,EAAuC,KAAK3B,QAA5C,CAAd;;UAEIkC,KAAK,IAAIA,KAAK,CAACrH,IAAN,KAAe,OAA5B,EAAqC;YAC/BqH,KAAK,CAACC,OAAN,IACF,KAAKnC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAAC2B,MAA3C,CADF,EACsD;UACpDU,kBAAkB,GAAG,KAArB;SAFF,MAGO;cACCI,aAAa,GAAGjE,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACgC,MAAhC,EAAwCpB,WAAxC,CAAtB;;cAEIkC,aAAJ,EAAmB;YACjBA,aAAa,CAAC3B,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC2B,MAAzC;;;;YAIAU,kBAAJ,EAAwB;cAClBE,KAAK,CAACzL,YAAN,CAAmB,UAAnB,KACFyJ,WAAW,CAACzJ,YAAZ,CAAyB,UAAzB,CADE,IAEFyL,KAAK,CAACzB,SAAN,CAAgBE,QAAhB,CAAyB,UAAzB,CAFE,IAGFT,WAAW,CAACO,SAAZ,CAAsBE,QAAtB,CAA+B,UAA/B,CAHF,EAG8C;;;;UAI9CuB,KAAK,CAACC,OAAN,GAAgB,CAAC,KAAKnC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAAC2B,MAA3C,CAAjB;UACAjG,YAAY,CAACsC,OAAb,CAAqBuE,KAArB,EAA4B,QAA5B;;;QAGFA,KAAK,CAACG,KAAN;QACAJ,cAAc,GAAG,KAAjB;;;;QAIAA,cAAJ,EAAoB;WACbjC,QAAL,CAAcsC,YAAd,CAA2B,cAA3B,EACE,CAAC,KAAKtC,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAAC2B,MAA3C,CADH;;;QAIEU,kBAAJ,EAAwB;WACjBhC,QAAL,CAAcS,SAAd,CAAwBsB,MAAxB,CAA+BpC,WAAS,CAAC2B,MAAzC;;;;SAIJf,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SACKa,QAAL,GAAgB,IAAhB;;;;SAKKc,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UAEI,CAACpI,IAAL,EAAW;QACTA,IAAI,GAAG,IAAI+K,MAAJ,CAAW,IAAX,CAAP;;;UAGEtN,MAAM,KAAK,QAAf,EAAyB;QACvBuC,IAAI,CAACvC,MAAD,CAAJ;;KARG,CAAP;;;SAaK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBA/EmB;aACZD,SAAP;;;;;;;;;;;;;AAwFJ7D,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgDJ,UAAQ,CAACmC,kBAAzD,EAA6E,UAAA9G,KAAK,EAAI;EACpFA,KAAK,CAACjC,cAAN;MAEI6J,MAAM,GAAG5H,KAAK,CAACe,MAAnB;;MACI,CAAC6G,MAAM,CAAC9B,SAAP,CAAiBE,QAAjB,CAA0BhB,WAAS,CAAC4B,MAApC,CAAL,EAAkD;IAChDgB,MAAM,GAAGpE,cAAc,CAACxG,OAAf,CAAuB4K,MAAvB,EAA+BjD,UAAQ,CAACiC,MAAxC,CAAT;;;MAGExK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAaiL,MAAb,EAAqBpD,UAArB,CAAX;;MACI,CAACpI,IAAL,EAAW;IACTA,IAAI,GAAG,IAAI+K,MAAJ,CAAWS,MAAX,CAAP;;;EAGFxL,IAAI,CAACgL,MAAL;CAbF;AAgBA1G,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC+I,cAAhC,EAAgDtC,UAAQ,CAACmC,kBAAzD,EAA6E,UAAA9G,KAAK,EAAI;MAC9E4H,MAAM,GAAGpE,cAAc,CAACxG,OAAf,CAAuBgD,KAAK,CAACe,MAA7B,EAAqC4D,UAAQ,CAACiC,MAA9C,CAAf;;MAEIgB,MAAJ,EAAY;IACVA,MAAM,CAAC9B,SAAP,CAAiB+B,GAAjB,CAAqB7C,WAAS,CAAC6B,KAA/B;;CAJJ;AAQAnG,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAACgJ,aAAhC,EAA+CvC,UAAQ,CAACmC,kBAAxD,EAA4E,UAAA9G,KAAK,EAAI;MAC7E4H,MAAM,GAAGpE,cAAc,CAACxG,OAAf,CAAuBgD,KAAK,CAACe,MAA7B,EAAqC4D,UAAQ,CAACiC,MAA9C,CAAf;;MAEIgB,MAAJ,EAAY;IACVA,MAAM,CAAC9B,SAAP,CAAiBC,MAAjB,CAAwBf,WAAS,CAAC6B,KAAlC;;CAJJ;AAQA,IAAM5H,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAa6C,MAAM,CAAChB,eAApB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBU,MAAzB;;EAEAlI,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOW,MAAM,CAAChB,eAAd;GAFF;;;ACjMF;;;;;;AAOA,SAAS2B,aAAT,CAAuBC,GAAvB,EAA4B;MACtBA,GAAG,KAAK,MAAZ,EAAoB;WACX,IAAP;;;MAGEA,GAAG,KAAK,OAAZ,EAAqB;WACZ,KAAP;;;MAGEA,GAAG,KAAKC,MAAM,CAACD,GAAD,CAAN,CAAYhR,QAAZ,EAAZ,EAAoC;WAC3BiR,MAAM,CAACD,GAAD,CAAb;;;MAGEA,GAAG,KAAK,EAAR,IAAcA,GAAG,KAAK,MAA1B,EAAkC;WACzB,IAAP;;;SAGKA,GAAP;;;AAGF,SAASE,gBAAT,CAA0B9L,GAA1B,EAA+B;SACtBA,GAAG,CAAC4C,OAAJ,CAAY,QAAZ,EAAsB,UAAAmJ,GAAG;WAAIA,GAAG,CAAChR,WAAJ,EAAJ;GAAzB,CAAP;;;AAGF,IAAMiR,WAAW,GAAG;EAClBC,gBADkB,4BACD1Q,OADC,EACQyE,GADR,EACa/B,KADb,EACoB;IACpC1C,OAAO,CAACiQ,YAAR,WAA6BM,gBAAgB,CAAC9L,GAAD,CAA7C,EAAsD/B,KAAtD;GAFgB;EAKlBiO,mBALkB,+BAKE3Q,OALF,EAKWyE,GALX,EAKgB;IAChCzE,OAAO,CAACsH,eAAR,WAAgCiJ,gBAAgB,CAAC9L,GAAD,CAAhD;GANgB;EASlBmM,iBATkB,6BASA5Q,OATA,EASS;QACrB,CAACA,OAAL,EAAc;aACL,EAAP;;;QAGI6Q,UAAU,sBACX7Q,OAAO,CAAC8Q,OADG,CAAhB;;IAIAzO,MAAM,CAACC,IAAP,CAAYuO,UAAZ,EAAwBtO,OAAxB,CAAgC,UAAAkC,GAAG,EAAI;MACrCoM,UAAU,CAACpM,GAAD,CAAV,GAAkB2L,aAAa,CAACS,UAAU,CAACpM,GAAD,CAAX,CAA/B;KADF;WAIOoM,UAAP;GAtBgB;EAyBlBE,gBAzBkB,4BAyBD/Q,OAzBC,EAyBQyE,GAzBR,EAyBa;WACtB2L,aAAa,CAACpQ,OAAO,CAACE,YAAR,WAA6BqQ,gBAAgB,CAAC9L,GAAD,CAA7C,CAAD,CAApB;GA1BgB;EA6BlBuM,MA7BkB,kBA6BXhR,OA7BW,EA6BF;QACRiR,IAAI,GAAGjR,OAAO,CAACkR,qBAAR,EAAb;WAEO;MACLC,GAAG,EAAEF,IAAI,CAACE,GAAL,GAAWtR,QAAQ,CAACsE,IAAT,CAAciN,SADzB;MAELC,IAAI,EAAEJ,IAAI,CAACI,IAAL,GAAYxR,QAAQ,CAACsE,IAAT,CAAcmN;KAFlC;GAhCgB;EAsClBC,QAtCkB,oBAsCTvR,OAtCS,EAsCA;WACT;MACLmR,GAAG,EAAEnR,OAAO,CAACwR,SADR;MAELH,IAAI,EAAErR,OAAO,CAACyR;KAFhB;GAvCgB;EA6ClBC,WA7CkB,uBA6CN1R,OA7CM,EA6CG2R,SA7CH,EA6Cc;QAC1B,CAAC3R,OAAL,EAAc;;;;QAIVA,OAAO,CAACoO,SAAR,CAAkBE,QAAlB,CAA2BqD,SAA3B,CAAJ,EAA2C;MACzC3R,OAAO,CAACoO,SAAR,CAAkBC,MAAlB,CAAyBsD,SAAzB;KADF,MAEO;MACL3R,OAAO,CAACoO,SAAR,CAAkB+B,GAAlB,CAAsBwB,SAAtB;;;CArDN;;ACPA;;;;;;AAMA,IAAM/E,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AACA,IAAM4E,kBAAkB,GAAG,EAA3B;;AACA,IAAMC,mBAAmB,GAAG,EAA5B;;AACA,IAAMC,sBAAsB,GAAG,GAA/B;;AACA,IAAMC,eAAe,GAAG,EAAxB;AAEA,IAAMC,OAAO,GAAG;EACdC,QAAQ,EAAE,IADI;EAEdC,QAAQ,EAAE,IAFI;EAGdC,KAAK,EAAE,KAHO;EAIdC,KAAK,EAAE,OAJO;EAKdC,IAAI,EAAE,IALQ;EAMdC,KAAK,EAAE;CANT;AASA,IAAMC,WAAW,GAAG;EAClBN,QAAQ,EAAE,kBADQ;EAElBC,QAAQ,EAAE,SAFQ;EAGlBC,KAAK,EAAE,kBAHW;EAIlBC,KAAK,EAAE,kBAJW;EAKlBC,IAAI,EAAE,SALY;EAMlBC,KAAK,EAAE;CANT;AASA,IAAME,SAAS,GAAG;EAChBC,IAAI,EAAE,MADU;EAEhBC,IAAI,EAAE,MAFU;EAGhBC,IAAI,EAAE,MAHU;EAIhBC,KAAK,EAAE;CAJT;AAOA,IAAMpM,OAAK,GAAG;EACZqM,KAAK,YAAU9F,WADH;EAEZ+F,IAAI,WAAS/F,WAFD;EAGZgG,OAAO,cAAYhG,WAHP;EAIZiG,UAAU,iBAAejG,WAJb;EAKZkG,UAAU,iBAAelG,WALb;EAMZmG,UAAU,iBAAenG,WANb;EAOZoG,SAAS,gBAAcpG,WAPX;EAQZqG,QAAQ,eAAarG,WART;EASZsG,WAAW,kBAAgBtG,WATf;EAUZuG,SAAS,gBAAcvG,WAVX;EAWZwG,UAAU,gBAAcxG,WAXZ;EAYZyG,aAAa,WAASzG,WAAT,GAAqBC,cAZtB;EAaZK,cAAc,YAAUN,WAAV,GAAsBC;CAbtC;AAgBA,IAAMM,WAAS,GAAG;EAChBmG,QAAQ,EAAE,UADM;EAEhBxE,MAAM,EAAE,QAFQ;EAGhB4D,KAAK,EAAE,OAHS;EAIhBD,KAAK,EAAE,qBAJS;EAKhBD,IAAI,EAAE,oBALU;EAMhBF,IAAI,EAAE,oBANU;EAOhBC,IAAI,EAAE,oBAPU;EAQhBgB,IAAI,EAAE,eARU;EAShBC,aAAa,EAAE;CATjB;AAYA,IAAM1G,UAAQ,GAAG;EACfgC,MAAM,EAAE,SADO;EAEf2E,WAAW,EAAE,uBAFE;EAGfF,IAAI,EAAE,gBAHS;EAIfG,QAAQ,EAAE,oBAJK;EAKfC,SAAS,EAAE,0CALI;EAMfC,UAAU,EAAE,sBANG;EAOfC,UAAU,EAAE,+BAPG;EAQfC,SAAS,EAAE;CARb;AAWA,IAAMC,WAAW,GAAG;EAClBC,KAAK,EAAE,OADW;EAElBC,GAAG,EAAE;;;;;;;CAFP;;IAUMC;;;oBACQrU,OAAZ,EAAqBmC,MAArB,EAA6B;SACtBmS,MAAL,GAAc,IAAd;SACKC,SAAL,GAAiB,IAAjB;SACKC,cAAL,GAAsB,IAAtB;SACKC,SAAL,GAAiB,KAAjB;SACKC,UAAL,GAAkB,KAAlB;SACKC,YAAL,GAAoB,IAApB;SACKC,WAAL,GAAmB,CAAnB;SACKC,WAAL,GAAmB,CAAnB;SAEKC,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACKwL,QAAL,GAAgB3N,OAAhB;SACKgV,kBAAL,GAA0BlJ,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC8G,UAAhC,EAA4C,KAAKpG,QAAjD,CAA1B;SACKsH,eAAL,GAAuB,kBAAkBpV,QAAQ,CAAC4D,eAA3B,IAA8CyR,SAAS,CAACC,cAAV,GAA2B,CAAhG;SACKC,aAAL,GAAqBhO,OAAO,CAAC3G,MAAM,CAAC4U,YAAP,IAAuB5U,MAAM,CAAC6U,cAA/B,CAA5B;;SAEKC,kBAAL;;IACAzQ,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAeF0I,OAAA,gBAAO;QACD,CAAC,KAAKd,UAAV,EAAsB;WACfe,MAAL,CAAYjD,SAAS,CAACC,IAAtB;;;;SAIJiD,kBAAA,2BAAkB;;;QAGZ,CAAC7V,QAAQ,CAAC8V,MAAV,IAAoBxS,SAAS,CAAC,KAAKwK,QAAN,CAAjC,EAAkD;WAC3C6H,IAAL;;;;SAIJhJ,OAAA,gBAAO;QACD,CAAC,KAAKkI,UAAV,EAAsB;WACfe,MAAL,CAAYjD,SAAS,CAACE,IAAtB;;;;SAIJN,QAAA,eAAM9J,KAAN,EAAa;QACP,CAACA,KAAL,EAAY;WACLmM,SAAL,GAAiB,IAAjB;;;QAGE3I,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC6G,SAAhC,EAA2C,KAAKnG,QAAhD,CAAJ,EAA+D;MAC7D1M,oBAAoB,CAAC,KAAK0M,QAAN,CAApB;WACKiI,KAAL,CAAW,IAAX;;;IAGFC,aAAa,CAAC,KAAKtB,SAAN,CAAb;SACKA,SAAL,GAAiB,IAAjB;;;SAGFqB,QAAA,eAAMtN,KAAN,EAAa;QACP,CAACA,KAAL,EAAY;WACLmM,SAAL,GAAiB,KAAjB;;;QAGE,KAAKF,SAAT,EAAoB;MAClBsB,aAAa,CAAC,KAAKtB,SAAN,CAAb;WACKA,SAAL,GAAiB,IAAjB;;;QAGE,KAAKO,OAAL,IAAgB,KAAKA,OAAL,CAAa7C,QAA7B,IAAyC,CAAC,KAAKwC,SAAnD,EAA8D;WACvDF,SAAL,GAAiBuB,WAAW,CAC1B,CAACjW,QAAQ,CAACkW,eAAT,GAA2B,KAAKL,eAAhC,GAAkD,KAAKF,IAAxD,EAA8DQ,IAA9D,CAAmE,IAAnE,CAD0B,EAE1B,KAAKlB,OAAL,CAAa7C,QAFa,CAA5B;;;;SAOJgE,KAAA,YAAGC,KAAH,EAAU;;;SACH1B,cAAL,GAAsB1I,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC2G,WAAhC,EAA6C,KAAKjG,QAAlD,CAAtB;;QACMwI,WAAW,GAAG,KAAKC,aAAL,CAAmB,KAAK5B,cAAxB,CAApB;;QAEI0B,KAAK,GAAG,KAAK5B,MAAL,CAAY/K,MAAZ,GAAqB,CAA7B,IAAkC2M,KAAK,GAAG,CAA9C,EAAiD;;;;QAI7C,KAAKxB,UAAT,EAAqB;MACnB1L,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCnH,OAAK,CAACsM,IAAtC,EAA4C;eAAM,KAAI,CAACmD,EAAL,CAAQC,KAAR,CAAN;OAA5C;;;;QAIEC,WAAW,KAAKD,KAApB,EAA2B;WACpB9D,KAAL;WACKwD,KAAL;;;;QAIIS,SAAS,GAAGH,KAAK,GAAGC,WAAR,GAChB3D,SAAS,CAACC,IADM,GAEhBD,SAAS,CAACE,IAFZ;;SAIK+C,MAAL,CAAYY,SAAZ,EAAuB,KAAK/B,MAAL,CAAY4B,KAAZ,CAAvB;;;SAGFhI,UAAA,mBAAU;IACRlF,YAAY,CAACC,GAAb,CAAiB,KAAK0E,QAAtB,EAAgCZ,WAAhC;IACAjI,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SAEKwH,MAAL,GAAc,IAAd;SACKQ,OAAL,GAAe,IAAf;SACKnH,QAAL,GAAgB,IAAhB;SACK4G,SAAL,GAAiB,IAAjB;SACKE,SAAL,GAAiB,IAAjB;SACKC,UAAL,GAAkB,IAAlB;SACKF,cAAL,GAAsB,IAAtB;SACKQ,kBAAL,GAA0B,IAA1B;;;;SAKFD,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD6P,OADC,MAED7P,MAFC,CAAN;IAIAF,eAAe,CAAC2K,MAAD,EAAOzK,MAAP,EAAeoQ,WAAf,CAAf;WACOpQ,MAAP;;;SAGFmU,eAAA,wBAAe;QACPC,SAAS,GAAG5W,IAAI,CAAC6W,GAAL,CAAS,KAAK3B,WAAd,CAAlB;;QAEI0B,SAAS,IAAIxE,eAAjB,EAAkC;;;;QAI5BsE,SAAS,GAAGE,SAAS,GAAG,KAAK1B,WAAnC;SAEKA,WAAL,GAAmB,CAAnB,CATa;;QAYTwB,SAAS,GAAG,CAAhB,EAAmB;WACZ7J,IAAL;KAbW;;;QAiBT6J,SAAS,GAAG,CAAhB,EAAmB;WACZb,IAAL;;;;SAIJD,qBAAA,8BAAqB;;;QACf,KAAKT,OAAL,CAAa5C,QAAjB,EAA2B;MACzBlJ,YAAY,CACT8B,EADH,CACM,KAAK6C,QADX,EACqBnH,OAAK,CAACuM,OAD3B,EACoC,UAAAzK,KAAK;eAAI,MAAI,CAACmO,QAAL,CAAcnO,KAAd,CAAJ;OADzC;;;QAIE,KAAKwM,OAAL,CAAa1C,KAAb,KAAuB,OAA3B,EAAoC;MAClCpJ,YAAY,CACT8B,EADH,CACM,KAAK6C,QADX,EACqBnH,OAAK,CAACwM,UAD3B,EACuC,UAAA1K,KAAK;eAAI,MAAI,CAAC8J,KAAL,CAAW9J,KAAX,CAAJ;OAD5C;MAEAU,YAAY,CACT8B,EADH,CACM,KAAK6C,QADX,EACqBnH,OAAK,CAACyM,UAD3B,EACuC,UAAA3K,KAAK;eAAI,MAAI,CAACsN,KAAL,CAAWtN,KAAX,CAAJ;OAD5C;;;QAIE,KAAKwM,OAAL,CAAaxC,KAAb,IAAsB,KAAK2C,eAA/B,EAAgD;WACzCyB,uBAAL;;;;SAIJA,0BAAA,mCAA0B;;;QAClBC,KAAK,GAAG,SAARA,KAAQ,CAAArO,KAAK,EAAI;UACjB,MAAI,CAAC8M,aAAL,IAAsBlB,WAAW,CAAC5L,KAAK,CAACsO,WAAN,CAAkB7T,WAAlB,EAAD,CAArC,EAAwE;QACtE,MAAI,CAAC6R,WAAL,GAAmBtM,KAAK,CAACuO,OAAzB;OADF,MAEO,IAAI,CAAC,MAAI,CAACzB,aAAV,EAAyB;QAC9B,MAAI,CAACR,WAAL,GAAmBtM,KAAK,CAACwO,OAAN,CAAc,CAAd,EAAiBD,OAApC;;KAJJ;;QAQME,IAAI,GAAG,SAAPA,IAAO,CAAAzO,KAAK,EAAI;;UAEhBA,KAAK,CAACwO,OAAN,IAAiBxO,KAAK,CAACwO,OAAN,CAAcvN,MAAd,GAAuB,CAA5C,EAA+C;QAC7C,MAAI,CAACsL,WAAL,GAAmB,CAAnB;OADF,MAEO;QACL,MAAI,CAACA,WAAL,GAAmBvM,KAAK,CAACwO,OAAN,CAAc,CAAd,EAAiBD,OAAjB,GAA2B,MAAI,CAACjC,WAAnD;;KALJ;;QASMoC,GAAG,GAAG,SAANA,GAAM,CAAA1O,KAAK,EAAI;UACf,MAAI,CAAC8M,aAAL,IAAsBlB,WAAW,CAAC5L,KAAK,CAACsO,WAAN,CAAkB7T,WAAlB,EAAD,CAArC,EAAwE;QACtE,MAAI,CAAC8R,WAAL,GAAmBvM,KAAK,CAACuO,OAAN,GAAgB,MAAI,CAACjC,WAAxC;;;MAGF,MAAI,CAAC0B,YAAL;;UACI,MAAI,CAACxB,OAAL,CAAa1C,KAAb,KAAuB,OAA3B,EAAoC;;;;;;;;QASlC,MAAI,CAACA,KAAL;;YACI,MAAI,CAACuC,YAAT,EAAuB;UACrBsC,YAAY,CAAC,MAAI,CAACtC,YAAN,CAAZ;;;QAGF,MAAI,CAACA,YAAL,GAAoB3S,UAAU,CAAC,UAAAsG,KAAK;iBAAI,MAAI,CAACsN,KAAL,CAAWtN,KAAX,CAAJ;SAAN,EAA6BwJ,sBAAsB,GAAG,MAAI,CAACgD,OAAL,CAAa7C,QAAnE,CAA9B;;KApBJ;;IAwBAjP,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAAC4G,QAA7B,EAAuC,KAAKlG,QAA5C,CAAD,CAAT,CAAiEpL,OAAjE,CAAyE,UAAA2U,OAAO,EAAI;MAClFlO,YAAY,CAAC8B,EAAb,CAAgBoM,OAAhB,EAAyB1Q,OAAK,CAAC+M,UAA/B,EAA2C,UAAAnN,CAAC;eAAIA,CAAC,CAACC,cAAF,EAAJ;OAA5C;KADF;;QAII,KAAK+O,aAAT,EAAwB;MACtBpM,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAAC6M,WAArC,EAAkD,UAAA/K,KAAK;eAAIqO,KAAK,CAACrO,KAAD,CAAT;OAAvD;MACAU,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAAC8M,SAArC,EAAgD,UAAAhL,KAAK;eAAI0O,GAAG,CAAC1O,KAAD,CAAP;OAArD;;WAEKqF,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACqG,aAAtC;KAJF,MAKO;MACL3K,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAAC0M,UAArC,EAAiD,UAAA5K,KAAK;eAAIqO,KAAK,CAACrO,KAAD,CAAT;OAAtD;MACAU,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAAC2M,SAArC,EAAgD,UAAA7K,KAAK;eAAIyO,IAAI,CAACzO,KAAD,CAAR;OAArD;MACAU,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAAC4M,QAArC,EAA+C,UAAA9K,KAAK;eAAI0O,GAAG,CAAC1O,KAAD,CAAP;OAApD;;;;SAIJmO,WAAA,kBAASnO,KAAT,EAAgB;QACV,kBAAkBzF,IAAlB,CAAuByF,KAAK,CAACe,MAAN,CAAa8N,OAApC,CAAJ,EAAkD;;;;YAI1C7O,KAAK,CAACC,KAAd;WACOqJ,kBAAL;QACEtJ,KAAK,CAACjC,cAAN;aACKmG,IAAL;;;WAEGqF,mBAAL;QACEvJ,KAAK,CAACjC,cAAN;aACKmP,IAAL;;;;;;;SAMNY,gBAAA,uBAAcpW,OAAd,EAAuB;SAChBsU,MAAL,GAActU,OAAO,IAAIA,OAAO,CAACqD,UAAnB,GACZL,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACyG,IAA7B,EAAmC1T,OAAO,CAACqD,UAA3C,CAAD,CADG,GAEZ,EAFF;WAIO,KAAKiR,MAAL,CAAYjK,OAAZ,CAAoBrK,OAApB,CAAP;;;SAGFoX,sBAAA,6BAAoBf,SAApB,EAA+BtG,aAA/B,EAA8C;QACtCsH,eAAe,GAAGhB,SAAS,KAAK7D,SAAS,CAACC,IAAhD;QACM6E,eAAe,GAAGjB,SAAS,KAAK7D,SAAS,CAACE,IAAhD;;QACMyD,WAAW,GAAG,KAAKC,aAAL,CAAmBrG,aAAnB,CAApB;;QACMwH,aAAa,GAAG,KAAKjD,MAAL,CAAY/K,MAAZ,GAAqB,CAA3C;QACMiO,aAAa,GAAIF,eAAe,IAAInB,WAAW,KAAK,CAApC,IACGkB,eAAe,IAAIlB,WAAW,KAAKoB,aAD5D;;QAGIC,aAAa,IAAI,CAAC,KAAK1C,OAAL,CAAazC,IAAnC,EAAyC;aAChCtC,aAAP;;;QAGI0H,KAAK,GAAGpB,SAAS,KAAK7D,SAAS,CAACE,IAAxB,GAA+B,CAAC,CAAhC,GAAoC,CAAlD;QACMgF,SAAS,GAAG,CAACvB,WAAW,GAAGsB,KAAf,IAAwB,KAAKnD,MAAL,CAAY/K,MAAtD;WAEOmO,SAAS,KAAK,CAAC,CAAf,GACL,KAAKpD,MAAL,CAAY,KAAKA,MAAL,CAAY/K,MAAZ,GAAqB,CAAjC,CADK,GAEL,KAAK+K,MAAL,CAAYoD,SAAZ,CAFF;;;SAKFC,qBAAA,4BAAmBC,aAAnB,EAAkCC,kBAAlC,EAAsD;QAC9CC,WAAW,GAAG,KAAK1B,aAAL,CAAmBwB,aAAnB,CAApB;;QACMG,SAAS,GAAG,KAAK3B,aAAL,CAAmBtK,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC2G,WAAhC,EAA6C,KAAKjG,QAAlD,CAAnB,CAAlB;;WAEO3E,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACqM,KAA1C,EAAiD;MACtD+E,aAAa,EAAbA,aADsD;MAEtDvB,SAAS,EAAEwB,kBAF2C;MAGtDG,IAAI,EAAED,SAHgD;MAItD9B,EAAE,EAAE6B;KAJC,CAAP;;;SAQFG,6BAAA,oCAA2BjY,OAA3B,EAAoC;QAC9B,KAAKgV,kBAAT,EAA6B;UACrBkD,UAAU,GAAGpM,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACgC,MAA7B,EAAqC,KAAK+F,kBAA1C,CAAnB;;WACK,IAAI1L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4O,UAAU,CAAC3O,MAA/B,EAAuCD,CAAC,EAAxC,EAA4C;QAC1C4O,UAAU,CAAC5O,CAAD,CAAV,CAAc8E,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC2B,MAAzC;;;UAGIkJ,aAAa,GAAG,KAAKnD,kBAAL,CAAwBhJ,QAAxB,CACpB,KAAKoK,aAAL,CAAmBpW,OAAnB,CADoB,CAAtB;;UAIImY,aAAJ,EAAmB;QACjBA,aAAa,CAAC/J,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAAC2B,MAAtC;;;;;SAKNwG,SAAA,gBAAOY,SAAP,EAAkBrW,OAAlB,EAA2B;;;QACnB+P,aAAa,GAAGjE,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC2G,WAAhC,EAA6C,KAAKjG,QAAlD,CAAtB;;QACMyK,kBAAkB,GAAG,KAAKhC,aAAL,CAAmBrG,aAAnB,CAA3B;;QACMsI,WAAW,GAAGrY,OAAO,IAAK+P,aAAa,IAC3C,KAAKqH,mBAAL,CAAyBf,SAAzB,EAAoCtG,aAApC,CADF;;QAGMuI,gBAAgB,GAAG,KAAKlC,aAAL,CAAmBiC,WAAnB,CAAzB;;QACME,SAAS,GAAGnR,OAAO,CAAC,KAAKmN,SAAN,CAAzB;QAEIiE,oBAAJ;QACIC,cAAJ;QACIZ,kBAAJ;;QAEIxB,SAAS,KAAK7D,SAAS,CAACC,IAA5B,EAAkC;MAChC+F,oBAAoB,GAAGlL,WAAS,CAACqF,IAAjC;MACA8F,cAAc,GAAGnL,WAAS,CAACmF,IAA3B;MACAoF,kBAAkB,GAAGrF,SAAS,CAACG,IAA/B;KAHF,MAIO;MACL6F,oBAAoB,GAAGlL,WAAS,CAACsF,KAAjC;MACA6F,cAAc,GAAGnL,WAAS,CAACoF,IAA3B;MACAmF,kBAAkB,GAAGrF,SAAS,CAACI,KAA/B;;;QAGEyF,WAAW,IAAIA,WAAW,CAACjK,SAAZ,CAAsBE,QAAtB,CAA+BhB,WAAS,CAAC2B,MAAzC,CAAnB,EAAqE;WAC9DyF,UAAL,GAAkB,KAAlB;;;;QAIIgE,UAAU,GAAG,KAAKf,kBAAL,CAAwBU,WAAxB,EAAqCR,kBAArC,CAAnB;;QACIa,UAAU,CAACpS,gBAAf,EAAiC;;;;QAI7B,CAACyJ,aAAD,IAAkB,CAACsI,WAAvB,EAAoC;;;;;SAK/B3D,UAAL,GAAkB,IAAlB;;QAEI6D,SAAJ,EAAe;WACRnG,KAAL;;;SAGG6F,0BAAL,CAAgCI,WAAhC;;QAEI,KAAK1K,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACuF,KAA3C,CAAJ,EAAuD;MACrDwF,WAAW,CAACjK,SAAZ,CAAsB+B,GAAtB,CAA0BsI,cAA1B;MAEA1U,MAAM,CAACsU,WAAD,CAAN;MAEAtI,aAAa,CAAC3B,SAAd,CAAwB+B,GAAxB,CAA4BqI,oBAA5B;MACAH,WAAW,CAACjK,SAAZ,CAAsB+B,GAAtB,CAA0BqI,oBAA1B;UAEMG,mBAAmB,GAAGC,QAAQ,CAACP,WAAW,CAACnY,YAAZ,CAAyB,eAAzB,CAAD,EAA4C,EAA5C,CAApC;;UACIyY,mBAAJ,EAAyB;aAClB7D,OAAL,CAAa+D,eAAb,GAA+B,KAAK/D,OAAL,CAAa+D,eAAb,IAAgC,KAAK/D,OAAL,CAAa7C,QAA5E;aACK6C,OAAL,CAAa7C,QAAb,GAAwB0G,mBAAxB;OAFF,MAGO;aACA7D,OAAL,CAAa7C,QAAb,GAAwB,KAAK6C,OAAL,CAAa+D,eAAb,IAAgC,KAAK/D,OAAL,CAAa7C,QAArE;;;UAGItR,kBAAkB,GAAGH,gCAAgC,CAACuP,aAAD,CAA3D;MAEA/G,YAAY,CACT+B,GADH,CACOgF,aADP,EACsB7Q,cADtB,EACsC,YAAM;QACxCmZ,WAAW,CAACjK,SAAZ,CAAsBC,MAAtB,CAA6BmK,oBAA7B;QACAH,WAAW,CAACjK,SAAZ,CAAsBC,MAAtB,CAA6BoK,cAA7B;QACAJ,WAAW,CAACjK,SAAZ,CAAsB+B,GAAtB,CAA0B7C,WAAS,CAAC2B,MAApC;QAEAc,aAAa,CAAC3B,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC2B,MAAzC;QACAc,aAAa,CAAC3B,SAAd,CAAwBC,MAAxB,CAA+BoK,cAA/B;QACA1I,aAAa,CAAC3B,SAAd,CAAwBC,MAAxB,CAA+BmK,oBAA/B;QAEA,MAAI,CAAC9D,UAAL,GAAkB,KAAlB;QAEA1S,UAAU,CAAC,YAAM;UACfgH,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAACsM,IAA1C,EAAgD;YAC9C8E,aAAa,EAAES,WAD+B;YAE9ChC,SAAS,EAAEwB,kBAFmC;YAG9CG,IAAI,EAAEI,kBAHwC;YAI9CnC,EAAE,EAAEqC;WAJN;SADQ,EAOP,CAPO,CAAV;OAZJ;MAsBA9W,oBAAoB,CAACuO,aAAD,EAAgBpP,kBAAhB,CAApB;KAxCF,MAyCO;MACLoP,aAAa,CAAC3B,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC2B,MAAzC;MACAoJ,WAAW,CAACjK,SAAZ,CAAsB+B,GAAtB,CAA0B7C,WAAS,CAAC2B,MAApC;WAEKyF,UAAL,GAAkB,KAAlB;MACA1L,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACsM,IAA1C,EAAgD;QAC9C8E,aAAa,EAAES,WAD+B;QAE9ChC,SAAS,EAAEwB,kBAFmC;QAG9CG,IAAI,EAAEI,kBAHwC;QAI9CnC,EAAE,EAAEqC;OAJN;;;QAQEC,SAAJ,EAAe;WACR3C,KAAL;;;;;WAMGkD,oBAAP,2BAAyB9Y,OAAzB,EAAkCmC,MAAlC,EAA0C;QACpCuC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAX;;QACIgI,OAAO,sBACN9C,OADM,MAENvB,WAAW,CAACG,iBAAZ,CAA8B5Q,OAA9B,CAFM,CAAX;;QAKI,OAAOmC,MAAP,KAAkB,QAAtB,EAAgC;MAC9B2S,OAAO,sBACFA,OADE,MAEF3S,MAFE,CAAP;;;QAMI4W,MAAM,GAAG,OAAO5W,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC2S,OAAO,CAAC3C,KAA7D;;QAEI,CAACzN,IAAL,EAAW;MACTA,IAAI,GAAG,IAAI2P,QAAJ,CAAarU,OAAb,EAAsB8U,OAAtB,CAAP;;;QAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;MAC9BuC,IAAI,CAACuR,EAAL,CAAQ9T,MAAR;KADF,MAEO,IAAI,OAAO4W,MAAP,KAAkB,QAAtB,EAAgC;UACjC,OAAOrU,IAAI,CAACqU,MAAD,CAAX,KAAwB,WAA5B,EAAyC;cACjC,IAAIC,SAAJ,wBAAkCD,MAAlC,QAAN;;;MAGFrU,IAAI,CAACqU,MAAD,CAAJ;KALK,MAMA,IAAIjE,OAAO,CAAC7C,QAAR,IAAoB6C,OAAO,CAACmE,IAAhC,EAAsC;MAC3CvU,IAAI,CAAC0N,KAAL;MACA1N,IAAI,CAACkR,KAAL;;;;WAIGnH,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;MAC3B2F,QAAQ,CAACyE,iBAAT,CAA2B,IAA3B,EAAiC3W,MAAjC;KADK,CAAP;;;WAKK+W,sBAAP,6BAA2B5Q,KAA3B,EAAkC;QAC1Be,MAAM,GAAG9I,sBAAsB,CAAC,IAAD,CAArC;;QAEI,CAAC8I,MAAD,IAAW,CAACA,MAAM,CAAC+E,SAAP,CAAiBE,QAAjB,CAA0BhB,WAAS,CAACmG,QAApC,CAAhB,EAA+D;;;;QAIzDtR,MAAM,sBACPsO,WAAW,CAACG,iBAAZ,CAA8BvH,MAA9B,CADO,MAEPoH,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;QAIMuI,UAAU,GAAG,KAAKjZ,YAAL,CAAkB,eAAlB,CAAnB;;QAEIiZ,UAAJ,EAAgB;MACdhX,MAAM,CAAC8P,QAAP,GAAkB,KAAlB;;;IAGFoC,QAAQ,CAACyE,iBAAT,CAA2BzP,MAA3B,EAAmClH,MAAnC;;QAEIgX,UAAJ,EAAgB;MACdrU,IAAI,CAACG,OAAL,CAAaoE,MAAb,EAAqByD,UAArB,EAA+BmJ,EAA/B,CAAkCkD,UAAlC;;;IAGF7Q,KAAK,CAACjC,cAAN;;;WAGKwI,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBA5cmB;aACZD,SAAP;;;;wBAGmB;aACZmF,OAAP;;;;;;;;;;;;;AAidJhJ,YAAY,CACT8B,EADH,CACMjL,QADN,EACgB2G,OAAK,CAAC6G,cADtB,EACsCJ,UAAQ,CAAC+G,UAD/C,EAC2DK,QAAQ,CAAC6E,mBADpE;AAGAlQ,YAAY,CAAC8B,EAAb,CAAgBrK,MAAhB,EAAwB+F,OAAK,CAACgN,aAA9B,EAA6C,YAAM;MAC3C4F,SAAS,GAAGpW,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACgH,SAA7B,CAAD,CAA3B;;OACK,IAAI3K,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGwP,SAAS,CAAC7P,MAAhC,EAAwCD,CAAC,GAAGM,GAA5C,EAAiDN,CAAC,EAAlD,EAAsD;IACpD+K,QAAQ,CAACyE,iBAAT,CAA2BM,SAAS,CAAC9P,CAAD,CAApC,EAAyCxE,IAAI,CAACG,OAAL,CAAamU,SAAS,CAAC9P,CAAD,CAAtB,EAA2BwD,UAA3B,CAAzC;;CAHJ;AAOA,IAAMvF,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAayH,QAAQ,CAAC5F,eAAtB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBsF,QAAzB;;EACA9M,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOuF,QAAQ,CAAC5F,eAAhB;GAFF;;;AC9lBF;;;;;;AAMA,IAAM7B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMgF,SAAO,GAAG;EACdtC,MAAM,EAAE,IADM;EAEdvB,MAAM,EAAE;CAFV;AAKA,IAAMoE,aAAW,GAAG;EAClB7C,MAAM,EAAE,SADU;EAElBvB,MAAM,EAAE;CAFV;AAKA,IAAM3H,OAAK,GAAG;EACZiH,IAAI,WAASV,WADD;EAEZsM,KAAK,YAAUtM,WAFH;EAGZuM,IAAI,WAASvM,WAHD;EAIZwM,MAAM,aAAWxM,WAJL;EAKZM,cAAc,YAAUN,WAAV,GAAsBC;CALtC;AAQA,IAAMM,WAAS,GAAG;EAChBG,IAAI,EAAE,MADU;EAEhB+L,QAAQ,EAAE,UAFM;EAGhBC,UAAU,EAAE,YAHI;EAIhBC,SAAS,EAAE;CAJb;AAOA,IAAMC,SAAS,GAAG;EAChBC,KAAK,EAAE,OADS;EAEhBC,MAAM,EAAE;CAFV;AAKA,IAAM5M,UAAQ,GAAG;EACf6M,OAAO,EAAE,oBADM;EAEfzK,WAAW,EAAE;;;;;;;CAFf;;IAWM0K;;;oBACQ/Z,OAAZ,EAAqBmC,MAArB,EAA6B;SACtB6X,gBAAL,GAAwB,KAAxB;SACKrM,QAAL,GAAgB3N,OAAhB;SACK8U,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACK8X,aAAL,GAAqBjX,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAC7B,wCAAmCvF,OAAO,CAACuE,EAA3C,4DAC0CvE,OAAO,CAACuE,EADlD,SAD6B,CAAD,CAA9B;QAKM2V,UAAU,GAAGlX,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACoC,WAA7B,CAAD,CAA5B;;SACK,IAAI/F,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGsQ,UAAU,CAAC3Q,MAAjC,EAAyCD,CAAC,GAAGM,GAA7C,EAAkDN,CAAC,EAAnD,EAAuD;UAC/C6Q,IAAI,GAAGD,UAAU,CAAC5Q,CAAD,CAAvB;UACMrJ,QAAQ,GAAGI,sBAAsB,CAAC8Z,IAAD,CAAvC;UACMC,aAAa,GAAGpX,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoBtF,QAApB,CAAD,CAAT,CACnBgM,MADmB,CACZ,UAAAoO,SAAS;eAAIA,SAAS,KAAKra,OAAlB;OADG,CAAtB;;UAGIC,QAAQ,KAAK,IAAb,IAAqBma,aAAa,CAAC7Q,MAAvC,EAA+C;aACxC+Q,SAAL,GAAiBra,QAAjB;;aACKga,aAAL,CAAmB1N,IAAnB,CAAwB4N,IAAxB;;;;SAICI,OAAL,GAAe,KAAKzF,OAAL,CAAa3G,MAAb,GAAsB,KAAKqM,UAAL,EAAtB,GAA0C,IAAzD;;QAEI,CAAC,KAAK1F,OAAL,CAAa3G,MAAlB,EAA0B;WACnBsM,yBAAL,CAA+B,KAAK9M,QAApC,EAA8C,KAAKsM,aAAnD;;;QAGE,KAAKnF,OAAL,CAAapF,MAAjB,EAAyB;WAClBA,MAAL;;;IAGF5K,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAeF4C,SAAA,kBAAS;QACH,KAAK/B,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACG,IAA3C,CAAJ,EAAsD;WAC/CiN,IAAL;KADF,MAEO;WACAC,IAAL;;;;SAIJA,OAAA,gBAAO;;;QACD,KAAKX,gBAAL,IACF,KAAKrM,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACG,IAA3C,CADF,EACoD;;;;QAIhDmN,OAAJ;QACIC,WAAJ;;QAEI,KAAKN,OAAT,EAAkB;MAChBK,OAAO,GAAG5X,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAAC6M,OAA7B,EAAsC,KAAKS,OAA3C,CAAD,CAAT,CACPtO,MADO,CACA,UAAAkO,IAAI,EAAI;YACV,OAAO,KAAI,CAACrF,OAAL,CAAa3G,MAApB,KAA+B,QAAnC,EAA6C;iBACpCgM,IAAI,CAACja,YAAL,CAAkB,aAAlB,MAAqC,KAAI,CAAC4U,OAAL,CAAa3G,MAAzD;;;eAGKgM,IAAI,CAAC/L,SAAL,CAAeE,QAAf,CAAwBhB,WAAS,CAACkM,QAAlC,CAAP;OANM,CAAV;;UASIoB,OAAO,CAACrR,MAAR,KAAmB,CAAvB,EAA0B;QACxBqR,OAAO,GAAG,IAAV;;;;QAIEE,SAAS,GAAGhP,cAAc,CAACrG,OAAf,CAAuB,KAAK6U,SAA5B,CAAlB;;QACIM,OAAJ,EAAa;UACLG,cAAc,GAAGH,OAAO,CAAC3O,MAAR,CAAe,UAAAkO,IAAI;eAAIW,SAAS,KAAKX,IAAlB;OAAnB,CAAvB;MACAU,WAAW,GAAGE,cAAc,CAAC,CAAD,CAAd,GAAoBjW,IAAI,CAACG,OAAL,CAAa8V,cAAc,CAAC,CAAD,CAA3B,EAAgCjO,UAAhC,CAApB,GAAgE,IAA9E;;UAEI+N,WAAW,IAAIA,WAAW,CAACb,gBAA/B,EAAiD;;;;;QAK7CgB,UAAU,GAAGhS,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACiH,IAA1C,CAAnB;;QACIuN,UAAU,CAAC1U,gBAAf,EAAiC;;;;QAI7BsU,OAAJ,EAAa;MACXA,OAAO,CAACrY,OAAR,CAAgB,UAAA0Y,UAAU,EAAI;YACxBH,SAAS,KAAKG,UAAlB,EAA8B;UAC5BlB,QAAQ,CAACmB,iBAAT,CAA2BD,UAA3B,EAAuC,MAAvC;;;YAGE,CAACJ,WAAL,EAAkB;UAChB/V,IAAI,CAACC,OAAL,CAAakW,UAAb,EAAyBnO,UAAzB,EAAmC,IAAnC;;OANJ;;;QAWIqO,SAAS,GAAG,KAAKC,aAAL,EAAlB;;SAEKzN,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACkM,QAAzC;;SACK7L,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACmM,UAAtC;;SAEK9L,QAAL,CAAcvK,KAAd,CAAoB+X,SAApB,IAAiC,CAAjC;;QAEI,KAAKlB,aAAL,CAAmB1Q,MAAvB,EAA+B;WACxB0Q,aAAL,CAAmB1X,OAAnB,CAA2B,UAAAvC,OAAO,EAAI;QACpCA,OAAO,CAACoO,SAAR,CAAkBC,MAAlB,CAAyBf,WAAS,CAACoM,SAAnC;QACA1Z,OAAO,CAACiQ,YAAR,CAAqB,eAArB,EAAsC,IAAtC;OAFF;;;SAMGoL,gBAAL,CAAsB,IAAtB;;QAEMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;MACrB,KAAI,CAAC3N,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACmM,UAAzC;;MACA,KAAI,CAAC9L,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACkM,QAAtC;;MACA,KAAI,CAAC7L,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACG,IAAtC;;MAEA,KAAI,CAACE,QAAL,CAAcvK,KAAd,CAAoB+X,SAApB,IAAiC,EAAjC;;MAEA,KAAI,CAACE,gBAAL,CAAsB,KAAtB;;MAEArS,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC6S,KAA1C;KATF;;QAYMkC,oBAAoB,GAAGJ,SAAS,CAAC,CAAD,CAAT,CAAapY,WAAb,KAA6BoY,SAAS,CAACjY,KAAV,CAAgB,CAAhB,CAA1D;QACMsY,UAAU,cAAYD,oBAA5B;QACM5a,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKmN,QAAN,CAA3D;IAEA3E,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCzO,cAAhC,EAAgDoc,QAAhD;IAEA9Z,oBAAoB,CAAC,KAAKmM,QAAN,EAAgBhN,kBAAhB,CAApB;SACKgN,QAAL,CAAcvK,KAAd,CAAoB+X,SAApB,IAAoC,KAAKxN,QAAL,CAAc6N,UAAd,CAApC;;;SAGFd,OAAA,gBAAO;;;QACD,KAAKV,gBAAL,IACF,CAAC,KAAKrM,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACG,IAA3C,CADH,EACqD;;;;QAI/CuN,UAAU,GAAGhS,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAAC8S,IAA1C,CAAnB;;QACI0B,UAAU,CAAC1U,gBAAf,EAAiC;;;;QAI3B6U,SAAS,GAAG,KAAKC,aAAL,EAAlB;;SAEKzN,QAAL,CAAcvK,KAAd,CAAoB+X,SAApB,IAAoC,KAAKxN,QAAL,CAAcuD,qBAAd,GAAsCiK,SAAtC,CAApC;IAEApX,MAAM,CAAC,KAAK4J,QAAN,CAAN;;SAEKA,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACmM,UAAtC;;SACK9L,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACkM,QAAzC;;SACK7L,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACG,IAAzC;;QAEMgO,kBAAkB,GAAG,KAAKxB,aAAL,CAAmB1Q,MAA9C;;QACIkS,kBAAkB,GAAG,CAAzB,EAA4B;WACrB,IAAInS,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmS,kBAApB,EAAwCnS,CAAC,EAAzC,EAA6C;YACrCgC,OAAO,GAAG,KAAK2O,aAAL,CAAmB3Q,CAAnB,CAAhB;YACM6Q,IAAI,GAAG5Z,sBAAsB,CAAC+K,OAAD,CAAnC;;YAEI6O,IAAI,IAAI,CAACA,IAAI,CAAC/L,SAAL,CAAeE,QAAf,CAAwBhB,WAAS,CAACG,IAAlC,CAAb,EAAsD;UACpDnC,OAAO,CAAC8C,SAAR,CAAkB+B,GAAlB,CAAsB7C,WAAS,CAACoM,SAAhC;UACApO,OAAO,CAAC2E,YAAR,CAAqB,eAArB,EAAsC,KAAtC;;;;;SAKDoL,gBAAL,CAAsB,IAAtB;;QAEMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;MACrB,MAAI,CAACD,gBAAL,CAAsB,KAAtB;;MACA,MAAI,CAAC1N,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACmM,UAAzC;;MACA,MAAI,CAAC9L,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACkM,QAAtC;;MACAxQ,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC+S,MAA1C;KAJF;;SAOK5L,QAAL,CAAcvK,KAAd,CAAoB+X,SAApB,IAAiC,EAAjC;QACMxa,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKmN,QAAN,CAA3D;IAEA3E,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCzO,cAAhC,EAAgDoc,QAAhD;IACA9Z,oBAAoB,CAAC,KAAKmM,QAAN,EAAgBhN,kBAAhB,CAApB;;;SAGF0a,mBAAA,0BAAiBK,eAAjB,EAAkC;SAC3B1B,gBAAL,GAAwB0B,eAAxB;;;SAGFxN,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SAEKgI,OAAL,GAAe,IAAf;SACKyF,OAAL,GAAe,IAAf;SACK5M,QAAL,GAAgB,IAAhB;SACKsM,aAAL,GAAqB,IAArB;SACKD,gBAAL,GAAwB,IAAxB;;;;SAKFjF,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD6P,SADC,MAED7P,MAFC,CAAN;IAIAA,MAAM,CAACuN,MAAP,GAAgBtI,OAAO,CAACjF,MAAM,CAACuN,MAAR,CAAvB,CALiB;;IAMjBzN,eAAe,CAAC2K,MAAD,EAAOzK,MAAP,EAAeoQ,aAAf,CAAf;WACOpQ,MAAP;;;SAGFiZ,gBAAA,yBAAgB;QACRO,QAAQ,GAAG,KAAKhO,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiCqL,SAAS,CAACC,KAA3C,CAAjB;;WACO+B,QAAQ,GAAGhC,SAAS,CAACC,KAAb,GAAqBD,SAAS,CAACE,MAA9C;;;SAGFW,aAAA,sBAAa;;;QACLrM,MADK,GACM,KAAK2G,OADX,CACL3G,MADK;;QAGP7M,SAAS,CAAC6M,MAAD,CAAb,EAAuB;;UAEjB,OAAOA,MAAM,CAACyN,MAAd,KAAyB,WAAzB,IAAwC,OAAOzN,MAAM,CAAC,CAAD,CAAb,KAAqB,WAAjE,EAA8E;QAC5EA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;;KAHJ,MAKO;MACLA,MAAM,GAAGrC,cAAc,CAACrG,OAAf,CAAuB0I,MAAvB,CAAT;;;QAGIlO,QAAQ,iDAA4CkO,MAA5C,QAAd;IAEAnL,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoBtF,QAApB,EAA8BkO,MAA9B,CAAD,CAAT,CACG5L,OADH,CACW,UAAAvC,OAAO,EAAI;UACZ6b,QAAQ,GAAGtb,sBAAsB,CAACP,OAAD,CAAvC;;MAEA,MAAI,CAACya,yBAAL,CACEoB,QADF,EAEE,CAAC7b,OAAD,CAFF;KAJJ;WAUOmO,MAAP;;;SAGFsM,4BAAA,mCAA0Bza,OAA1B,EAAmC8b,YAAnC,EAAiD;QAC3C9b,OAAJ,EAAa;UACL+b,MAAM,GAAG/b,OAAO,CAACoO,SAAR,CAAkBE,QAAlB,CAA2BhB,WAAS,CAACG,IAArC,CAAf;;UAEIqO,YAAY,CAACvS,MAAjB,EAAyB;QACvBuS,YAAY,CAACvZ,OAAb,CAAqB,UAAA4X,IAAI,EAAI;cACvB4B,MAAJ,EAAY;YACV5B,IAAI,CAAC/L,SAAL,CAAeC,MAAf,CAAsBf,WAAS,CAACoM,SAAhC;WADF,MAEO;YACLS,IAAI,CAAC/L,SAAL,CAAe+B,GAAf,CAAmB7C,WAAS,CAACoM,SAA7B;;;UAGFS,IAAI,CAAClK,YAAL,CAAkB,eAAlB,EAAmC8L,MAAnC;SAPF;;;;;;WAeCb,oBAAP,2BAAyBlb,OAAzB,EAAkCmC,MAAlC,EAA0C;QACpCuC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAX;;QACMgI,OAAO,sBACR9C,SADQ,MAERvB,WAAW,CAACG,iBAAZ,CAA8B5Q,OAA9B,CAFQ,MAGR,OAAOmC,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHxC,CAAb;;QAMI,CAACuC,IAAD,IAASoQ,OAAO,CAACpF,MAAjB,IAA2B,YAAY7M,IAAZ,CAAiBV,MAAjB,CAA/B,EAAyD;MACvD2S,OAAO,CAACpF,MAAR,GAAiB,KAAjB;;;QAGE,CAAChL,IAAL,EAAW;MACTA,IAAI,GAAG,IAAIqV,QAAJ,CAAa/Z,OAAb,EAAsB8U,OAAtB,CAAP;;;QAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;UAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;cACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;MAGFuC,IAAI,CAACvC,MAAD,CAAJ;;;;WAIGsM,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;MAC3BqL,QAAQ,CAACmB,iBAAT,CAA2B,IAA3B,EAAiC/Y,MAAjC;KADK,CAAP;;;WAKK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBA3QmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;;;;;;;;;;AAgRJhJ,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgDJ,UAAQ,CAACoC,WAAzD,EAAsE,UAAU/G,KAAV,EAAiB;;MAEjFA,KAAK,CAACe,MAAN,CAAa8N,OAAb,KAAyB,GAA7B,EAAkC;IAChC7O,KAAK,CAACjC,cAAN;;;MAGI2V,WAAW,GAAGvL,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAApB;MACM3Q,QAAQ,GAAGI,sBAAsB,CAAC,IAAD,CAAvC;MACM4b,gBAAgB,GAAGjZ,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoBtF,QAApB,CAAD,CAAlC;EAEAgc,gBAAgB,CAAC1Z,OAAjB,CAAyB,UAAAvC,OAAO,EAAI;QAC5B0E,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAb;QACI3K,MAAJ;;QACIuC,IAAJ,EAAU;;UAEJA,IAAI,CAAC6V,OAAL,KAAiB,IAAjB,IAAyB,OAAOyB,WAAW,CAAC7N,MAAnB,KAA8B,QAA3D,EAAqE;QACnEzJ,IAAI,CAACoQ,OAAL,CAAa3G,MAAb,GAAsB6N,WAAW,CAAC7N,MAAlC;QACAzJ,IAAI,CAAC6V,OAAL,GAAe7V,IAAI,CAAC8V,UAAL,EAAf;;;MAGFrY,MAAM,GAAG,QAAT;KAPF,MAQO;MACLA,MAAM,GAAG6Z,WAAT;;;IAGFjC,QAAQ,CAACmB,iBAAT,CAA2Blb,OAA3B,EAAoCmC,MAApC;GAfF;CAVF;AA6BA,IAAMoF,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAamN,QAAQ,CAACtL,eAAtB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBgL,QAAzB;;EACAxS,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOiL,QAAQ,CAACtL,eAAhB;GAFF;;;AC7ZF;;;;;;AAMA,IAAM7B,MAAI,GAAG,UAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,aAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AACA,IAAMkP,cAAc,GAAG,EAAvB;;AACA,IAAMC,aAAa,GAAG,EAAtB;;AACA,IAAMC,WAAW,GAAG,CAApB;;AACA,IAAMC,gBAAgB,GAAG,EAAzB;;AACA,IAAMC,kBAAkB,GAAG,EAA3B;;AACA,IAAMC,wBAAwB,GAAG,CAAjC;;AACA,IAAMC,cAAc,GAAG,IAAI5Z,MAAJ,CAAcyZ,gBAAd,SAAkCC,kBAAlC,SAAwDJ,cAAxD,CAAvB;AAEA,IAAM1V,OAAK,GAAG;EACZ8S,IAAI,WAASvM,WADD;EAEZwM,MAAM,aAAWxM,WAFL;EAGZU,IAAI,WAASV,WAHD;EAIZsM,KAAK,YAAUtM,WAJH;EAKZ0P,KAAK,YAAU1P,WALH;EAMZM,cAAc,YAAUN,WAAV,GAAsBC,cANxB;EAOZ0P,gBAAgB,cAAY3P,WAAZ,GAAwBC,cAP5B;EAQZ2P,cAAc,YAAU5P,WAAV,GAAsBC;CARtC;AAWA,IAAMM,WAAS,GAAG;EAChBsP,QAAQ,EAAE,UADM;EAEhBnP,IAAI,EAAE,MAFU;EAGhBoP,MAAM,EAAE,QAHQ;EAIhBC,SAAS,EAAE,WAJK;EAKhBC,QAAQ,EAAE,UALM;EAMhBC,SAAS,EAAE,qBANK;EAOhBC,eAAe,EAAE;CAPnB;AAUA,IAAMhQ,UAAQ,GAAG;EACfoC,WAAW,EAAE,0BADE;EAEf6N,UAAU,EAAE,gBAFG;EAGfC,IAAI,EAAE,gBAHS;EAIfC,UAAU,EAAE,aAJG;EAKfC,aAAa,EAAE;CALjB;AAQA,IAAMC,aAAa,GAAG;EACpBC,GAAG,EAAE,WADe;EAEpBC,MAAM,EAAE,SAFY;EAGpBC,MAAM,EAAE,cAHY;EAIpBC,SAAS,EAAE,YAJS;EAKpB9K,KAAK,EAAE,aALa;EAMpB+K,QAAQ,EAAE,WANU;EAOpBhL,IAAI,EAAE,YAPc;EAQpBiL,OAAO,EAAE;CARX;AAWA,IAAM5L,SAAO,GAAG;EACdhB,MAAM,EAAE,CADM;EAEd6M,IAAI,EAAE,IAFQ;EAGdC,QAAQ,EAAE,cAHI;EAIdC,SAAS,EAAE,QAJG;EAKdza,OAAO,EAAE,SALK;EAMd0a,YAAY,EAAE;CANhB;AASA,IAAMzL,aAAW,GAAG;EAClBvB,MAAM,EAAE,0BADU;EAElB6M,IAAI,EAAE,SAFY;EAGlBC,QAAQ,EAAE,kBAHQ;EAIlBC,SAAS,EAAE,kBAJO;EAKlBza,OAAO,EAAE,QALS;EAMlB0a,YAAY,EAAE;;;;;;;CANhB;;IAeMC;;;oBACQje,OAAZ,EAAqBmC,MAArB,EAA6B;SACtBwL,QAAL,GAAgB3N,OAAhB;SACKke,OAAL,GAAe,IAAf;SACKpJ,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACKgc,KAAL,GAAa,KAAKC,eAAL,EAAb;SACKC,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;SAEK/I,kBAAL;;IACAzQ,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAmBF4C,SAAA,kBAAS;QACH,KAAK/B,QAAL,CAAc4Q,QAAd,IAA0B,KAAK5Q,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACsP,QAA3C,CAA9B,EAAoF;;;;QAI9E4B,QAAQ,GAAG,KAAKL,KAAL,CAAW/P,SAAX,CAAqBE,QAArB,CAA8BhB,WAAS,CAACG,IAAxC,CAAjB;;IAEAwQ,QAAQ,CAACQ,UAAT;;QAEID,QAAJ,EAAc;;;;SAIT7D,IAAL;;;SAGFA,OAAA,gBAAO;QACD,KAAKhN,QAAL,CAAc4Q,QAAd,IAA0B,KAAK5Q,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACsP,QAA3C,CAA1B,IAAkF,KAAKuB,KAAL,CAAW/P,SAAX,CAAqBE,QAArB,CAA8BhB,WAAS,CAACG,IAAxC,CAAtF,EAAqI;;;;QAI/HU,MAAM,GAAG8P,QAAQ,CAACS,oBAAT,CAA8B,KAAK/Q,QAAnC,CAAf;QACMiK,aAAa,GAAG;MACpBA,aAAa,EAAE,KAAKjK;KADtB;QAIMgR,SAAS,GAAG3V,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAACiH,IAAnC,EAAyCmK,aAAzC,CAAlB;;QAEI+G,SAAS,CAACrY,gBAAd,EAAgC;;KAZ3B;;;QAiBD,CAAC,KAAK+X,SAAV,EAAqB;UACf,OAAOO,MAAP,KAAkB,WAAtB,EAAmC;cAC3B,IAAI5F,SAAJ,CAAc,kEAAd,CAAN;;;UAGE6F,gBAAgB,GAAG,KAAKlR,QAA5B;;UAEI,KAAKmH,OAAL,CAAaiJ,SAAb,KAA2B,QAA/B,EAAyC;QACvCc,gBAAgB,GAAG1Q,MAAnB;OADF,MAEO,IAAI7M,SAAS,CAAC,KAAKwT,OAAL,CAAaiJ,SAAd,CAAb,EAAuC;QAC5Cc,gBAAgB,GAAG,KAAK/J,OAAL,CAAaiJ,SAAhC,CAD4C;;YAIxC,OAAO,KAAKjJ,OAAL,CAAaiJ,SAAb,CAAuBnC,MAA9B,KAAyC,WAA7C,EAA0D;UACxDiD,gBAAgB,GAAG,KAAK/J,OAAL,CAAaiJ,SAAb,CAAuB,CAAvB,CAAnB;;OAde;;;;;UAqBf,KAAKjJ,OAAL,CAAagJ,QAAb,KAA0B,cAA9B,EAA8C;QAC5C3P,MAAM,CAACC,SAAP,CAAiB+B,GAAjB,CAAqB7C,WAAS,CAAC2P,eAA/B;;;WAGGiB,OAAL,GAAe,IAAIU,MAAJ,CAAWC,gBAAX,EAA6B,KAAKV,KAAlC,EAAyC,KAAKW,gBAAL,EAAzC,CAAf;KA1CG;;;;;;QAiDD,kBAAkBjf,QAAQ,CAAC4D,eAA3B,IACF,CAACT,SAAS,CAAC8I,cAAc,CAACxG,OAAf,CAAuB6I,MAAvB,EAA+BlB,UAAQ,CAACmQ,UAAxC,CAAD,CAAT,CAA+D7T,MADlE,EAC0E;MACxEvG,SAAS,CAACnD,QAAQ,CAACsE,IAAT,CAAc6H,QAAf,CAAT,CACGzJ,OADH,CACW,UAAA4X,IAAI;eAAInR,YAAY,CAAC8B,EAAb,CAAgBqP,IAAhB,EAAsB,WAAtB,EAAmC,IAAnC,EAAyCrW,IAAI,EAA7C,CAAJ;OADf;;;SAIG6J,QAAL,CAAcqC,KAAd;;SACKrC,QAAL,CAAcsC,YAAd,CAA2B,eAA3B,EAA4C,IAA5C;;IAEAQ,WAAW,CAACiB,WAAZ,CAAwB,KAAKyM,KAA7B,EAAoC7Q,WAAS,CAACG,IAA9C;IACAgD,WAAW,CAACiB,WAAZ,CAAwBvD,MAAxB,EAAgCb,WAAS,CAACG,IAA1C;IACAzE,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAAC6S,KAAnC,EAA0CzB,aAA1C;;;SAGF8C,OAAA,gBAAO;QACD,KAAK/M,QAAL,CAAc4Q,QAAd,IAA0B,KAAK5Q,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACsP,QAA3C,CAA1B,IAAkF,CAAC,KAAKuB,KAAL,CAAW/P,SAAX,CAAqBE,QAArB,CAA8BhB,WAAS,CAACG,IAAxC,CAAvF,EAAsI;;;;QAIhIU,MAAM,GAAG8P,QAAQ,CAACS,oBAAT,CAA8B,KAAK/Q,QAAnC,CAAf;QACMiK,aAAa,GAAG;MACpBA,aAAa,EAAE,KAAKjK;KADtB;QAIMoR,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAAC8S,IAAnC,EAAyC1B,aAAzC,CAAlB;;QAEImH,SAAS,CAACzY,gBAAd,EAAgC;;;;QAI5B,KAAK4X,OAAT,EAAkB;WACXA,OAAL,CAAac,OAAb;;;IAGFvO,WAAW,CAACiB,WAAZ,CAAwB,KAAKyM,KAA7B,EAAoC7Q,WAAS,CAACG,IAA9C;IACAgD,WAAW,CAACiB,WAAZ,CAAwBvD,MAAxB,EAAgCb,WAAS,CAACG,IAA1C;IACAzE,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAAC+S,MAAnC,EAA2C3B,aAA3C;;;SAGF1J,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;IACA9D,YAAY,CAACC,GAAb,CAAiB,KAAK0E,QAAtB,EAAgCZ,WAAhC;SACKY,QAAL,GAAgB,IAAhB;SACKwQ,KAAL,GAAa,IAAb;;QACI,KAAKD,OAAT,EAAkB;WACXA,OAAL,CAAac,OAAb;;WACKd,OAAL,GAAe,IAAf;;;;SAIJe,SAAA,kBAAS;SACFZ,SAAL,GAAiB,KAAKC,aAAL,EAAjB;;QACI,KAAKJ,OAAT,EAAkB;WACXA,OAAL,CAAagB,cAAb;;;;;SAMJ3J,qBAAA,8BAAqB;;;IACnBvM,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAACiW,KAArC,EAA4C,UAAAnU,KAAK,EAAI;MACnDA,KAAK,CAACjC,cAAN;MACAiC,KAAK,CAAC6W,eAAN;;MACA,KAAI,CAACzP,MAAL;KAHF;;;SAOFqF,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD,KAAKid,WAAL,CAAiBpN,OADhB,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKjD,QAAnC,CAFC,MAGDxL,MAHC,CAAN;IAMAF,eAAe,CACb2K,MADa,EAEbzK,MAFa,EAGb,KAAKid,WAAL,CAAiB7M,WAHJ,CAAf;WAMOpQ,MAAP;;;SAGFic,kBAAA,2BAAkB;QACVjQ,MAAM,GAAG8P,QAAQ,CAACS,oBAAT,CAA8B,KAAK/Q,QAAnC,CAAf;WAEO7B,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACkQ,IAAhC,EAAsChP,MAAtC,CAAP;;;SAGFkR,gBAAA,yBAAgB;QACRC,cAAc,GAAG,KAAK3R,QAAL,CAActK,UAArC;QACIkc,SAAS,GAAGjC,aAAa,CAACG,MAA9B,CAFc;;QAKV6B,cAAc,CAAClR,SAAf,CAAyBE,QAAzB,CAAkChB,WAAS,CAACuP,MAA5C,CAAJ,EAAyD;MACvD0C,SAAS,GAAGjC,aAAa,CAACC,GAA1B;;UACI,KAAKY,KAAL,CAAW/P,SAAX,CAAqBE,QAArB,CAA8BhB,WAAS,CAAC0P,SAAxC,CAAJ,EAAwD;QACtDuC,SAAS,GAAGjC,aAAa,CAACE,MAA1B;;KAHJ,MAKO,IAAI8B,cAAc,CAAClR,SAAf,CAAyBE,QAAzB,CAAkChB,WAAS,CAACwP,SAA5C,CAAJ,EAA4D;MACjEyC,SAAS,GAAGjC,aAAa,CAAC1K,KAA1B;KADK,MAEA,IAAI0M,cAAc,CAAClR,SAAf,CAAyBE,QAAzB,CAAkChB,WAAS,CAACyP,QAA5C,CAAJ,EAA2D;MAChEwC,SAAS,GAAGjC,aAAa,CAAC3K,IAA1B;KADK,MAEA,IAAI,KAAKwL,KAAL,CAAW/P,SAAX,CAAqBE,QAArB,CAA8BhB,WAAS,CAAC0P,SAAxC,CAAJ,EAAwD;MAC7DuC,SAAS,GAAGjC,aAAa,CAACI,SAA1B;;;WAGK6B,SAAP;;;SAGFjB,gBAAA,yBAAgB;WACPlX,OAAO,CAAC0E,cAAc,CAACxG,OAAf,CAAuB,KAAKqI,QAA5B,EAAsC,SAAtC,CAAD,CAAd;;;SAGF6R,aAAA,sBAAa;;;QACLxO,MAAM,GAAG,EAAf;;QAEI,OAAO,KAAK8D,OAAL,CAAa9D,MAApB,KAA+B,UAAnC,EAA+C;MAC7CA,MAAM,CAACnI,EAAP,GAAY,UAAAnE,IAAI,EAAI;QAClBA,IAAI,CAAC+a,OAAL,sBACK/a,IAAI,CAAC+a,OADV,MAEK,MAAI,CAAC3K,OAAL,CAAa9D,MAAb,CAAoBtM,IAAI,CAAC+a,OAAzB,EAAkC,MAAI,CAAC9R,QAAvC,KAAoD,EAFzD;eAKOjJ,IAAP;OANF;KADF,MASO;MACLsM,MAAM,CAACA,MAAP,GAAgB,KAAK8D,OAAL,CAAa9D,MAA7B;;;WAGKA,MAAP;;;SAGF8N,mBAAA,4BAAmB;QACXd,YAAY,GAAG;MACnBuB,SAAS,EAAE,KAAKF,aAAL,EADQ;MAEnBK,SAAS,EAAE;QACT1O,MAAM,EAAE,KAAKwO,UAAL,EADC;QAET3B,IAAI,EAAE;UACJ8B,OAAO,EAAE,KAAK7K,OAAL,CAAa+I;SAHf;QAKT+B,eAAe,EAAE;UACfC,iBAAiB,EAAE,KAAK/K,OAAL,CAAagJ;;OARjB;;KAArB;;QAcI,KAAKhJ,OAAL,CAAaxR,OAAb,KAAyB,QAA7B,EAAuC;MACrC0a,YAAY,CAAC0B,SAAb,CAAuBI,UAAvB,GAAoC;QAClCH,OAAO,EAAE;OADX;;;8BAMG3B,YADL,MAEK,KAAKlJ,OAAL,CAAakJ,YAFlB;;;;WAQK+B,oBAAP,2BAAyB/f,OAAzB,EAAkCmC,MAAlC,EAA0C;QACpCuC,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAX;;QACMgI,OAAO,GAAG,OAAO3S,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;QAEI,CAACuC,IAAL,EAAW;MACTA,IAAI,GAAG,IAAIuZ,QAAJ,CAAaje,OAAb,EAAsB8U,OAAtB,CAAP;;;QAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;UAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;cACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;MAGFuC,IAAI,CAACvC,MAAD,CAAJ;;;;WAIGsM,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;MAC3BuP,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiC5d,MAAjC;KADK,CAAP;;;WAKKsc,aAAP,oBAAkBnW,KAAlB,EAAyB;QACnBA,KAAK,KAAKA,KAAK,CAACC,KAAN,KAAgBgU,wBAAhB,IACXjU,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB6T,WADpC,CAAT,EAC4D;;;;QAItD4D,OAAO,GAAGhd,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACoC,WAA7B,CAAD,CAAzB;;SACK,IAAI/F,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAGoW,OAAO,CAACzW,MAA9B,EAAsCD,CAAC,GAAGM,GAA1C,EAA+CN,CAAC,EAAhD,EAAoD;UAC5C6E,MAAM,GAAG8P,QAAQ,CAACS,oBAAT,CAA8BsB,OAAO,CAAC1W,CAAD,CAArC,CAAf;UACM2W,OAAO,GAAGnb,IAAI,CAACG,OAAL,CAAa+a,OAAO,CAAC1W,CAAD,CAApB,EAAyBwD,UAAzB,CAAhB;UACM8K,aAAa,GAAG;QACpBA,aAAa,EAAEoI,OAAO,CAAC1W,CAAD;OADxB;;UAIIhB,KAAK,IAAIA,KAAK,CAACE,IAAN,KAAe,OAA5B,EAAqC;QACnCoP,aAAa,CAACsI,UAAd,GAA2B5X,KAA3B;;;UAGE,CAAC2X,OAAL,EAAc;;;;UAIRE,YAAY,GAAGF,OAAO,CAAC9B,KAA7B;;UACI,CAAChQ,MAAM,CAACC,SAAP,CAAiBE,QAAjB,CAA0BhB,WAAS,CAACG,IAApC,CAAL,EAAgD;;;;UAI5CnF,KAAK,KAAMA,KAAK,CAACE,IAAN,KAAe,OAAf,IACX,kBAAkB3F,IAAlB,CAAuByF,KAAK,CAACe,MAAN,CAAa8N,OAApC,CADU,IAET7O,KAAK,CAACE,IAAN,KAAe,OAAf,IAA0BF,KAAK,CAACC,KAAN,KAAgB6T,WAFtC,CAAL,IAGAjO,MAAM,CAACG,QAAP,CAAgBhG,KAAK,CAACe,MAAtB,CAHJ,EAGmC;;;;UAI7B0V,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAAC8S,IAAnC,EAAyC1B,aAAzC,CAAlB;;UACImH,SAAS,CAACzY,gBAAd,EAAgC;;OA5BkB;;;;UAkC9C,kBAAkBzG,QAAQ,CAAC4D,eAA/B,EAAgD;QAC9CT,SAAS,CAACnD,QAAQ,CAACsE,IAAT,CAAc6H,QAAf,CAAT,CACGzJ,OADH,CACW,UAAA4X,IAAI;iBAAInR,YAAY,CAACC,GAAb,CAAiBkR,IAAjB,EAAuB,WAAvB,EAAoC,IAApC,EAA0CrW,IAAI,EAA9C,CAAJ;SADf;;;MAIFkc,OAAO,CAAC1W,CAAD,CAAP,CAAW2G,YAAX,CAAwB,eAAxB,EAAyC,OAAzC;;UAEIgQ,OAAO,CAAC/B,OAAZ,EAAqB;QACnB+B,OAAO,CAAC/B,OAAR,CAAgBc,OAAhB;;;MAGFmB,YAAY,CAAC/R,SAAb,CAAuBC,MAAvB,CAA8Bf,WAAS,CAACG,IAAxC;MACAU,MAAM,CAACC,SAAP,CAAiBC,MAAjB,CAAwBf,WAAS,CAACG,IAAlC;MACAzE,YAAY,CAACsC,OAAb,CAAqB6C,MAArB,EAA6B3H,OAAK,CAAC+S,MAAnC,EAA2C3B,aAA3C;;;;WAIG8G,uBAAP,8BAA4B1e,OAA5B,EAAqC;WAC5BO,sBAAsB,CAACP,OAAD,CAAtB,IAAmCA,OAAO,CAACqD,UAAlD;;;WAGK+c,wBAAP,+BAA6B9X,KAA7B,EAAoC;;;;;;;;QAQ9B,kBAAkBzF,IAAlB,CAAuByF,KAAK,CAACe,MAAN,CAAa8N,OAApC,IACF7O,KAAK,CAACC,KAAN,KAAgB4T,aAAhB,IAAkC7T,KAAK,CAACC,KAAN,KAAgB2T,cAAhB,KAChC5T,KAAK,CAACC,KAAN,KAAgB+T,kBAAhB,IAAsChU,KAAK,CAACC,KAAN,KAAgB8T,gBAAvD,IACCvQ,cAAc,CAACxG,OAAf,CAAuBgD,KAAK,CAACe,MAA7B,EAAqC4D,UAAQ,CAACkQ,IAA9C,CAFgC,CADhC,GAIF,CAACX,cAAc,CAAC3Z,IAAf,CAAoByF,KAAK,CAACC,KAA1B,CAJH,EAIqC;;;;IAIrCD,KAAK,CAACjC,cAAN;IACAiC,KAAK,CAAC6W,eAAN;;QAEI,KAAKZ,QAAL,IAAiB,KAAKnQ,SAAL,CAAeE,QAAf,CAAwBhB,WAAS,CAACsP,QAAlC,CAArB,EAAkE;;;;QAI5DzO,MAAM,GAAG8P,QAAQ,CAACS,oBAAT,CAA8B,IAA9B,CAAf;QACMF,QAAQ,GAAGrQ,MAAM,CAACC,SAAP,CAAiBE,QAAjB,CAA0BhB,WAAS,CAACG,IAApC,CAAjB;;QAEI,CAAC+Q,QAAD,IAAcA,QAAQ,KAAKlW,KAAK,CAACC,KAAN,KAAgB2T,cAAhB,IAAkC5T,KAAK,CAACC,KAAN,KAAgB4T,aAAvD,CAA1B,EAAkG;UAC5F7T,KAAK,CAACC,KAAN,KAAgB2T,cAApB,EAAoC;QAClCpQ,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACoC,WAAhC,EAA6ClB,MAA7C,EAAqD6B,KAArD;;;MAGFiO,QAAQ,CAACQ,UAAT;;;;QAII4B,KAAK,GAAGrd,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACoQ,aAA7B,EAA4ClP,MAA5C,CAAD,CAAvB;;QAEI,CAACkS,KAAK,CAAC9W,MAAX,EAAmB;;;;QAIf2M,KAAK,GAAGmK,KAAK,CAAChW,OAAN,CAAc/B,KAAK,CAACe,MAApB,CAAZ;;QAEIf,KAAK,CAACC,KAAN,KAAgB8T,gBAAhB,IAAoCnG,KAAK,GAAG,CAAhD,EAAmD;;MACjDA,KAAK;;;QAGH5N,KAAK,CAACC,KAAN,KAAgB+T,kBAAhB,IAAsCpG,KAAK,GAAGmK,KAAK,CAAC9W,MAAN,GAAe,CAAjE,EAAoE;;MAClE2M,KAAK;;;QAGHA,KAAK,GAAG,CAAZ,EAAe;MACbA,KAAK,GAAG,CAAR;;;IAGFmK,KAAK,CAACnK,KAAD,CAAL,CAAalG,KAAb;;;WAGKnB,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBAjYmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;wBAGuB;aAChBO,aAAP;;;;;;;;;;;;;AAkYJvJ,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAACkW,gBAAhC,EAAkDzP,UAAQ,CAACoC,WAA3D,EAAwE4O,QAAQ,CAACmC,qBAAjF;AACApX,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAACkW,gBAAhC,EAAkDzP,UAAQ,CAACkQ,IAA3D,EAAiEc,QAAQ,CAACmC,qBAA1E;AACApX,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgD4Q,QAAQ,CAACQ,UAAzD;AACAzV,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAACmW,cAAhC,EAAgDsB,QAAQ,CAACQ,UAAzD;AACAzV,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgDJ,UAAQ,CAACoC,WAAzD,EAAsE,UAAU/G,KAAV,EAAiB;EACrFA,KAAK,CAACjC,cAAN;EACAiC,KAAK,CAAC6W,eAAN;EACAlB,QAAQ,CAAC8B,iBAAT,CAA2B,IAA3B,EAAiC,QAAjC;CAHF;AAKA/W,YAAY,CACT8B,EADH,CACMjL,QADN,EACgB2G,OAAK,CAAC6G,cADtB,EACsCJ,UAAQ,CAACiQ,UAD/C,EAC2D,UAAA9W,CAAC;SAAIA,CAAC,CAAC+Y,eAAF,EAAJ;CAD5D;AAGA,IAAM5X,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAaqR,QAAQ,CAACxP,eAAtB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBkP,QAAzB;;EACA1W,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOmP,QAAQ,CAACxP,eAAhB;GAFF;;;ACngBF;;;;;;AAMA,IAAM7B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AACA,IAAMkP,gBAAc,GAAG,EAAvB;;AAEA,IAAMlK,SAAO,GAAG;EACdsO,QAAQ,EAAE,IADI;EAEdpO,QAAQ,EAAE,IAFI;EAGdlC,KAAK,EAAE,IAHO;EAId2K,IAAI,EAAE;CAJR;AAOA,IAAMpI,aAAW,GAAG;EAClB+N,QAAQ,EAAE,kBADQ;EAElBpO,QAAQ,EAAE,SAFQ;EAGlBlC,KAAK,EAAE,SAHW;EAIlB2K,IAAI,EAAE;CAJR;AAOA,IAAMnU,OAAK,GAAG;EACZ8S,IAAI,WAASvM,WADD;EAEZwM,MAAM,aAAWxM,WAFL;EAGZU,IAAI,WAASV,WAHD;EAIZsM,KAAK,YAAUtM,WAJH;EAKZwT,OAAO,cAAYxT,WALP;EAMZyT,MAAM,aAAWzT,WANL;EAOZ0T,aAAa,oBAAkB1T,WAPnB;EAQZ2T,eAAe,sBAAoB3T,WARvB;EASZ4T,eAAe,sBAAoB5T,WATvB;EAUZ6T,iBAAiB,wBAAsB7T,WAV3B;EAWZM,cAAc,YAAUN,WAAV,GAAsBC;CAXtC;AAcA,IAAMM,WAAS,GAAG;EAChBuT,UAAU,EAAE,yBADI;EAEhBC,kBAAkB,EAAE,yBAFJ;EAGhBC,QAAQ,EAAE,gBAHM;EAIhBC,IAAI,EAAE,YAJU;EAKhBxT,IAAI,EAAE,MALU;EAMhBC,IAAI,EAAE;CANR;AASA,IAAMR,UAAQ,GAAG;EACfgU,MAAM,EAAE,eADO;EAEfC,UAAU,EAAE,aAFG;EAGf7R,WAAW,EAAE,uBAHE;EAIf8R,YAAY,EAAE,wBAJC;EAKfC,aAAa,EAAE,mDALA;EAMfC,cAAc,EAAE;;;;;;;CANlB;;IAeMC;;;iBACQthB,OAAZ,EAAqBmC,MAArB,EAA6B;SACtB2S,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACKwL,QAAL,GAAgB3N,OAAhB;SACKuhB,OAAL,GAAezV,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACgU,MAAhC,EAAwCjhB,OAAxC,CAAf;SACKwhB,SAAL,GAAiB,IAAjB;SACKC,QAAL,GAAgB,KAAhB;SACKC,kBAAL,GAA0B,KAA1B;SACKC,oBAAL,GAA4B,KAA5B;SACK3H,gBAAL,GAAwB,KAAxB;SACK4H,eAAL,GAAuB,CAAvB;IACA9c,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAeF4C,SAAA,gBAAOkI,aAAP,EAAsB;WACb,KAAK6J,QAAL,GAAgB,KAAK/G,IAAL,EAAhB,GAA8B,KAAKC,IAAL,CAAU/C,aAAV,CAArC;;;SAGF+C,OAAA,cAAK/C,aAAL,EAAoB;;;QACd,KAAK6J,QAAL,IAAiB,KAAKzH,gBAA1B,EAA4C;;;;QAIxC,KAAKrM,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACE,IAA3C,CAAJ,EAAsD;WAC/CwM,gBAAL,GAAwB,IAAxB;;;QAGI2E,SAAS,GAAG3V,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACiH,IAA1C,EAAgD;MAChEmK,aAAa,EAAbA;KADgB,CAAlB;;QAII,KAAK6J,QAAL,IAAiB9C,SAAS,CAACrY,gBAA/B,EAAiD;;;;SAI5Cmb,QAAL,GAAgB,IAAhB;;SAEKI,eAAL;;SACKC,aAAL;;SAEKC,aAAL;;SAEKC,eAAL;;SACKC,eAAL;;IAEAjZ,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EACEnH,OAAK,CAACia,aADR,EAEExT,UAAQ,CAACkU,YAFX,EAGE,UAAA7Y,KAAK;aAAI,KAAI,CAACoS,IAAL,CAAUpS,KAAV,CAAJ;KAHP;IAMAU,YAAY,CAAC8B,EAAb,CAAgB,KAAKyW,OAArB,EAA8B/a,OAAK,CAACoa,iBAApC,EAAuD,YAAM;MAC3D5X,YAAY,CAAC+B,GAAb,CAAiB,KAAI,CAAC4C,QAAtB,EAAgCnH,OAAK,CAACma,eAAtC,EAAuD,UAAArY,KAAK,EAAI;YAC1DA,KAAK,CAACe,MAAN,KAAiB,KAAI,CAACsE,QAA1B,EAAoC;UAClC,KAAI,CAACgU,oBAAL,GAA4B,IAA5B;;OAFJ;KADF;;SAQKO,aAAL,CAAmB;aAAM,KAAI,CAACC,YAAL,CAAkBvK,aAAlB,CAAN;KAAnB;;;SAGF8C,OAAA,cAAKpS,KAAL,EAAY;;;QACNA,KAAJ,EAAW;MACTA,KAAK,CAACjC,cAAN;;;QAGE,CAAC,KAAKob,QAAN,IAAkB,KAAKzH,gBAA3B,EAA6C;;;;QAIvC+E,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAAC8S,IAA1C,CAAlB;;QAEIyF,SAAS,CAACzY,gBAAd,EAAgC;;;;SAI3Bmb,QAAL,GAAgB,KAAhB;;QACMW,UAAU,GAAG,KAAKzU,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACE,IAA3C,CAAnB;;QAEI4U,UAAJ,EAAgB;WACTpI,gBAAL,GAAwB,IAAxB;;;SAGGgI,eAAL;;SACKC,eAAL;;IAEAjZ,YAAY,CAACC,GAAb,CAAiBpJ,QAAjB,EAA2B2G,OAAK,CAAC+Z,OAAjC;;SAEK5S,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACG,IAAzC;;IAEAzE,YAAY,CAACC,GAAb,CAAiB,KAAK0E,QAAtB,EAAgCnH,OAAK,CAACia,aAAtC;IACAzX,YAAY,CAACC,GAAb,CAAiB,KAAKsY,OAAtB,EAA+B/a,OAAK,CAACoa,iBAArC;;QAEIwB,UAAJ,EAAgB;UACRzhB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKmN,QAAN,CAA3D;MAEA3E,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCzO,cAAhC,EAAgD,UAAAoJ,KAAK;eAAI,MAAI,CAAC+Z,UAAL,CAAgB/Z,KAAhB,CAAJ;OAArD;MACA9G,oBAAoB,CAAC,KAAKmM,QAAN,EAAgBhN,kBAAhB,CAApB;KAJF,MAKO;WACA0hB,UAAL;;;;SAIJnU,UAAA,mBAAU;KACPzN,MAAD,EAAS,KAAKkN,QAAd,EAAwB,KAAK4T,OAA7B,EACGhf,OADH,CACW,UAAA+f,WAAW;aAAItZ,YAAY,CAACC,GAAb,CAAiBqZ,WAAjB,EAA8BvV,WAA9B,CAAJ;KADtB;;;;;;;IAQA/D,YAAY,CAACC,GAAb,CAAiBpJ,QAAjB,EAA2B2G,OAAK,CAAC+Z,OAAjC;IAEAzb,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SAEKgI,OAAL,GAAe,IAAf;SACKnH,QAAL,GAAgB,IAAhB;SACK4T,OAAL,GAAe,IAAf;SACKC,SAAL,GAAiB,IAAjB;SACKC,QAAL,GAAgB,IAAhB;SACKC,kBAAL,GAA0B,IAA1B;SACKC,oBAAL,GAA4B,IAA5B;SACK3H,gBAAL,GAAwB,IAAxB;SACK4H,eAAL,GAAuB,IAAvB;;;SAGFW,eAAA,wBAAe;SACRR,aAAL;;;;SAKFhN,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD6P,SADC,MAED7P,MAFC,CAAN;IAIAF,eAAe,CAAC2K,MAAD,EAAOzK,MAAP,EAAeoQ,aAAf,CAAf;WACOpQ,MAAP;;;SAGFggB,eAAA,sBAAavK,aAAb,EAA4B;;;QACpBwK,UAAU,GAAG,KAAKzU,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACE,IAA3C,CAAnB;;QACMgV,SAAS,GAAG1W,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACiU,UAAhC,EAA4C,KAAKK,OAAjD,CAAlB;;QAEI,CAAC,KAAK5T,QAAL,CAActK,UAAf,IACA,KAAKsK,QAAL,CAActK,UAAd,CAAyB9B,QAAzB,KAAsC8K,IAAI,CAACC,YAD/C,EAC6D;;MAE3DzM,QAAQ,CAACsE,IAAT,CAAcse,WAAd,CAA0B,KAAK9U,QAA/B;;;SAGGA,QAAL,CAAcvK,KAAd,CAAoBE,OAApB,GAA8B,OAA9B;;SACKqK,QAAL,CAAcrG,eAAd,CAA8B,aAA9B;;SACKqG,QAAL,CAAcsC,YAAd,CAA2B,YAA3B,EAAyC,IAAzC;;QAEI,KAAKsR,OAAL,CAAanT,SAAb,CAAuBE,QAAvB,CAAgChB,WAAS,CAACuT,UAA1C,KAAyD2B,SAA7D,EAAwE;MACtEA,SAAS,CAACpR,SAAV,GAAsB,CAAtB;KADF,MAEO;WACAzD,QAAL,CAAcyD,SAAd,GAA0B,CAA1B;;;QAGEgR,UAAJ,EAAgB;MACdre,MAAM,CAAC,KAAK4J,QAAN,CAAN;;;SAGGA,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACG,IAAtC;;QAEI,KAAKqH,OAAL,CAAa9E,KAAjB,EAAwB;WACjB0S,aAAL;;;QAGIC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;UAC3B,MAAI,CAAC7N,OAAL,CAAa9E,KAAjB,EAAwB;QACtB,MAAI,CAACrC,QAAL,CAAcqC,KAAd;;;MAGF,MAAI,CAACgK,gBAAL,GAAwB,KAAxB;MACAhR,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC6S,KAA1C,EAAiD;QAC/CzB,aAAa,EAAbA;OADF;KANF;;QAWIwK,UAAJ,EAAgB;UACRzhB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAK+gB,OAAN,CAA3D;MAEAvY,YAAY,CAAC+B,GAAb,CAAiB,KAAKwW,OAAtB,EAA+BriB,cAA/B,EAA+CyjB,kBAA/C;MACAnhB,oBAAoB,CAAC,KAAK+f,OAAN,EAAe5gB,kBAAf,CAApB;KAJF,MAKO;MACLgiB,kBAAkB;;;;SAItBD,gBAAA,yBAAgB;;;IACd1Z,YAAY,CAACC,GAAb,CAAiBpJ,QAAjB,EAA2B2G,OAAK,CAAC+Z,OAAjC,EADc;;IAEdvX,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC+Z,OAAhC,EAAyC,UAAAjY,KAAK,EAAI;UAC5CzI,QAAQ,KAAKyI,KAAK,CAACe,MAAnB,IACA,MAAI,CAACsE,QAAL,KAAkBrF,KAAK,CAACe,MADxB,IAEA,CAAC,MAAI,CAACsE,QAAL,CAAcW,QAAd,CAAuBhG,KAAK,CAACe,MAA7B,CAFL,EAE2C;QACzC,MAAI,CAACsE,QAAL,CAAcqC,KAAd;;KAJJ;;;SASFgS,kBAAA,2BAAkB;;;QACZ,KAAKP,QAAL,IAAiB,KAAK3M,OAAL,CAAa5C,QAAlC,EAA4C;MAC1ClJ,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAACka,eAArC,EAAsD,UAAApY,KAAK,EAAI;YACzDA,KAAK,CAACC,KAAN,KAAgB2T,gBAApB,EAAoC;UAClC5T,KAAK,CAACjC,cAAN;;UACA,MAAI,CAACqU,IAAL;;OAHJ;KADF,MAOO;MACL1R,YAAY,CAACC,GAAb,CAAiB,KAAK0E,QAAtB,EAAgCnH,OAAK,CAACka,eAAtC;;;;SAIJuB,kBAAA,2BAAkB;;;QACZ,KAAKR,QAAT,EAAmB;MACjBzY,YAAY,CAAC8B,EAAb,CAAgBrK,MAAhB,EAAwB+F,OAAK,CAACga,MAA9B,EAAsC;eAAM,MAAI,CAACuB,aAAL,EAAN;OAAtC;KADF,MAEO;MACL/Y,YAAY,CAACC,GAAb,CAAiBxI,MAAjB,EAAyB+F,OAAK,CAACga,MAA/B;;;;SAIJ6B,aAAA,sBAAa;;;SACN1U,QAAL,CAAcvK,KAAd,CAAoBE,OAApB,GAA8B,MAA9B;;SACKqK,QAAL,CAAcsC,YAAd,CAA2B,aAA3B,EAA0C,IAA1C;;SACKtC,QAAL,CAAcrG,eAAd,CAA8B,YAA9B;;SACK0S,gBAAL,GAAwB,KAAxB;;SACKkI,aAAL,CAAmB,YAAM;MACvBriB,QAAQ,CAACsE,IAAT,CAAciK,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC0T,IAAzC;;MACA,MAAI,CAAC4B,iBAAL;;MACA,MAAI,CAACC,eAAL;;MACA7Z,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC+S,MAA1C;KAJF;;;SAQFuJ,kBAAA,2BAAkB;SACXtB,SAAL,CAAene,UAAf,CAA0BmL,WAA1B,CAAsC,KAAKgT,SAA3C;;SACKA,SAAL,GAAiB,IAAjB;;;SAGFU,gBAAA,uBAAca,QAAd,EAAwB;;;QAChBC,OAAO,GAAG,KAAKrV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACE,IAA3C,IACdF,WAAS,CAACE,IADI,GAEd,EAFF;;QAII,KAAKiU,QAAL,IAAiB,KAAK3M,OAAL,CAAawL,QAAlC,EAA4C;WACrCkB,SAAL,GAAiB3hB,QAAQ,CAAC+G,aAAT,CAAuB,KAAvB,CAAjB;WACK4a,SAAL,CAAe7P,SAAf,GAA2BrE,WAAS,CAACyT,QAArC;;UAEIiC,OAAJ,EAAa;aACNxB,SAAL,CAAepT,SAAf,CAAyB+B,GAAzB,CAA6B6S,OAA7B;;;MAGFnjB,QAAQ,CAACsE,IAAT,CAAcse,WAAd,CAA0B,KAAKjB,SAA/B;MAEAxY,YAAY,CAAC8B,EAAb,CAAgB,KAAK6C,QAArB,EAA+BnH,OAAK,CAACia,aAArC,EAAoD,UAAAnY,KAAK,EAAI;YACvD,MAAI,CAACqZ,oBAAT,EAA+B;UAC7B,MAAI,CAACA,oBAAL,GAA4B,KAA5B;;;;YAIErZ,KAAK,CAACe,MAAN,KAAiBf,KAAK,CAAC2a,aAA3B,EAA0C;;;;YAItC,MAAI,CAACnO,OAAL,CAAawL,QAAb,KAA0B,QAA9B,EAAwC;UACtC,MAAI,CAAC3S,QAAL,CAAcqC,KAAd;SADF,MAEO;UACL,MAAI,CAAC0K,IAAL;;OAbJ;;UAiBIsI,OAAJ,EAAa;QACXjf,MAAM,CAAC,KAAKyd,SAAN,CAAN;;;WAGGA,SAAL,CAAepT,SAAf,CAAyB+B,GAAzB,CAA6B7C,WAAS,CAACG,IAAvC;;UAEI,CAACuV,OAAL,EAAc;QACZD,QAAQ;;;;UAIJG,0BAA0B,GAAG1iB,gCAAgC,CAAC,KAAKghB,SAAN,CAAnE;MAEAxY,YAAY,CAAC+B,GAAb,CAAiB,KAAKyW,SAAtB,EAAiCtiB,cAAjC,EAAiD6jB,QAAjD;MACAvhB,oBAAoB,CAAC,KAAKggB,SAAN,EAAiB0B,0BAAjB,CAApB;KAzCF,MA0CO,IAAI,CAAC,KAAKzB,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;WACtCA,SAAL,CAAepT,SAAf,CAAyBC,MAAzB,CAAgCf,WAAS,CAACG,IAA1C;;UAEM0V,cAAc,GAAG,SAAjBA,cAAiB,GAAM;QAC3B,MAAI,CAACL,eAAL;;QACAC,QAAQ;OAFV;;UAKI,KAAKpV,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACE,IAA3C,CAAJ,EAAsD;YAC9C0V,2BAA0B,GAAG1iB,gCAAgC,CAAC,KAAKghB,SAAN,CAAnE;;QACAxY,YAAY,CAAC+B,GAAb,CAAiB,KAAKyW,SAAtB,EAAiCtiB,cAAjC,EAAiDikB,cAAjD;QACA3hB,oBAAoB,CAAC,KAAKggB,SAAN,EAAiB0B,2BAAjB,CAApB;OAHF,MAIO;QACLC,cAAc;;KAbX,MAeA;MACLJ,QAAQ;;;;;;;SAQZhB,gBAAA,yBAAgB;QACRqB,kBAAkB,GACtB,KAAKzV,QAAL,CAAc0V,YAAd,GAA6BxjB,QAAQ,CAAC4D,eAAT,CAAyB6f,YADxD;;QAGI,CAAC,KAAK5B,kBAAN,IAA4B0B,kBAAhC,EAAoD;WAC7CzV,QAAL,CAAcvK,KAAd,CAAoBmgB,WAApB,GAAqC,KAAK3B,eAA1C;;;QAGE,KAAKF,kBAAL,IAA2B,CAAC0B,kBAAhC,EAAoD;WAC7CzV,QAAL,CAAcvK,KAAd,CAAoBogB,YAApB,GAAsC,KAAK5B,eAA3C;;;;SAIJgB,oBAAA,6BAAoB;SACbjV,QAAL,CAAcvK,KAAd,CAAoBmgB,WAApB,GAAkC,EAAlC;SACK5V,QAAL,CAAcvK,KAAd,CAAoBogB,YAApB,GAAmC,EAAnC;;;SAGF3B,kBAAA,2BAAkB;QACV5Q,IAAI,GAAGpR,QAAQ,CAACsE,IAAT,CAAc+M,qBAAd,EAAb;SACKwQ,kBAAL,GAA0BzQ,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAACwS,KAAjB,GAAyBhjB,MAAM,CAACijB,UAA1D;SACK9B,eAAL,GAAuB,KAAK+B,kBAAL,EAAvB;;;SAGF7B,gBAAA,yBAAgB;;;QACV,KAAKJ,kBAAT,EAA6B;;;;MAK3B1e,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACmU,aAA7B,CAAD,CAAT,CACG7e,OADH,CACW,UAAAvC,OAAO,EAAI;YACZ4jB,aAAa,GAAG5jB,OAAO,CAACoD,KAAR,CAAcogB,YAApC;YACMK,iBAAiB,GAAGpjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,eAAjC,CAA1B;QACAyQ,WAAW,CAACC,gBAAZ,CAA6B1Q,OAA7B,EAAsC,eAAtC,EAAuD4jB,aAAvD;QACA5jB,OAAO,CAACoD,KAAR,CAAcogB,YAAd,GAAgC1iB,UAAU,CAAC+iB,iBAAD,CAAV,GAAgC,MAAI,CAACjC,eAArE;OALJ,EAL2B;;MAc3B5e,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACoU,cAA7B,CAAD,CAAT,CACG9e,OADH,CACW,UAAAvC,OAAO,EAAI;YACZ8jB,YAAY,GAAG9jB,OAAO,CAACoD,KAAR,CAAc2gB,WAAnC;YACMC,gBAAgB,GAAGvjB,MAAM,CAACC,gBAAP,CAAwBV,OAAxB,EAAiC,cAAjC,CAAzB;QACAyQ,WAAW,CAACC,gBAAZ,CAA6B1Q,OAA7B,EAAsC,cAAtC,EAAsD8jB,YAAtD;QACA9jB,OAAO,CAACoD,KAAR,CAAc2gB,WAAd,GAA+BjjB,UAAU,CAACkjB,gBAAD,CAAV,GAA+B,MAAI,CAACpC,eAAnE;OALJ,EAd2B;;UAuBrBgC,aAAa,GAAG/jB,QAAQ,CAACsE,IAAT,CAAcf,KAAd,CAAoBogB,YAA1C;UACMK,iBAAiB,GAAGpjB,MAAM,CAACC,gBAAP,CAAwBb,QAAQ,CAACsE,IAAjC,EAAuC,eAAvC,CAA1B;MAEAsM,WAAW,CAACC,gBAAZ,CAA6B7Q,QAAQ,CAACsE,IAAtC,EAA4C,eAA5C,EAA6Dyf,aAA7D;MACA/jB,QAAQ,CAACsE,IAAT,CAAcf,KAAd,CAAoBogB,YAApB,GAAsC1iB,UAAU,CAAC+iB,iBAAD,CAAV,GAAgC,KAAKjC,eAA3E;;;IAGF/hB,QAAQ,CAACsE,IAAT,CAAciK,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAAC0T,IAAtC;;;SAGF6B,kBAAA,2BAAkB;;IAEhB7f,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACmU,aAA7B,CAAD,CAAT,CACG7e,OADH,CACW,UAAAvC,OAAO,EAAI;UACZikB,OAAO,GAAGxT,WAAW,CAACM,gBAAZ,CAA6B/Q,OAA7B,EAAsC,eAAtC,CAAhB;;UACI,OAAOikB,OAAP,KAAmB,WAAvB,EAAoC;QAClCxT,WAAW,CAACE,mBAAZ,CAAgC3Q,OAAhC,EAAyC,eAAzC;QACAA,OAAO,CAACoD,KAAR,CAAcogB,YAAd,GAA6BS,OAA7B;;KALN,EAFgB;;IAYhBjhB,SAAS,CAAC8I,cAAc,CAACvG,IAAf,MAAuB0H,UAAQ,CAACoU,cAAhC,CAAD,CAAT,CACG9e,OADH,CACW,UAAAvC,OAAO,EAAI;UACZkkB,MAAM,GAAGzT,WAAW,CAACM,gBAAZ,CAA6B/Q,OAA7B,EAAsC,cAAtC,CAAf;;UACI,OAAOkkB,MAAP,KAAkB,WAAtB,EAAmC;QACjCzT,WAAW,CAACE,mBAAZ,CAAgC3Q,OAAhC,EAAyC,cAAzC;QACAA,OAAO,CAACoD,KAAR,CAAc2gB,WAAd,GAA4BG,MAA5B;;KALN,EAZgB;;QAsBVD,OAAO,GAAGxT,WAAW,CAACM,gBAAZ,CAA6BlR,QAAQ,CAACsE,IAAtC,EAA4C,eAA5C,CAAhB;;QACI,OAAO8f,OAAP,KAAmB,WAAvB,EAAoC;MAClCpkB,QAAQ,CAACsE,IAAT,CAAcf,KAAd,CAAoBogB,YAApB,GAAmC,EAAnC;KADF,MAEO;MACL/S,WAAW,CAACE,mBAAZ,CAAgC9Q,QAAQ,CAACsE,IAAzC,EAA+C,eAA/C;MACAtE,QAAQ,CAACsE,IAAT,CAAcf,KAAd,CAAoBogB,YAApB,GAAmCS,OAAnC;;;;SAIJN,qBAAA,8BAAqB;;QACbQ,SAAS,GAAGtkB,QAAQ,CAAC+G,aAAT,CAAuB,KAAvB,CAAlB;IACAud,SAAS,CAACxS,SAAV,GAAsBrE,WAAS,CAACwT,kBAAhC;IACAjhB,QAAQ,CAACsE,IAAT,CAAcse,WAAd,CAA0B0B,SAA1B;QACMC,cAAc,GAAGD,SAAS,CAACjT,qBAAV,GAAkCmT,KAAlC,GAA0CF,SAAS,CAACG,WAA3E;IACAzkB,QAAQ,CAACsE,IAAT,CAAcqK,WAAd,CAA0B2V,SAA1B;WACOC,cAAP;;;;QAKK3V,kBAAP,yBAAuBtM,MAAvB,EAA+ByV,aAA/B,EAA8C;WACrC,KAAKlJ,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UACMgI,OAAO,sBACR9C,SADQ,MAERvB,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFQ,MAGR,OAAOzO,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAHxC,CAAb;;UAMI,CAACuC,IAAL,EAAW;QACTA,IAAI,GAAG,IAAI4c,KAAJ,CAAU,IAAV,EAAgBxM,OAAhB,CAAP;;;UAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ,CAAayV,aAAb;OALF,MAMO,IAAI9C,OAAO,CAAC6F,IAAZ,EAAkB;QACvBjW,IAAI,CAACiW,IAAL,CAAU/C,aAAV;;KAnBG,CAAP;;;QAwBK/I,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBArbmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;;;;;;;;;;AA0bJhJ,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgDJ,UAAQ,CAACoC,WAAzD,EAAsE,UAAU/G,KAAV,EAAiB;;;MAC/Ee,MAAM,GAAG9I,sBAAsB,CAAC,IAAD,CAArC;;MAEI,KAAK4W,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;IACnD7O,KAAK,CAACjC,cAAN;;;EAGF2C,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB7C,OAAK,CAACiH,IAA/B,EAAqC,UAAAkR,SAAS,EAAI;QAC5CA,SAAS,CAACrY,gBAAd,EAAgC;;;;;IAKhC0C,YAAY,CAAC+B,GAAb,CAAiB1B,MAAjB,EAAyB7C,OAAK,CAAC+S,MAA/B,EAAuC,YAAM;UACvCpW,SAAS,CAAC,OAAD,CAAb,EAAqB;QACnB,OAAI,CAAC6M,KAAL;;KAFJ;GANF;MAaItL,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAaoE,MAAb,EAAqByD,UAArB,CAAX;;MACI,CAACpI,IAAL,EAAW;QACHvC,MAAM,sBACPsO,WAAW,CAACG,iBAAZ,CAA8BvH,MAA9B,CADO,MAEPoH,WAAW,CAACG,iBAAZ,CAA8B,IAA9B,CAFO,CAAZ;;IAKAlM,IAAI,GAAG,IAAI4c,KAAJ,CAAUjY,MAAV,EAAkBlH,MAAlB,CAAP;;;EAGFuC,IAAI,CAACiW,IAAL,CAAU,IAAV;CA9BF;AAiCA,IAAMpT,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAa0U,KAAK,CAAC7S,eAAnB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBuS,KAAzB;;EACA/Z,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOwS,KAAK,CAAC7S,eAAb;GAFF;;;ACrlBF;;;;;;AAOA,AAEA,IAAM8V,QAAQ,GAAG,CACf,YADe,EAEf,MAFe,EAGf,MAHe,EAIf,UAJe,EAKf,UALe,EAMf,QANe,EAOf,KAPe,EAQf,YARe,CAAjB;AAWA,IAAMC,sBAAsB,GAAG,gBAA/B;;;;;;;AAOA,IAAMC,gBAAgB,GAAG,6DAAzB;;;;;;;AAOA,IAAMC,gBAAgB,GAAG,qIAAzB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,oBAAP,EAAgC;MACjDC,QAAQ,GAAGF,IAAI,CAACG,QAAL,CAAcvlB,WAAd,EAAjB;;MAEIqlB,oBAAoB,CAACxa,OAArB,CAA6Bya,QAA7B,MAA2C,CAAC,CAAhD,EAAmD;QAC7CP,QAAQ,CAACla,OAAT,CAAiBya,QAAjB,MAA+B,CAAC,CAApC,EAAuC;aAC9B1d,OAAO,CAACwd,IAAI,CAACI,SAAL,CAAezlB,KAAf,CAAqBklB,gBAArB,KAA0CG,IAAI,CAACI,SAAL,CAAezlB,KAAf,CAAqBmlB,gBAArB,CAA3C,CAAd;;;WAGK,IAAP;;;MAGIO,MAAM,GAAGJ,oBAAoB,CAAC5Y,MAArB,CAA4B,UAAAiZ,SAAS;WAAIA,SAAS,YAAYtiB,MAAzB;GAArC,CAAf,CAXuD;;OAclD,IAAI0G,CAAC,GAAG,CAAR,EAAW6b,CAAC,GAAGF,MAAM,CAAC1b,MAA3B,EAAmCD,CAAC,GAAG6b,CAAvC,EAA0C7b,CAAC,EAA3C,EAA+C;QACzCwb,QAAQ,CAACvlB,KAAT,CAAe0lB,MAAM,CAAC3b,CAAD,CAArB,CAAJ,EAA+B;aACtB,IAAP;;;;SAIG,KAAP;CApBF;;AAuBA,AAAO,IAAM8b,gBAAgB,GAAG;;OAEzB,CAAC,OAAD,EAAU,KAAV,EAAiB,IAAjB,EAAuB,MAAvB,EAA+B,MAA/B,EAAuCZ,sBAAvC,CAFyB;EAG9Ba,CAAC,EAAE,CAAC,QAAD,EAAW,MAAX,EAAmB,OAAnB,EAA4B,KAA5B,CAH2B;EAI9BC,IAAI,EAAE,EAJwB;EAK9BC,CAAC,EAAE,EAL2B;EAM9BC,EAAE,EAAE,EAN0B;EAO9BC,GAAG,EAAE,EAPyB;EAQ9BC,IAAI,EAAE,EARwB;EAS9BC,GAAG,EAAE,EATyB;EAU9BC,EAAE,EAAE,EAV0B;EAW9BC,EAAE,EAAE,EAX0B;EAY9BC,EAAE,EAAE,EAZ0B;EAa9BC,EAAE,EAAE,EAb0B;EAc9BC,EAAE,EAAE,EAd0B;EAe9BC,EAAE,EAAE,EAf0B;EAgB9BC,EAAE,EAAE,EAhB0B;EAiB9BC,EAAE,EAAE,EAjB0B;EAkB9B7c,CAAC,EAAE,EAlB2B;EAmB9B8c,GAAG,EAAE,CAAC,KAAD,EAAQ,KAAR,EAAe,OAAf,EAAwB,OAAxB,EAAiC,QAAjC,CAnByB;EAoB9BC,EAAE,EAAE,EApB0B;EAqB9BC,EAAE,EAAE,EArB0B;EAsB9BC,CAAC,EAAE,EAtB2B;EAuB9BC,GAAG,EAAE,EAvByB;EAwB9BC,CAAC,EAAE,EAxB2B;EAyB9BC,KAAK,EAAE,EAzBuB;EA0B9BC,IAAI,EAAE,EA1BwB;EA2B9BC,GAAG,EAAE,EA3ByB;EA4B9BC,GAAG,EAAE,EA5ByB;EA6B9BC,MAAM,EAAE,EA7BsB;EA8B9BC,CAAC,EAAE,EA9B2B;EA+B9BC,EAAE,EAAE;CA/BC;AAkCP,AAAO,SAASC,YAAT,CAAsBC,UAAtB,EAAkCC,SAAlC,EAA6CC,UAA7C,EAAyD;MAC1D,CAACF,UAAU,CAAC3d,MAAhB,EAAwB;WACf2d,UAAP;;;MAGEE,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;WAC3CA,UAAU,CAACF,UAAD,CAAjB;;;MAGIG,SAAS,GAAG,IAAI5mB,MAAM,CAAC6mB,SAAX,EAAlB;MACMC,eAAe,GAAGF,SAAS,CAACG,eAAV,CAA0BN,UAA1B,EAAsC,WAAtC,CAAxB;MACMO,aAAa,GAAGplB,MAAM,CAACC,IAAP,CAAY6kB,SAAZ,CAAtB;MACMO,QAAQ,GAAG1kB,SAAS,CAACukB,eAAe,CAACpjB,IAAhB,CAAqBqB,gBAArB,CAAsC,GAAtC,CAAD,CAA1B;;6BAES8D,CAdqD,EAc9CM,GAd8C;QAetD+d,EAAE,GAAGD,QAAQ,CAACpe,CAAD,CAAnB;QACMse,MAAM,GAAGD,EAAE,CAAC5C,QAAH,CAAYvlB,WAAZ,EAAf;;QAEIioB,aAAa,CAACpd,OAAd,CAAsBud,MAAtB,MAAkC,CAAC,CAAvC,EAA0C;MACxCD,EAAE,CAACtkB,UAAH,CAAcmL,WAAd,CAA0BmZ,EAA1B;;;;QAKIE,aAAa,GAAG7kB,SAAS,CAAC2kB,EAAE,CAAC9W,UAAJ,CAA/B;QACMiX,qBAAqB,GAAG,GAAGC,MAAH,CAAUZ,SAAS,CAAC,GAAD,CAAT,IAAkB,EAA5B,EAAgCA,SAAS,CAACS,MAAD,CAAT,IAAqB,EAArD,CAA9B;IAEAC,aAAa,CAACtlB,OAAd,CAAsB,UAAAqiB,IAAI,EAAI;UACxB,CAACD,gBAAgB,CAACC,IAAD,EAAOkD,qBAAP,CAArB,EAAoD;QAClDH,EAAE,CAACrgB,eAAH,CAAmBsd,IAAI,CAACG,QAAxB;;KAFJ;;;OAbG,IAAIzb,CAAC,GAAG,CAAR,EAAWM,GAAG,GAAG8d,QAAQ,CAACne,MAA/B,EAAuCD,CAAC,GAAGM,GAA3C,EAAgDN,CAAC,EAAjD,EAAqD;qBAA5CA,CAA4C,AAAA;;6BAOjD;;;SAaGie,eAAe,CAACpjB,IAAhB,CAAqB6jB,SAA5B;;;AClGF;;;;;;AAMA,IAAMpb,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMmb,YAAY,GAAG,YAArB;AACA,IAAMC,kBAAkB,GAAG,IAAItlB,MAAJ,aAAqBqlB,YAArB,WAAyC,GAAzC,CAA3B;AACA,IAAME,qBAAqB,GAAG,CAAC,UAAD,EAAa,WAAb,EAA0B,YAA1B,CAA9B;AAEA,IAAM5V,aAAW,GAAG;EAClB6V,SAAS,EAAE,SADO;EAElBC,QAAQ,EAAE,QAFQ;EAGlBC,KAAK,EAAE,2BAHW;EAIlBhd,OAAO,EAAE,QAJS;EAKlBid,KAAK,EAAE,iBALW;EAMlBC,IAAI,EAAE,SANY;EAOlBvoB,QAAQ,EAAE,kBAPQ;EAQlBsf,SAAS,EAAE,mBARO;EASlBvO,MAAM,EAAE,0BATU;EAUlB8J,SAAS,EAAE,0BAVO;EAWlB2N,iBAAiB,EAAE,gBAXD;EAYlB3K,QAAQ,EAAE,kBAZQ;EAalB4K,QAAQ,EAAE,SAbQ;EAclBtB,UAAU,EAAE,iBAdM;EAelBD,SAAS,EAAE,QAfO;EAgBlBnJ,YAAY,EAAE;CAhBhB;AAmBA,IAAMV,eAAa,GAAG;EACpBqL,IAAI,EAAE,MADc;EAEpBpL,GAAG,EAAE,KAFe;EAGpB3K,KAAK,EAAE,OAHa;EAIpB6K,MAAM,EAAE,QAJY;EAKpB9K,IAAI,EAAE;CALR;AAQA,IAAMX,SAAO,GAAG;EACdoW,SAAS,EAAE,IADG;EAEdC,QAAQ,EAAE,yCACQ,mCADR,GAEQ,yCAJJ;EAKd/c,OAAO,EAAE,aALK;EAMdgd,KAAK,EAAE,EANO;EAOdC,KAAK,EAAE,CAPO;EAQdC,IAAI,EAAE,KARQ;EASdvoB,QAAQ,EAAE,KATI;EAUdsf,SAAS,EAAE,KAVG;EAWdvO,MAAM,EAAE,CAXM;EAYd8J,SAAS,EAAE,KAZG;EAad2N,iBAAiB,EAAE,MAbL;EAcd3K,QAAQ,EAAE,cAdI;EAed4K,QAAQ,EAAE,IAfI;EAgBdtB,UAAU,EAAE,IAhBE;EAiBdD,SAAS,EAAE/B,gBAjBG;EAkBdpH,YAAY,EAAE;CAlBhB;AAqBA,IAAM4K,UAAU,GAAG;EACjBnb,IAAI,EAAE,MADW;EAEjBob,GAAG,EAAE;CAFP;AAKA,IAAMriB,OAAK,GAAG;EACZ8S,IAAI,WAASvM,WADD;EAEZwM,MAAM,aAAWxM,WAFL;EAGZU,IAAI,WAASV,WAHD;EAIZsM,KAAK,YAAUtM,WAJH;EAKZ+b,QAAQ,eAAa/b,WALT;EAMZ0P,KAAK,YAAU1P,WANH;EAOZwT,OAAO,cAAYxT,WAPP;EAQZgc,QAAQ,eAAahc,WART;EASZiG,UAAU,iBAAejG,WATb;EAUZkG,UAAU,iBAAelG;CAV3B;AAaA,IAAMO,WAAS,GAAG;EAChBE,IAAI,EAAE,MADU;EAEhBC,IAAI,EAAE;CAFR;AAKA,IAAMR,UAAQ,GAAG;EACf+b,aAAa,EAAE;CADjB;AAIA,IAAMC,OAAO,GAAG;EACdC,KAAK,EAAE,OADO;EAEd/Z,KAAK,EAAE,OAFO;EAGdsN,KAAK,EAAE,OAHO;EAId0M,MAAM,EAAE;;;;;;;CAJV;;IAaMC;;;mBACQppB,OAAZ,EAAqBmC,MAArB,EAA6B;QACvB,OAAOyc,MAAP,KAAkB,WAAtB,EAAmC;YAC3B,IAAI5F,SAAJ,CAAc,iEAAd,CAAN;KAFyB;;;SAMtBqQ,UAAL,GAAkB,IAAlB;SACKC,QAAL,GAAgB,CAAhB;SACKC,WAAL,GAAmB,EAAnB;SACKC,cAAL,GAAsB,EAAtB;SACKtL,OAAL,GAAe,IAAf,CAV2B;;SAatBle,OAAL,GAAeA,OAAf;SACKmC,MAAL,GAAc,KAAK4S,UAAL,CAAgB5S,MAAhB,CAAd;SACKsnB,GAAL,GAAW,IAAX;;SAEKC,aAAL;;IACA5kB,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB,KAAKof,WAAL,CAAiBtS,QAAvC,EAAiD,IAAjD;;;;;;;SAmCF6c,SAAA,kBAAS;SACFN,UAAL,GAAkB,IAAlB;;;SAGFO,UAAA,mBAAU;SACHP,UAAL,GAAkB,KAAlB;;;SAGFQ,gBAAA,yBAAgB;SACTR,UAAL,GAAkB,CAAC,KAAKA,UAAxB;;;SAGF3Z,SAAA,gBAAOpH,KAAP,EAAc;QACR,CAAC,KAAK+gB,UAAV,EAAsB;;;;QAIlB/gB,KAAJ,EAAW;UACHwhB,OAAO,GAAG,KAAK1K,WAAL,CAAiBtS,QAAjC;UACImT,OAAO,GAAGnb,IAAI,CAACG,OAAL,CAAaqD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,CAAd;;UAEI,CAAC7J,OAAL,EAAc;QACZA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR9W,KAAK,CAACK,cADE,EAER,KAAKohB,kBAAL,EAFQ,CAAV;QAIAjlB,IAAI,CAACC,OAAL,CAAauD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,EAA4C7J,OAA5C;;;MAGFA,OAAO,CAACuJ,cAAR,CAAuBQ,KAAvB,GAA+B,CAAC/J,OAAO,CAACuJ,cAAR,CAAuBQ,KAAvD;;UAEI/J,OAAO,CAACgK,oBAAR,EAAJ,EAAoC;QAClChK,OAAO,CAACiK,MAAR,CAAe,IAAf,EAAqBjK,OAArB;OADF,MAEO;QACLA,OAAO,CAACkK,MAAR,CAAe,IAAf,EAAqBlK,OAArB;;KAjBJ,MAmBO;UACD,KAAKmK,aAAL,GAAqBhc,SAArB,CAA+BE,QAA/B,CAAwChB,WAAS,CAACG,IAAlD,CAAJ,EAA6D;aACtD0c,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;;;;WAIGD,MAAL,CAAY,IAAZ,EAAkB,IAAlB;;;;SAIJhc,UAAA,mBAAU;IACR+I,YAAY,CAAC,KAAKqS,QAAN,CAAZ;IAEAxkB,IAAI,CAACI,UAAL,CAAgB,KAAKlF,OAArB,EAA8B,KAAKof,WAAL,CAAiBtS,QAA/C;IAEA9D,YAAY,CAACC,GAAb,CAAiB,KAAKjJ,OAAtB,EAA+B,KAAKof,WAAL,CAAiBrS,SAAhD;IACA/D,YAAY,CAACC,GAAb,CAAiB6C,cAAc,CAACxG,OAAf,CAAuB,KAAKtF,OAA5B,EAAqC,QAArC,CAAjB,EAAiE,eAAjE,EAAkF,KAAKqqB,iBAAvF;;QAEI,KAAKZ,GAAT,EAAc;WACPA,GAAL,CAASpmB,UAAT,CAAoBmL,WAApB,CAAgC,KAAKib,GAArC;;;SAGGJ,UAAL,GAAkB,IAAlB;SACKC,QAAL,GAAgB,IAAhB;SACKC,WAAL,GAAmB,IAAnB;SACKC,cAAL,GAAsB,IAAtB;;QACI,KAAKtL,OAAT,EAAkB;WACXA,OAAL,CAAac,OAAb;;;SAGGd,OAAL,GAAe,IAAf;SACKle,OAAL,GAAe,IAAf;SACKmC,MAAL,GAAc,IAAd;SACKsnB,GAAL,GAAW,IAAX;;;SAGF9O,OAAA,gBAAO;;;QACD,KAAK3a,OAAL,CAAaoD,KAAb,CAAmBE,OAAnB,KAA+B,MAAnC,EAA2C;YACnC,IAAIR,KAAJ,CAAU,qCAAV,CAAN;;;QAGE,KAAKwnB,aAAL,MAAwB,KAAKjB,UAAjC,EAA6C;UACrC1K,SAAS,GAAG3V,YAAY,CAACsC,OAAb,CAAqB,KAAKtL,OAA1B,EAAmC,KAAKof,WAAL,CAAiB5Y,KAAjB,CAAuBiH,IAA1D,CAAlB;UACM8c,UAAU,GAAG/mB,cAAc,CAAC,KAAKxD,OAAN,CAAjC;UACMwqB,UAAU,GAAGD,UAAU,KAAK,IAAf,GACjB,KAAKvqB,OAAL,CAAayqB,aAAb,CAA2BhnB,eAA3B,CAA2C6K,QAA3C,CAAoD,KAAKtO,OAAzD,CADiB,GAEjBuqB,UAAU,CAACjc,QAAX,CAAoB,KAAKtO,OAAzB,CAFF;;UAII2e,SAAS,CAACrY,gBAAV,IAA8B,CAACkkB,UAAnC,EAA+C;;;;UAIzCf,GAAG,GAAG,KAAKW,aAAL,EAAZ;UACMM,KAAK,GAAGjrB,MAAM,CAAC,KAAK2f,WAAL,CAAiBxS,IAAlB,CAApB;MAEA6c,GAAG,CAACxZ,YAAJ,CAAiB,IAAjB,EAAuBya,KAAvB;WACK1qB,OAAL,CAAaiQ,YAAb,CAA0B,kBAA1B,EAA8Cya,KAA9C;WAEKC,UAAL;;UAEI,KAAKxoB,MAAL,CAAYimB,SAAhB,EAA2B;QACzBqB,GAAG,CAACrb,SAAJ,CAAc+B,GAAd,CAAkB7C,WAAS,CAACE,IAA5B;;;UAGI+R,SAAS,GAAG,OAAO,KAAKpd,MAAL,CAAYod,SAAnB,KAAiC,UAAjC,GAChB,KAAKpd,MAAL,CAAYod,SAAZ,CAAsBjgB,IAAtB,CAA2B,IAA3B,EAAiCmqB,GAAjC,EAAsC,KAAKzpB,OAA3C,CADgB,GAEhB,KAAKmC,MAAL,CAAYod,SAFd;;UAIMqL,UAAU,GAAG,KAAKC,cAAL,CAAoBtL,SAApB,CAAnB;;WACKuL,mBAAL,CAAyBF,UAAzB;;UAEM9P,SAAS,GAAG,KAAKiQ,aAAL,EAAlB;;MACAjmB,IAAI,CAACC,OAAL,CAAa0kB,GAAb,EAAkB,KAAKrK,WAAL,CAAiBtS,QAAnC,EAA6C,IAA7C;;UAEI,CAAC,KAAK9M,OAAL,CAAayqB,aAAb,CAA2BhnB,eAA3B,CAA2C6K,QAA3C,CAAoD,KAAKmb,GAAzD,CAAL,EAAoE;QAClE3O,SAAS,CAAC2H,WAAV,CAAsBgH,GAAtB;;;MAGFzgB,YAAY,CAACsC,OAAb,CAAqB,KAAKtL,OAA1B,EAAmC,KAAKof,WAAL,CAAiB5Y,KAAjB,CAAuBsiB,QAA1D;WAEK5K,OAAL,GAAe,IAAIU,MAAJ,CAAW,KAAK5e,OAAhB,EAAyBypB,GAAzB,EAA8B,KAAK3K,gBAAL,CAAsB8L,UAAtB,CAA9B,CAAf;MAEAnB,GAAG,CAACrb,SAAJ,CAAc+B,GAAd,CAAkB7C,WAAS,CAACG,IAA5B,EAzC2C;;;;;UA+CvC,kBAAkB5N,QAAQ,CAAC4D,eAA/B,EAAgD;QAC9CT,SAAS,CAACnD,QAAQ,CAACsE,IAAT,CAAc6H,QAAf,CAAT,CAAkCzJ,OAAlC,CAA0C,UAAAvC,OAAO,EAAI;UACnDgJ,YAAY,CAAC8B,EAAb,CAAgB9K,OAAhB,EAAyB,WAAzB,EAAsC8D,IAAI,EAA1C;SADF;;;UAKIwX,QAAQ,GAAG,SAAXA,QAAW,GAAM;YACjB,KAAI,CAACnZ,MAAL,CAAYimB,SAAhB,EAA2B;UACzB,KAAI,CAAC4C,cAAL;;;YAGIC,cAAc,GAAG,KAAI,CAAC1B,WAA5B;QACA,KAAI,CAACA,WAAL,GAAmB,IAAnB;QAEAvgB,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACtL,OAA1B,EAAmC,KAAI,CAACof,WAAL,CAAiB5Y,KAAjB,CAAuB6S,KAA1D;;YAEI4R,cAAc,KAAKrC,UAAU,CAACC,GAAlC,EAAuC;UACrC,KAAI,CAACsB,MAAL,CAAY,IAAZ,EAAkB,KAAlB;;OAXJ;;UAeI,KAAKV,GAAL,CAASrb,SAAT,CAAmBE,QAAnB,CAA4BhB,WAAS,CAACE,IAAtC,CAAJ,EAAiD;YACzC7M,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKipB,GAAN,CAA3D;QACAzgB,YAAY,CAAC+B,GAAb,CAAiB,KAAK0e,GAAtB,EAA2BvqB,cAA3B,EAA2Coc,QAA3C;QACA9Z,oBAAoB,CAAC,KAAKioB,GAAN,EAAW9oB,kBAAX,CAApB;OAHF,MAIO;QACL2a,QAAQ;;;;;SAKdZ,OAAA,gBAAO;;;QACC+O,GAAG,GAAG,KAAKW,aAAL,EAAZ;;QACM9O,QAAQ,GAAG,SAAXA,QAAW,GAAM;UACjB,MAAI,CAACiO,WAAL,KAAqBX,UAAU,CAACnb,IAAhC,IAAwCgc,GAAG,CAACpmB,UAAhD,EAA4D;QAC1DomB,GAAG,CAACpmB,UAAJ,CAAemL,WAAf,CAA2Bib,GAA3B;;;MAGF,MAAI,CAACyB,cAAL;;MACA,MAAI,CAAClrB,OAAL,CAAasH,eAAb,CAA6B,kBAA7B;;MACA0B,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACtL,OAA1B,EAAmC,MAAI,CAACof,WAAL,CAAiB5Y,KAAjB,CAAuB+S,MAA1D;;MACA,MAAI,CAAC2E,OAAL,CAAac,OAAb;KARF;;QAWMD,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqB,KAAKtL,OAA1B,EAAmC,KAAKof,WAAL,CAAiB5Y,KAAjB,CAAuB8S,IAA1D,CAAlB;;QACIyF,SAAS,CAACzY,gBAAd,EAAgC;;;;IAIhCmjB,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACG,IAA/B,EAlBK;;;QAsBD,kBAAkB5N,QAAQ,CAAC4D,eAA/B,EAAgD;MAC9CT,SAAS,CAACnD,QAAQ,CAACsE,IAAT,CAAc6H,QAAf,CAAT,CACGzJ,OADH,CACW,UAAAvC,OAAO;eAAIgJ,YAAY,CAACC,GAAb,CAAiBjJ,OAAjB,EAA0B,WAA1B,EAAuC8D,IAAvC,CAAJ;OADlB;;;SAIG0lB,cAAL,CAAoBP,OAAO,CAACxM,KAA5B,IAAqC,KAArC;SACK+M,cAAL,CAAoBP,OAAO,CAAC9Z,KAA5B,IAAqC,KAArC;SACKqa,cAAL,CAAoBP,OAAO,CAACC,KAA5B,IAAqC,KAArC;;QAEI,KAAKO,GAAL,CAASrb,SAAT,CAAmBE,QAAnB,CAA4BhB,WAAS,CAACE,IAAtC,CAAJ,EAAiD;UACzC7M,kBAAkB,GAAGH,gCAAgC,CAACipB,GAAD,CAA3D;MAEAzgB,YAAY,CAAC+B,GAAb,CAAiB0e,GAAjB,EAAsBvqB,cAAtB,EAAsCoc,QAAtC;MACA9Z,oBAAoB,CAACioB,GAAD,EAAM9oB,kBAAN,CAApB;KAJF,MAKO;MACL2a,QAAQ;;;SAGLiO,WAAL,GAAmB,EAAnB;;;SAGFtK,SAAA,kBAAS;QACH,KAAKf,OAAL,KAAiB,IAArB,EAA2B;WACpBA,OAAL,CAAagB,cAAb;;;;;SAMJoL,gBAAA,yBAAgB;WACPljB,OAAO,CAAC,KAAK+jB,QAAL,EAAD,CAAd;;;SAGFf,gBAAA,yBAAgB;QACV,KAAKX,GAAT,EAAc;aACL,KAAKA,GAAZ;;;QAGIzpB,OAAO,GAAGH,QAAQ,CAAC+G,aAAT,CAAuB,KAAvB,CAAhB;IACA5G,OAAO,CAACgoB,SAAR,GAAoB,KAAK7lB,MAAL,CAAYkmB,QAAhC;SAEKoB,GAAL,GAAWzpB,OAAO,CAACgM,QAAR,CAAiB,CAAjB,CAAX;WACO,KAAKyd,GAAZ;;;SAGFkB,aAAA,sBAAa;QACLlB,GAAG,GAAG,KAAKW,aAAL,EAAZ;SACKgB,iBAAL,CAAuBtf,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC+b,aAAhC,EAA+CS,GAA/C,CAAvB,EAA4E,KAAK0B,QAAL,EAA5E;IACA1B,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACE,IAA/B;IACAic,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACG,IAA/B;;;SAGF2d,oBAAA,2BAAkBprB,OAAlB,EAA2BqrB,OAA3B,EAAoC;QAC9BrrB,OAAO,KAAK,IAAhB,EAAsB;;;;QAIlB,OAAOqrB,OAAP,KAAmB,QAAnB,IAA+B/pB,SAAS,CAAC+pB,OAAD,CAA5C,EAAuD;UACjDA,OAAO,CAACzP,MAAZ,EAAoB;QAClByP,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;OAFmD;;;UAMjD,KAAKlpB,MAAL,CAAYqmB,IAAhB,EAAsB;YAChB6C,OAAO,CAAChoB,UAAR,KAAuBrD,OAA3B,EAAoC;UAClCA,OAAO,CAACgoB,SAAR,GAAoB,EAApB;UACAhoB,OAAO,CAACyiB,WAAR,CAAoB4I,OAApB;;OAHJ,MAKO;QACLrrB,OAAO,CAACsrB,SAAR,GAAoBD,OAAO,CAACE,WAA5B;;;;;;QAMA,KAAKppB,MAAL,CAAYqmB,IAAhB,EAAsB;UAChB,KAAKrmB,MAAL,CAAYumB,QAAhB,EAA0B;QACxB2C,OAAO,GAAGpE,YAAY,CAACoE,OAAD,EAAU,KAAKlpB,MAAL,CAAYglB,SAAtB,EAAiC,KAAKhlB,MAAL,CAAYilB,UAA7C,CAAtB;;;MAGFpnB,OAAO,CAACgoB,SAAR,GAAoBqD,OAApB;KALF,MAMO;MACLrrB,OAAO,CAACsrB,SAAR,GAAoBD,OAApB;;;;SAIJF,WAAA,oBAAW;QACL7C,KAAK,GAAG,KAAKtoB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAZ;;QAEI,CAACooB,KAAL,EAAY;MACVA,KAAK,GAAG,OAAO,KAAKnmB,MAAL,CAAYmmB,KAAnB,KAA6B,UAA7B,GACN,KAAKnmB,MAAL,CAAYmmB,KAAZ,CAAkBhpB,IAAlB,CAAuB,KAAKU,OAA5B,CADM,GAEN,KAAKmC,MAAL,CAAYmmB,KAFd;;;WAKKA,KAAP;;;;SAKFxJ,mBAAA,0BAAiB8L,UAAjB,EAA6B;;;QACrBY,eAAe,GAAG;MACtBjM,SAAS,EAAEqL,UADW;MAEtBlL,SAAS,EAAE;QACT1O,MAAM,EAAE,KAAKwO,UAAL,EADC;QAET3B,IAAI,EAAE;UACJ4N,QAAQ,EAAE,KAAKtpB,MAAL,CAAYsmB;SAHf;QAKTiD,KAAK,EAAE;UACL1rB,OAAO,QAAM,KAAKof,WAAL,CAAiBxS,IAAvB;SANA;QAQTgT,eAAe,EAAE;UACfC,iBAAiB,EAAE,KAAK1d,MAAL,CAAY2b;;OAXb;MActB6N,QAAQ,EAAE,kBAAAjnB,IAAI,EAAI;YACZA,IAAI,CAACknB,iBAAL,KAA2BlnB,IAAI,CAAC6a,SAApC,EAA+C;UAC7C,MAAI,CAACsM,4BAAL,CAAkCnnB,IAAlC;;OAhBkB;MAmBtBonB,QAAQ,EAAE,kBAAApnB,IAAI;eAAI,MAAI,CAACmnB,4BAAL,CAAkCnnB,IAAlC,CAAJ;;KAnBhB;8BAuBK8mB,eADL,MAEK,KAAKrpB,MAAL,CAAY6b,YAFjB;;;SAMF8M,sBAAA,6BAAoBF,UAApB,EAAgC;SACzBR,aAAL,GAAqBhc,SAArB,CAA+B+B,GAA/B,CAAsC8X,YAAtC,SAAsD2C,UAAtD;;;SAGFpL,aAAA,sBAAa;;;QACLxO,MAAM,GAAG,EAAf;;QAEI,OAAO,KAAK7O,MAAL,CAAY6O,MAAnB,KAA8B,UAAlC,EAA8C;MAC5CA,MAAM,CAACnI,EAAP,GAAY,UAAAnE,IAAI,EAAI;QAClBA,IAAI,CAAC+a,OAAL,sBACK/a,IAAI,CAAC+a,OADV,MAEK,MAAI,CAACtd,MAAL,CAAY6O,MAAZ,CAAmBtM,IAAI,CAAC+a,OAAxB,EAAiC,MAAI,CAACzf,OAAtC,KAAkD,EAFvD;eAKO0E,IAAP;OANF;KADF,MASO;MACLsM,MAAM,CAACA,MAAP,GAAgB,KAAK7O,MAAL,CAAY6O,MAA5B;;;WAGKA,MAAP;;;SAGF+Z,gBAAA,yBAAgB;QACV,KAAK5oB,MAAL,CAAY2Y,SAAZ,KAA0B,KAA9B,EAAqC;aAC5Bjb,QAAQ,CAACsE,IAAhB;;;QAGE7C,SAAS,CAAC,KAAKa,MAAL,CAAY2Y,SAAb,CAAb,EAAsC;aAC7B,KAAK3Y,MAAL,CAAY2Y,SAAnB;;;WAGKhP,cAAc,CAACrG,OAAf,CAAuB,KAAKtD,MAAL,CAAY2Y,SAAnC,CAAP;;;SAGF+P,iBAAA,wBAAetL,SAAf,EAA0B;WACjBjC,eAAa,CAACiC,SAAS,CAACxc,WAAV,EAAD,CAApB;;;SAGF2mB,gBAAA,yBAAgB;;;QACRqC,QAAQ,GAAG,KAAK5pB,MAAL,CAAYmJ,OAAZ,CAAoBtK,KAApB,CAA0B,GAA1B,CAAjB;IAEA+qB,QAAQ,CAACxpB,OAAT,CAAiB,UAAA+I,OAAO,EAAI;UACtBA,OAAO,KAAK,OAAhB,EAAyB;QACvBtC,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC9K,OAArB,EACE,MAAI,CAACof,WAAL,CAAiB5Y,KAAjB,CAAuBiW,KADzB,EAEE,MAAI,CAACta,MAAL,CAAYlC,QAFd,EAGE,UAAAqI,KAAK;iBAAI,MAAI,CAACoH,MAAL,CAAYpH,KAAZ,CAAJ;SAHP;OADF,MAMO,IAAIgD,OAAO,KAAK2d,OAAO,CAACE,MAAxB,EAAgC;YAC/B6C,OAAO,GAAG1gB,OAAO,KAAK2d,OAAO,CAACC,KAApB,GACd,MAAI,CAAC9J,WAAL,CAAiB5Y,KAAjB,CAAuBwM,UADT,GAEd,MAAI,CAACoM,WAAL,CAAiB5Y,KAAjB,CAAuB+Z,OAFzB;YAGM0L,QAAQ,GAAG3gB,OAAO,KAAK2d,OAAO,CAACC,KAApB,GACf,MAAI,CAAC9J,WAAL,CAAiB5Y,KAAjB,CAAuByM,UADR,GAEf,MAAI,CAACmM,WAAL,CAAiB5Y,KAAjB,CAAuBuiB,QAFzB;QAIA/f,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC9K,OAArB,EACEgsB,OADF,EAEE,MAAI,CAAC7pB,MAAL,CAAYlC,QAFd,EAGE,UAAAqI,KAAK;iBAAI,MAAI,CAAC4hB,MAAL,CAAY5hB,KAAZ,CAAJ;SAHP;QAKAU,YAAY,CAAC8B,EAAb,CAAgB,MAAI,CAAC9K,OAArB,EACEisB,QADF,EAEE,MAAI,CAAC9pB,MAAL,CAAYlC,QAFd,EAGE,UAAAqI,KAAK;iBAAI,MAAI,CAAC6hB,MAAL,CAAY7hB,KAAZ,CAAJ;SAHP;;KApBJ;;SA4BK+hB,iBAAL,GAAyB,YAAM;UACzB,MAAI,CAACrqB,OAAT,EAAkB;QAChB,MAAI,CAAC0a,IAAL;;KAFJ;;IAMA1R,YAAY,CAAC8B,EAAb,CAAgBgB,cAAc,CAACxG,OAAf,CAAuB,KAAKtF,OAA5B,EAAqC,QAArC,CAAhB,EACE,eADF,EAEE,KAAKqqB,iBAFP;;QAKI,KAAKloB,MAAL,CAAYlC,QAAhB,EAA0B;WACnBkC,MAAL,sBACK,KAAKA,MADV;QAEEmJ,OAAO,EAAE,QAFX;QAGErL,QAAQ,EAAE;;KAJd,MAMO;WACAisB,SAAL;;;;SAIJA,YAAA,qBAAY;QACJC,SAAS,GAAG,OAAO,KAAKnsB,OAAL,CAAaE,YAAb,CAA0B,qBAA1B,CAAzB;;QAEI,KAAKF,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsCisB,SAAS,KAAK,QAAxD,EAAkE;WAC3DnsB,OAAL,CAAaiQ,YAAb,CACE,qBADF,EAEE,KAAKjQ,OAAL,CAAaE,YAAb,CAA0B,OAA1B,KAAsC,EAFxC;WAKKF,OAAL,CAAaiQ,YAAb,CAA0B,OAA1B,EAAmC,EAAnC;;;;SAIJia,SAAA,gBAAO5hB,KAAP,EAAc2X,OAAd,EAAuB;QACf6J,OAAO,GAAG,KAAK1K,WAAL,CAAiBtS,QAAjC;IACAmT,OAAO,GAAGA,OAAO,IAAInb,IAAI,CAACG,OAAL,CAAaqD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,CAArB;;QAEI,CAAC7J,OAAL,EAAc;MACZA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR9W,KAAK,CAACK,cADE,EAER,KAAKohB,kBAAL,EAFQ,CAAV;MAIAjlB,IAAI,CAACC,OAAL,CAAauD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,EAA4C7J,OAA5C;;;QAGE3X,KAAJ,EAAW;MACT2X,OAAO,CAACuJ,cAAR,CACElhB,KAAK,CAACE,IAAN,KAAe,SAAf,GAA2BygB,OAAO,CAAC9Z,KAAnC,GAA2C8Z,OAAO,CAACC,KADrD,IAEI,IAFJ;;;QAKEjJ,OAAO,CAACmK,aAAR,GAAwBhc,SAAxB,CAAkCE,QAAlC,CAA2ChB,WAAS,CAACG,IAArD,KACAwS,OAAO,CAACsJ,WAAR,KAAwBX,UAAU,CAACnb,IADvC,EAC6C;MAC3CwS,OAAO,CAACsJ,WAAR,GAAsBX,UAAU,CAACnb,IAAjC;;;;IAIFwJ,YAAY,CAACgJ,OAAO,CAACqJ,QAAT,CAAZ;IAEArJ,OAAO,CAACsJ,WAAR,GAAsBX,UAAU,CAACnb,IAAjC;;QAEI,CAACwS,OAAO,CAAC9d,MAAR,CAAeomB,KAAhB,IAAyB,CAACtI,OAAO,CAAC9d,MAAR,CAAeomB,KAAf,CAAqB5N,IAAnD,EAAyD;MACvDsF,OAAO,CAACtF,IAAR;;;;IAIFsF,OAAO,CAACqJ,QAAR,GAAmBtnB,UAAU,CAAC,YAAM;UAC9Bie,OAAO,CAACsJ,WAAR,KAAwBX,UAAU,CAACnb,IAAvC,EAA6C;QAC3CwS,OAAO,CAACtF,IAAR;;KAFyB,EAI1BsF,OAAO,CAAC9d,MAAR,CAAeomB,KAAf,CAAqB5N,IAJK,CAA7B;;;SAOFwP,SAAA,gBAAO7hB,KAAP,EAAc2X,OAAd,EAAuB;QACf6J,OAAO,GAAG,KAAK1K,WAAL,CAAiBtS,QAAjC;IACAmT,OAAO,GAAGA,OAAO,IAAInb,IAAI,CAACG,OAAL,CAAaqD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,CAArB;;QAEI,CAAC7J,OAAL,EAAc;MACZA,OAAO,GAAG,IAAI,KAAKb,WAAT,CACR9W,KAAK,CAACK,cADE,EAER,KAAKohB,kBAAL,EAFQ,CAAV;MAIAjlB,IAAI,CAACC,OAAL,CAAauD,KAAK,CAACK,cAAnB,EAAmCmhB,OAAnC,EAA4C7J,OAA5C;;;QAGE3X,KAAJ,EAAW;MACT2X,OAAO,CAACuJ,cAAR,CACElhB,KAAK,CAACE,IAAN,KAAe,UAAf,GAA4BygB,OAAO,CAAC9Z,KAApC,GAA4C8Z,OAAO,CAACC,KADtD,IAEI,KAFJ;;;QAKEjJ,OAAO,CAACgK,oBAAR,EAAJ,EAAoC;;;;IAIpChT,YAAY,CAACgJ,OAAO,CAACqJ,QAAT,CAAZ;IAEArJ,OAAO,CAACsJ,WAAR,GAAsBX,UAAU,CAACC,GAAjC;;QAEI,CAAC5I,OAAO,CAAC9d,MAAR,CAAeomB,KAAhB,IAAyB,CAACtI,OAAO,CAAC9d,MAAR,CAAeomB,KAAf,CAAqB7N,IAAnD,EAAyD;MACvDuF,OAAO,CAACvF,IAAR;;;;IAIFuF,OAAO,CAACqJ,QAAR,GAAmBtnB,UAAU,CAAC,YAAM;UAC9Bie,OAAO,CAACsJ,WAAR,KAAwBX,UAAU,CAACC,GAAvC,EAA4C;QAC1C5I,OAAO,CAACvF,IAAR;;KAFyB,EAI1BuF,OAAO,CAAC9d,MAAR,CAAeomB,KAAf,CAAqB7N,IAJK,CAA7B;;;SAOFuP,uBAAA,gCAAuB;SAChB,IAAM3e,OAAX,IAAsB,KAAKke,cAA3B,EAA2C;UACrC,KAAKA,cAAL,CAAoBle,OAApB,CAAJ,EAAkC;eACzB,IAAP;;;;WAIG,KAAP;;;SAGFyJ,aAAA,oBAAW5S,MAAX,EAAmB;QACXiqB,cAAc,GAAG3b,WAAW,CAACG,iBAAZ,CAA8B,KAAK5Q,OAAnC,CAAvB;IAEAqC,MAAM,CAACC,IAAP,CAAY8pB,cAAZ,EACG7pB,OADH,CACW,UAAA8pB,QAAQ,EAAI;UACflE,qBAAqB,CAAC9d,OAAtB,CAA8BgiB,QAA9B,MAA4C,CAAC,CAAjD,EAAoD;eAC3CD,cAAc,CAACC,QAAD,CAArB;;KAHN;;QAOIlqB,MAAM,IAAI,OAAOA,MAAM,CAAC2Y,SAAd,KAA4B,QAAtC,IAAkD3Y,MAAM,CAAC2Y,SAAP,CAAiBc,MAAvE,EAA+E;MAC7EzZ,MAAM,CAAC2Y,SAAP,GAAmB3Y,MAAM,CAAC2Y,SAAP,CAAiB,CAAjB,CAAnB;;;IAGF3Y,MAAM,sBACD,KAAKid,WAAL,CAAiBpN,OADhB,MAEDoa,cAFC,MAGD,OAAOjqB,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;;QAMI,OAAOA,MAAM,CAAComB,KAAd,KAAwB,QAA5B,EAAsC;MACpCpmB,MAAM,CAAComB,KAAP,GAAe;QACb5N,IAAI,EAAExY,MAAM,CAAComB,KADA;QAEb7N,IAAI,EAAEvY,MAAM,CAAComB;OAFf;;;QAME,OAAOpmB,MAAM,CAACmmB,KAAd,KAAwB,QAA5B,EAAsC;MACpCnmB,MAAM,CAACmmB,KAAP,GAAenmB,MAAM,CAACmmB,KAAP,CAAajpB,QAAb,EAAf;;;QAGE,OAAO8C,MAAM,CAACkpB,OAAd,KAA0B,QAA9B,EAAwC;MACtClpB,MAAM,CAACkpB,OAAP,GAAiBlpB,MAAM,CAACkpB,OAAP,CAAehsB,QAAf,EAAjB;;;IAGF4C,eAAe,CACb2K,MADa,EAEbzK,MAFa,EAGb,KAAKid,WAAL,CAAiB7M,WAHJ,CAAf;;QAMIpQ,MAAM,CAACumB,QAAX,EAAqB;MACnBvmB,MAAM,CAACkmB,QAAP,GAAkBpB,YAAY,CAAC9kB,MAAM,CAACkmB,QAAR,EAAkBlmB,MAAM,CAACglB,SAAzB,EAAoChlB,MAAM,CAACilB,UAA3C,CAA9B;;;WAGKjlB,MAAP;;;SAGF4nB,qBAAA,8BAAqB;QACb5nB,MAAM,GAAG,EAAf;;QAEI,KAAKA,MAAT,EAAiB;WACV,IAAMsC,GAAX,IAAkB,KAAKtC,MAAvB,EAA+B;YACzB,KAAKid,WAAL,CAAiBpN,OAAjB,CAAyBvN,GAAzB,MAAkC,KAAKtC,MAAL,CAAYsC,GAAZ,CAAtC,EAAwD;UACtDtC,MAAM,CAACsC,GAAD,CAAN,GAAc,KAAKtC,MAAL,CAAYsC,GAAZ,CAAd;;;;;WAKCtC,MAAP;;;SAGF+oB,iBAAA,0BAAiB;QACTzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;QACMkC,QAAQ,GAAG7C,GAAG,CAACvpB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgC2oB,kBAAhC,CAAjB;;QACIoE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC/iB,MAAlC,EAA0C;MACxC+iB,QAAQ,CACLC,GADH,CACO,UAAAC,KAAK;eAAIA,KAAK,CAACpsB,IAAN,EAAJ;OADZ,EAEGmC,OAFH,CAEW,UAAAkqB,MAAM;eAAIhD,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBoe,MAArB,CAAJ;OAFjB;;;;SAMJZ,+BAAA,sCAA6Ba,UAA7B,EAAyC;QACjCC,cAAc,GAAGD,UAAU,CAAC1nB,QAAlC;SACKykB,GAAL,GAAWkD,cAAc,CAACC,MAA1B;;SACK1B,cAAL;;SACKJ,mBAAL,CAAyB,KAAKD,cAAL,CAAoB6B,UAAU,CAACnN,SAA/B,CAAzB;;;SAGFyL,iBAAA,0BAAiB;QACTvB,GAAG,GAAG,KAAKW,aAAL,EAAZ;QACMyC,mBAAmB,GAAG,KAAK1qB,MAAL,CAAYimB,SAAxC;;QACIqB,GAAG,CAACvpB,YAAJ,CAAiB,aAAjB,MAAoC,IAAxC,EAA8C;;;;IAI9CupB,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACE,IAA/B;SACKrL,MAAL,CAAYimB,SAAZ,GAAwB,KAAxB;SACK1N,IAAL;SACKC,IAAL;SACKxY,MAAL,CAAYimB,SAAZ,GAAwByE,mBAAxB;;;;UAKKpe,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UACMgI,OAAO,GAAG,OAAO3S,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;UAEI,CAACuC,IAAD,IAAS,eAAe7B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;;;;UAItC,CAACuC,IAAL,EAAW;QACTA,IAAI,GAAG,IAAI0kB,OAAJ,CAAY,IAAZ,EAAkBtU,OAAlB,CAAP;;;UAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ;;KAjBG,CAAP;;;UAsBK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBAxoBmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;wBAGgB;aACTpF,MAAP;;;;wBAGoB;aACbE,UAAP;;;;wBAGiB;aACVtG,OAAP;;;;wBAGqB;aACduG,WAAP;;;;wBAGuB;aAChBwF,aAAP;;;;;;;AAmnBJ,IAAMhL,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAawc,OAAO,CAAC3a,eAArB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBqa,OAAzB;;EACA7hB,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOsa,OAAO,CAAC3a,eAAf;GAFF;;;ACxyBF;;;;;;AAMA,IAAM7B,MAAI,GAAG,SAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,YAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAMmb,cAAY,GAAG,YAArB;AACA,IAAMC,oBAAkB,GAAG,IAAItlB,MAAJ,aAAqBqlB,cAArB,WAAyC,GAAzC,CAA3B;;AAEA,IAAMjW,SAAO,sBACRoX,OAAO,CAACpX,OADA;EAEXuN,SAAS,EAAE,OAFA;EAGXjU,OAAO,EAAE,OAHE;EAIX+f,OAAO,EAAE,EAJE;EAKXhD,QAAQ,EAAE,yCACE,mCADF,GAEE,kCAFF,GAGE;EARd;;AAWA,IAAM9V,aAAW,sBACZ6W,OAAO,CAAC7W,WADI;EAEf8Y,OAAO,EAAE;EAFX;;AAKA,IAAM/d,WAAS,GAAG;EAChBE,IAAI,EAAE,MADU;EAEhBC,IAAI,EAAE;CAFR;AAKA,IAAMR,UAAQ,GAAG;EACf6f,KAAK,EAAE,iBADQ;EAEfC,OAAO,EAAE;CAFX;AAKA,IAAMvmB,OAAK,GAAG;EACZ8S,IAAI,WAASvM,WADD;EAEZwM,MAAM,aAAWxM,WAFL;EAGZU,IAAI,WAASV,WAHD;EAIZsM,KAAK,YAAUtM,WAJH;EAKZ+b,QAAQ,eAAa/b,WALT;EAMZ0P,KAAK,YAAU1P,WANH;EAOZwT,OAAO,cAAYxT,WAPP;EAQZgc,QAAQ,eAAahc,WART;EASZiG,UAAU,iBAAejG,WATb;EAUZkG,UAAU,iBAAelG;;;;;;;CAV3B;;IAmBMigB;;;;;;;;;;;;SAiCJ1C,gBAAA,yBAAgB;WACP,KAAKa,QAAL,MAAmB,KAAK8B,WAAL,EAA1B;;;SAGFtC,aAAA,sBAAa;QACLlB,GAAG,GAAG,KAAKW,aAAL,EAAZ,CADW;;SAINgB,iBAAL,CAAuBtf,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC6f,KAAhC,EAAuCrD,GAAvC,CAAvB,EAAoE,KAAK0B,QAAL,EAApE;;QACIE,OAAO,GAAG,KAAK4B,WAAL,EAAd;;QACI,OAAO5B,OAAP,KAAmB,UAAvB,EAAmC;MACjCA,OAAO,GAAGA,OAAO,CAAC/rB,IAAR,CAAa,KAAKU,OAAlB,CAAV;;;SAGGorB,iBAAL,CAAuBtf,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAAC8f,OAAhC,EAAyCtD,GAAzC,CAAvB,EAAsE4B,OAAtE;IAEA5B,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACE,IAA/B;IACAic,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBf,WAAS,CAACG,IAA/B;;;SAGFqd,sBAAA,6BAAoBF,UAApB,EAAgC;SACzBR,aAAL,GAAqBhc,SAArB,CAA+B+B,GAA/B,CAAsC8X,cAAtC,SAAsD2C,UAAtD;;;;SAKFqC,cAAA,uBAAc;WACL,KAAKjtB,OAAL,CAAaE,YAAb,CAA0B,cAA1B,KACL,KAAKiC,MAAL,CAAYkpB,OADd;;;SAIFH,iBAAA,0BAAiB;QACTzB,GAAG,GAAG,KAAKW,aAAL,EAAZ;QACMkC,QAAQ,GAAG7C,GAAG,CAACvpB,YAAJ,CAAiB,OAAjB,EAA0BX,KAA1B,CAAgC2oB,oBAAhC,CAAjB;;QAEIoE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC/iB,MAAT,GAAkB,CAA3C,EAA8C;MAC5C+iB,QAAQ,CAACC,GAAT,CAAa,UAAAC,KAAK;eAAIA,KAAK,CAACpsB,IAAN,EAAJ;OAAlB,EACGmC,OADH,CACW,UAAAkqB,MAAM;eAAIhD,GAAG,CAACrb,SAAJ,CAAcC,MAAd,CAAqBoe,MAArB,CAAJ;OADjB;;;;;UAOGhe,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UACMgI,OAAO,GAAG,OAAO3S,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsC,IAAtD;;UAEI,CAACuC,IAAD,IAAS,eAAe7B,IAAf,CAAoBV,MAApB,CAAb,EAA0C;;;;UAItC,CAACuC,IAAL,EAAW;QACTA,IAAI,GAAG,IAAIsoB,OAAJ,CAAY,IAAZ,EAAkBlY,OAAlB,CAAP;QACAhQ,IAAI,CAACC,OAAL,CAAa,IAAb,EAAmB+H,UAAnB,EAA6BpI,IAA7B;;;UAGE,OAAOvC,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ;;KAlBG,CAAP;;;UAuBK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;;wBAlGmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;wBAGgB;aACTpF,MAAP;;;;wBAGoB;aACbE,UAAP;;;;wBAGiB;aACVtG,OAAP;;;;wBAGqB;aACduG,WAAP;;;;wBAGuB;aAChBwF,aAAP;;;;;EA5BkB6W;;AAyGtB,IAAM7hB,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;AAQA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAaogB,OAAO,CAACve,eAArB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBie,OAAzB;;EACAzlB,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOke,OAAO,CAACve,eAAf;GAFF;;;ACxKF;;;;;;AAMA,IAAM7B,MAAI,GAAG,WAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,cAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMgF,SAAO,GAAG;EACdhB,MAAM,EAAE,EADM;EAEdkc,MAAM,EAAE,MAFM;EAGd7jB,MAAM,EAAE;CAHV;AAMA,IAAMkJ,aAAW,GAAG;EAClBvB,MAAM,EAAE,QADU;EAElBkc,MAAM,EAAE,QAFU;EAGlB7jB,MAAM,EAAE;CAHV;AAMA,IAAM7C,OAAK,GAAG;EACZ2mB,QAAQ,eAAapgB,WADT;EAEZqgB,MAAM,aAAWrgB,WAFL;EAGZyG,aAAa,WAASzG,WAAT,GAAqBC;CAHpC;AAMA,IAAMM,WAAS,GAAG;EAChB+f,aAAa,EAAE,eADC;EAEhBpe,MAAM,EAAE;CAFV;AAKA,IAAMhC,UAAQ,GAAG;EACfqgB,QAAQ,EAAE,qBADK;EAEfC,cAAc,EAAE,mBAFD;EAGfC,SAAS,EAAE,WAHI;EAIfC,SAAS,EAAE,WAJI;EAKfC,UAAU,EAAE,kBALG;EAMfC,QAAQ,EAAE,WANK;EAOfC,eAAe,EAAE;CAPnB;AAUA,IAAMC,YAAY,GAAG;EACnBC,MAAM,EAAE,QADW;EAEnBC,QAAQ,EAAE;;;;;;;CAFZ;;IAWMC;;;qBACQhuB,OAAZ,EAAqBmC,MAArB,EAA6B;;;SACtBwL,QAAL,GAAgB3N,OAAhB;SACKiuB,cAAL,GAAsBjuB,OAAO,CAACmX,OAAR,KAAoB,MAApB,GAA6B1W,MAA7B,GAAsCT,OAA5D;SACK8U,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACKmY,SAAL,GAAoB,KAAKxF,OAAL,CAAazL,MAAhB,SAA0B4D,UAAQ,CAACugB,SAAnC,UACQ,KAAK1Y,OAAL,CAAazL,MADrB,SAC+B4D,UAAQ,CAACygB,UADxC,WAEQ,KAAK5Y,OAAL,CAAazL,MAFrB,UAEgCiE,WAAS,CAAC+f,aAF1C,CAAjB;SAGKa,QAAL,GAAgB,EAAhB;SACKC,QAAL,GAAgB,EAAhB;SACKC,aAAL,GAAqB,IAArB;SACKC,aAAL,GAAqB,CAArB;IAEArlB,YAAY,CAAC8B,EAAb,CAAgB,KAAKmjB,cAArB,EAAqCznB,OAAK,CAAC4mB,MAA3C,EAAmD,UAAA9kB,KAAK;aAAI,KAAI,CAACgmB,QAAL,CAAchmB,KAAd,CAAJ;KAAxD;SAEKimB,OAAL;;SACKD,QAAL;;IAEAxpB,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAeFyhB,UAAA,mBAAU;;;QACFC,UAAU,GAAG,KAAKP,cAAL,KAAwB,KAAKA,cAAL,CAAoBxtB,MAA5C,GACjBotB,YAAY,CAACC,MADI,GAEjBD,YAAY,CAACE,QAFf;QAIMU,YAAY,GAAG,KAAK3Z,OAAL,CAAaoY,MAAb,KAAwB,MAAxB,GACnBsB,UADmB,GAEnB,KAAK1Z,OAAL,CAAaoY,MAFf;QAIMwB,UAAU,GAAGD,YAAY,KAAKZ,YAAY,CAACE,QAA9B,GACjB,KAAKY,aAAL,EADiB,GAEjB,CAFF;SAIKT,QAAL,GAAgB,EAAhB;SACKC,QAAL,GAAgB,EAAhB;SAEKE,aAAL,GAAqB,KAAKO,gBAAL,EAArB;QAEMC,OAAO,GAAG7rB,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB,KAAK+U,SAAzB,CAAD,CAAzB;IAEAuU,OAAO,CACJtC,GADH,CACO,UAAAvsB,OAAO,EAAI;UACVqJ,MAAJ;UACMylB,cAAc,GAAGzuB,sBAAsB,CAACL,OAAD,CAA7C;;UAEI8uB,cAAJ,EAAoB;QAClBzlB,MAAM,GAAGyC,cAAc,CAACrG,OAAf,CAAuBqpB,cAAvB,CAAT;;;UAGEzlB,MAAJ,EAAY;YACJ0lB,SAAS,GAAG1lB,MAAM,CAAC6H,qBAAP,EAAlB;;YACI6d,SAAS,CAAC1K,KAAV,IAAmB0K,SAAS,CAACC,MAAjC,EAAyC;iBAChC,CACLve,WAAW,CAACge,YAAD,CAAX,CAA0BplB,MAA1B,EAAkC8H,GAAlC,GAAwCud,UADnC,EAELI,cAFK,CAAP;;;;aAOG,IAAP;KAnBJ,EAqBG7iB,MArBH,CAqBU,UAAAgjB,IAAI;aAAIA,IAAJ;KArBd,EAsBGC,IAtBH,CAsBQ,UAAC7J,CAAD,EAAIE,CAAJ;aAAUF,CAAC,CAAC,CAAD,CAAD,GAAOE,CAAC,CAAC,CAAD,CAAlB;KAtBR,EAuBGhjB,OAvBH,CAuBW,UAAA0sB,IAAI,EAAI;MACf,MAAI,CAACf,QAAL,CAAc3hB,IAAd,CAAmB0iB,IAAI,CAAC,CAAD,CAAvB;;MACA,MAAI,CAACd,QAAL,CAAc5hB,IAAd,CAAmB0iB,IAAI,CAAC,CAAD,CAAvB;KAzBJ;;;SA6BF/gB,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;IACA9D,YAAY,CAACC,GAAb,CAAiB,KAAKglB,cAAtB,EAAsClhB,WAAtC;SAEKY,QAAL,GAAgB,IAAhB;SACKsgB,cAAL,GAAsB,IAAtB;SACKnZ,OAAL,GAAe,IAAf;SACKwF,SAAL,GAAiB,IAAjB;SACK4T,QAAL,GAAgB,IAAhB;SACKC,QAAL,GAAgB,IAAhB;SACKC,aAAL,GAAqB,IAArB;SACKC,aAAL,GAAqB,IAArB;;;;SAKFtZ,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD6P,SADC,MAED,OAAO7P,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAF/C,CAAN;;QAKI,OAAOA,MAAM,CAACkH,MAAd,KAAyB,QAA7B,EAAuC;UAC/B9E,EAD+B,GACxBpC,MAAM,CAACkH,MADiB,CAC/B9E,EAD+B;;UAEjC,CAACA,EAAL,EAAS;QACPA,EAAE,GAAG9E,MAAM,CAACmN,MAAD,CAAX;QACAzK,MAAM,CAACkH,MAAP,CAAc9E,EAAd,GAAmBA,EAAnB;;;MAGFpC,MAAM,CAACkH,MAAP,SAAoB9E,EAApB;;;IAGFtC,eAAe,CAAC2K,MAAD,EAAOzK,MAAP,EAAeoQ,aAAf,CAAf;WAEOpQ,MAAP;;;SAGFwsB,gBAAA,yBAAgB;WACP,KAAKV,cAAL,KAAwBxtB,MAAxB,GACL,KAAKwtB,cAAL,CAAoBkB,WADf,GAEL,KAAKlB,cAAL,CAAoB7c,SAFtB;;;SAKFwd,mBAAA,4BAAmB;WACV,KAAKX,cAAL,CAAoB5K,YAApB,IAAoC1jB,IAAI,CAACyvB,GAAL,CACzCvvB,QAAQ,CAACsE,IAAT,CAAckf,YAD2B,EAEzCxjB,QAAQ,CAAC4D,eAAT,CAAyB4f,YAFgB,CAA3C;;;SAMFgM,mBAAA,4BAAmB;WACV,KAAKpB,cAAL,KAAwBxtB,MAAxB,GACLA,MAAM,CAAC6uB,WADF,GAEL,KAAKrB,cAAL,CAAoB/c,qBAApB,GAA4C8d,MAF9C;;;SAKFV,WAAA,oBAAW;QACHld,SAAS,GAAG,KAAKud,aAAL,KAAuB,KAAK7Z,OAAL,CAAa9D,MAAtD;;QACMqS,YAAY,GAAG,KAAKuL,gBAAL,EAArB;;QACMW,SAAS,GAAG,KAAKza,OAAL,CAAa9D,MAAb,GAChBqS,YADgB,GAEhB,KAAKgM,gBAAL,EAFF;;QAII,KAAKhB,aAAL,KAAuBhL,YAA3B,EAAyC;WAClCkL,OAAL;;;QAGEnd,SAAS,IAAIme,SAAjB,EAA4B;UACpBlmB,MAAM,GAAG,KAAK8kB,QAAL,CAAc,KAAKA,QAAL,CAAc5kB,MAAd,GAAuB,CAArC,CAAf;;UAEI,KAAK6kB,aAAL,KAAuB/kB,MAA3B,EAAmC;aAC5BmmB,SAAL,CAAenmB,MAAf;;;;;;QAMA,KAAK+kB,aAAL,IAAsBhd,SAAS,GAAG,KAAK8c,QAAL,CAAc,CAAd,CAAlC,IAAsD,KAAKA,QAAL,CAAc,CAAd,IAAmB,CAA7E,EAAgF;WACzEE,aAAL,GAAqB,IAArB;;WACKqB,MAAL;;;;;QAIIC,YAAY,GAAG,KAAKxB,QAAL,CAAc3kB,MAAnC;;SACK,IAAID,CAAC,GAAGomB,YAAb,EAA2BpmB,CAAC,EAA5B,GAAiC;UACzBqmB,cAAc,GAAG,KAAKvB,aAAL,KAAuB,KAAKD,QAAL,CAAc7kB,CAAd,CAAvB,IACnB8H,SAAS,IAAI,KAAK8c,QAAL,CAAc5kB,CAAd,CADM,KAElB,OAAO,KAAK4kB,QAAL,CAAc5kB,CAAC,GAAG,CAAlB,CAAP,KAAgC,WAAhC,IACG8H,SAAS,GAAG,KAAK8c,QAAL,CAAc5kB,CAAC,GAAG,CAAlB,CAHG,CAAvB;;UAKIqmB,cAAJ,EAAoB;aACbH,SAAL,CAAe,KAAKrB,QAAL,CAAc7kB,CAAd,CAAf;;;;;SAKNkmB,YAAA,mBAAUnmB,MAAV,EAAkB;SACX+kB,aAAL,GAAqB/kB,MAArB;;SAEKomB,MAAL;;QAEMG,OAAO,GAAG,KAAKtV,SAAL,CAAetZ,KAAf,CAAqB,GAArB,EACburB,GADa,CACT,UAAAtsB,QAAQ;aAAOA,QAAP,uBAAgCoJ,MAAhC,YAA4CpJ,QAA5C,gBAA8DoJ,MAA9D;KADC,CAAhB;;QAGMwmB,IAAI,GAAG/jB,cAAc,CAACrG,OAAf,CAAuBmqB,OAAO,CAACE,IAAR,CAAa,GAAb,CAAvB,CAAb;;QAEID,IAAI,CAACzhB,SAAL,CAAeE,QAAf,CAAwBhB,WAAS,CAAC+f,aAAlC,CAAJ,EAAsD;MACpDvhB,cAAc,CACXrG,OADH,CACWwH,UAAQ,CAAC2gB,eADpB,EACqC9hB,cAAc,CAACxG,OAAf,CAAuBuqB,IAAvB,EAA6B5iB,UAAQ,CAAC0gB,QAAtC,CADrC,EAEGvf,SAFH,CAEa+B,GAFb,CAEiB7C,WAAS,CAAC2B,MAF3B;MAIA4gB,IAAI,CAACzhB,SAAL,CAAe+B,GAAf,CAAmB7C,WAAS,CAAC2B,MAA7B;KALF,MAMO;;MAEL4gB,IAAI,CAACzhB,SAAL,CAAe+B,GAAf,CAAmB7C,WAAS,CAAC2B,MAA7B;MAEAnD,cAAc,CACXK,OADH,CACW0jB,IADX,EACiB5iB,UAAQ,CAACsgB,cAD1B,EAEGhrB,OAFH,CAEW,UAAAwtB,SAAS,EAAI;;;QAGpBjkB,cAAc,CAACU,IAAf,CAAoBujB,SAApB,EAAkC9iB,UAAQ,CAACugB,SAA3C,UAAyDvgB,UAAQ,CAACygB,UAAlE,EACGnrB,OADH,CACW,UAAA0sB,IAAI;iBAAIA,IAAI,CAAC7gB,SAAL,CAAe+B,GAAf,CAAmB7C,WAAS,CAAC2B,MAA7B,CAAJ;SADf,EAHoB;;QAOpBnD,cAAc,CAACU,IAAf,CAAoBujB,SAApB,EAA+B9iB,UAAQ,CAACwgB,SAAxC,EACGlrB,OADH,CACW,UAAAytB,OAAO,EAAI;UAClBlkB,cAAc,CAACE,QAAf,CAAwBgkB,OAAxB,EAAiC/iB,UAAQ,CAACugB,SAA1C,EACGjrB,OADH,CACW,UAAA0sB,IAAI;mBAAIA,IAAI,CAAC7gB,SAAL,CAAe+B,GAAf,CAAmB7C,WAAS,CAAC2B,MAA7B,CAAJ;WADf;SAFJ;OATJ;;;IAiBFjG,YAAY,CAACsC,OAAb,CAAqB,KAAK2iB,cAA1B,EAA0CznB,OAAK,CAAC2mB,QAAhD,EAA0D;MACxDvV,aAAa,EAAEvO;KADjB;;;SAKFomB,SAAA,kBAAS;IACPzsB,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB,KAAK+U,SAAzB,CAAD,CAAT,CACGrO,MADH,CACU,UAAAgkB,IAAI;aAAIA,IAAI,CAAC7hB,SAAL,CAAeE,QAAf,CAAwBhB,WAAS,CAAC2B,MAAlC,CAAJ;KADd,EAEG1M,OAFH,CAEW,UAAA0tB,IAAI;aAAIA,IAAI,CAAC7hB,SAAL,CAAeC,MAAf,CAAsBf,WAAS,CAAC2B,MAAhC,CAAJ;KAFf;;;;YAOKR,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UACMgI,OAAO,GAAG,OAAO3S,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;UAEI,CAACuC,IAAL,EAAW;QACTA,IAAI,GAAG,IAAIspB,SAAJ,CAAc,IAAd,EAAoBlZ,OAApB,CAAP;;;UAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ;;KAbG,CAAP;;;YAkBK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBAjOmB;aACZD,SAAP;;;;wBAGmB;aACZmF,SAAP;;;;;;;;;;;;;AAsOJhJ,YAAY,CAAC8B,EAAb,CAAgBrK,MAAhB,EAAwB+F,OAAK,CAACgN,aAA9B,EAA6C,YAAM;EACjDxQ,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACqgB,QAA7B,CAAD,CAAT,CACG/qB,OADH,CACW,UAAA2tB,GAAG;WAAI,IAAIlC,SAAJ,CAAckC,GAAd,EAAmBzf,WAAW,CAACG,iBAAZ,CAA8Bsf,GAA9B,CAAnB,CAAJ;GADd;CADF;AAKA,IAAM3oB,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;AAQA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAaohB,SAAS,CAACvf,eAAvB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBif,SAAzB;;EACAzmB,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOkf,SAAS,CAACvf,eAAjB;GAFF;;;AC1UF;;;;;;AAMA,IAAM7B,MAAI,GAAG,KAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,QAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AACA,IAAME,cAAY,GAAG,WAArB;AAEA,IAAMxG,OAAK,GAAG;EACZ8S,IAAI,WAASvM,WADD;EAEZwM,MAAM,aAAWxM,WAFL;EAGZU,IAAI,WAASV,WAHD;EAIZsM,KAAK,YAAUtM,WAJH;EAKZM,cAAc,YAAUN,WAAV,GAAsBC;CALtC;AAQA,IAAMM,WAAS,GAAG;EAChB6iB,aAAa,EAAE,eADC;EAEhBlhB,MAAM,EAAE,QAFQ;EAGhB2N,QAAQ,EAAE,UAHM;EAIhBpP,IAAI,EAAE,MAJU;EAKhBC,IAAI,EAAE;CALR;AAQA,IAAMR,UAAQ,GAAG;EACf0gB,QAAQ,EAAE,WADK;EAEfJ,cAAc,EAAE,mBAFD;EAGfte,MAAM,EAAE,SAHO;EAIfmhB,SAAS,EAAE,uBAJI;EAKf/gB,WAAW,EAAE,iEALE;EAMfue,eAAe,EAAE,kBANF;EAOfyC,qBAAqB,EAAE;;;;;;;CAPzB;;IAgBMC;;;eACQtwB,OAAZ,EAAqB;SACd2N,QAAL,GAAgB3N,OAAhB;IAEA8E,IAAI,CAACC,OAAL,CAAa,KAAK4I,QAAlB,EAA4Bb,UAA5B,EAAsC,IAAtC;;;;;;;SAWF6N,OAAA,gBAAO;;;QACA,KAAKhN,QAAL,CAActK,UAAd,IACH,KAAKsK,QAAL,CAActK,UAAd,CAAyB9B,QAAzB,KAAsC8K,IAAI,CAACC,YADxC,IAEH,KAAKqB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAAC2B,MAA3C,CAFE,IAGF,KAAKtB,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACsP,QAA3C,CAHF,EAGwD;;;;QAIpDlQ,QAAJ;QACMrD,MAAM,GAAG9I,sBAAsB,CAAC,KAAKoN,QAAN,CAArC;QACM4iB,WAAW,GAAGzkB,cAAc,CAACxG,OAAf,CAAuB,KAAKqI,QAA5B,EAAsCV,UAAQ,CAACsgB,cAA/C,CAApB;;QAEIgD,WAAJ,EAAiB;UACTC,YAAY,GAAGD,WAAW,CAACxL,QAAZ,KAAyB,IAAzB,IAAiCwL,WAAW,CAACxL,QAAZ,KAAyB,IAA1D,GAAiE9X,UAAQ,CAACmjB,SAA1E,GAAsFnjB,UAAQ,CAACgC,MAApH;MACAvC,QAAQ,GAAG1J,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoBirB,YAApB,EAAkCD,WAAlC,CAAD,CAApB;MACA7jB,QAAQ,GAAGA,QAAQ,CAACA,QAAQ,CAACnD,MAAT,GAAkB,CAAnB,CAAnB;;;QAGEwV,SAAS,GAAG,IAAhB;;QAEIrS,QAAJ,EAAc;MACZqS,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqBoB,QAArB,EAA+BlG,OAAK,CAAC8S,IAArC,EAA2C;QACrD1B,aAAa,EAAE,KAAKjK;OADV,CAAZ;;;QAKIgR,SAAS,GAAG3V,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACiH,IAA1C,EAAgD;MAChEmK,aAAa,EAAElL;KADC,CAAlB;;QAIIiS,SAAS,CAACrY,gBAAV,IACDyY,SAAS,KAAK,IAAd,IAAsBA,SAAS,CAACzY,gBADnC,EACsD;;;;SAIjDkpB,SAAL,CACE,KAAK7hB,QADP,EAEE4iB,WAFF;;QAKMjV,QAAQ,GAAG,SAAXA,QAAW,GAAM;MACrBtS,YAAY,CAACsC,OAAb,CAAqBoB,QAArB,EAA+BlG,OAAK,CAAC+S,MAArC,EAA6C;QAC3C3B,aAAa,EAAE,KAAI,CAACjK;OADtB;MAGA3E,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC6S,KAA1C,EAAiD;QAC/CzB,aAAa,EAAElL;OADjB;KAJF;;QASIrD,MAAJ,EAAY;WACLmmB,SAAL,CAAenmB,MAAf,EAAuBA,MAAM,CAAChG,UAA9B,EAA0CiY,QAA1C;KADF,MAEO;MACLA,QAAQ;;;;SAIZpN,UAAA,mBAAU;IACRpJ,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SACKa,QAAL,GAAgB,IAAhB;;;;SAKF6hB,YAAA,mBAAUxvB,OAAV,EAAmB8a,SAAnB,EAA8BiI,QAA9B,EAAwC;;;QAChC0N,cAAc,GAAG3V,SAAS,KAAKA,SAAS,CAACiK,QAAV,KAAuB,IAAvB,IAA+BjK,SAAS,CAACiK,QAAV,KAAuB,IAA3D,CAAT,GACrBjZ,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAACmjB,SAA7B,EAAwCtV,SAAxC,CADqB,GAErBhP,cAAc,CAACE,QAAf,CAAwB8O,SAAxB,EAAmC7N,UAAQ,CAACgC,MAA5C,CAFF;QAIMyhB,MAAM,GAAGD,cAAc,CAAC,CAAD,CAA7B;QACM/U,eAAe,GAAGqH,QAAQ,IAC7B2N,MAAM,IAAIA,MAAM,CAACtiB,SAAP,CAAiBE,QAAjB,CAA0BhB,WAAS,CAACE,IAApC,CADb;;QAGM8N,QAAQ,GAAG,SAAXA,QAAW;aAAM,MAAI,CAACqV,mBAAL,CACrB3wB,OADqB,EAErB0wB,MAFqB,EAGrB3N,QAHqB,CAAN;KAAjB;;QAMI2N,MAAM,IAAIhV,eAAd,EAA+B;UACvB/a,kBAAkB,GAAGH,gCAAgC,CAACkwB,MAAD,CAA3D;MACAA,MAAM,CAACtiB,SAAP,CAAiBC,MAAjB,CAAwBf,WAAS,CAACG,IAAlC;MAEAzE,YAAY,CAAC+B,GAAb,CAAiB2lB,MAAjB,EAAyBxxB,cAAzB,EAAyCoc,QAAzC;MACA9Z,oBAAoB,CAACkvB,MAAD,EAAS/vB,kBAAT,CAApB;KALF,MAMO;MACL2a,QAAQ;;;;SAIZqV,sBAAA,6BAAoB3wB,OAApB,EAA6B0wB,MAA7B,EAAqC3N,QAArC,EAA+C;QACzC2N,MAAJ,EAAY;MACVA,MAAM,CAACtiB,SAAP,CAAiBC,MAAjB,CAAwBf,WAAS,CAAC2B,MAAlC;UAEM2hB,aAAa,GAAG9kB,cAAc,CAACrG,OAAf,CAAuBwH,UAAQ,CAACojB,qBAAhC,EAAuDK,MAAM,CAACrtB,UAA9D,CAAtB;;UAEIutB,aAAJ,EAAmB;QACjBA,aAAa,CAACxiB,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAAC2B,MAAzC;;;UAGEyhB,MAAM,CAACxwB,YAAP,CAAoB,MAApB,MAAgC,KAApC,EAA2C;QACzCwwB,MAAM,CAACzgB,YAAP,CAAoB,eAApB,EAAqC,KAArC;;;;IAIJjQ,OAAO,CAACoO,SAAR,CAAkB+B,GAAlB,CAAsB7C,WAAS,CAAC2B,MAAhC;;QACIjP,OAAO,CAACE,YAAR,CAAqB,MAArB,MAAiC,KAArC,EAA4C;MAC1CF,OAAO,CAACiQ,YAAR,CAAqB,eAArB,EAAsC,IAAtC;;;IAGFlM,MAAM,CAAC/D,OAAD,CAAN;;QAEIA,OAAO,CAACoO,SAAR,CAAkBE,QAAlB,CAA2BhB,WAAS,CAACE,IAArC,CAAJ,EAAgD;MAC9CxN,OAAO,CAACoO,SAAR,CAAkB+B,GAAlB,CAAsB7C,WAAS,CAACG,IAAhC;;;QAGEzN,OAAO,CAACqD,UAAR,IAAsBrD,OAAO,CAACqD,UAAR,CAAmB+K,SAAnB,CAA6BE,QAA7B,CAAsChB,WAAS,CAAC6iB,aAAhD,CAA1B,EAA0F;UAClFU,eAAe,GAAG/kB,cAAc,CAACxG,OAAf,CAAuBtF,OAAvB,EAAgCiN,UAAQ,CAAC0gB,QAAzC,CAAxB;;UAEIkD,eAAJ,EAAqB;QACnB7tB,SAAS,CAAC8I,cAAc,CAACvG,IAAf,CAAoB0H,UAAQ,CAAC2gB,eAA7B,CAAD,CAAT,CACGrrB,OADH,CACW,UAAAuuB,QAAQ;iBAAIA,QAAQ,CAAC1iB,SAAT,CAAmB+B,GAAnB,CAAuB7C,WAAS,CAAC2B,MAAjC,CAAJ;SADnB;;;MAIFjP,OAAO,CAACiQ,YAAR,CAAqB,eAArB,EAAsC,IAAtC;;;QAGE8S,QAAJ,EAAc;MACZA,QAAQ;;;;;MAMLtU,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACrBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,KAAgC,IAAIwjB,GAAJ,CAAQ,IAAR,CAA7C;;UAEI,OAAOnuB,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ;;KARG,CAAP;;;MAaK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBA1JmB;aACZD,SAAP;;;;;;;;;;;;;AAmKJ7D,YAAY,CAAC8B,EAAb,CAAgBjL,QAAhB,EAA0B2G,OAAK,CAAC6G,cAAhC,EAAgDJ,UAAQ,CAACoC,WAAzD,EAAsE,UAAU/G,KAAV,EAAiB;EACrFA,KAAK,CAACjC,cAAN;MAEM3B,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,KAAgC,IAAIwjB,GAAJ,CAAQ,IAAR,CAA7C;EACA5rB,IAAI,CAACiW,IAAL;CAJF;AAOA,IAAMpT,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAa0jB,GAAG,CAAC7hB,eAAjB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBuhB,GAAzB;;EACA/oB,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOwhB,GAAG,CAAC7hB,eAAX;GAFF;;;AC9OF;;;;;;AAMA,IAAM7B,MAAI,GAAG,OAAb;AACA,IAAMC,SAAO,GAAG,OAAhB;AACA,IAAMC,UAAQ,GAAG,UAAjB;AACA,IAAMC,WAAS,SAAOD,UAAtB;AAEA,IAAMtG,OAAK,GAAG;EACZia,aAAa,oBAAkB1T,WADnB;EAEZuM,IAAI,WAASvM,WAFD;EAGZwM,MAAM,aAAWxM,WAHL;EAIZU,IAAI,WAASV,WAJD;EAKZsM,KAAK,YAAUtM;CALjB;AAQA,IAAMO,WAAS,GAAG;EAChBE,IAAI,EAAE,MADU;EAEhB8L,IAAI,EAAE,MAFU;EAGhB7L,IAAI,EAAE,MAHU;EAIhBsjB,OAAO,EAAE;CAJX;AAOA,IAAMxe,aAAW,GAAG;EAClB6V,SAAS,EAAE,SADO;EAElB4I,QAAQ,EAAE,SAFQ;EAGlBzI,KAAK,EAAE;CAHT;AAMA,IAAMvW,SAAO,GAAG;EACdoW,SAAS,EAAE,IADG;EAEd4I,QAAQ,EAAE,IAFI;EAGdzI,KAAK,EAAE;CAHT;AAMA,IAAMtb,UAAQ,GAAG;EACfkU,YAAY,EAAE;;;;;;;CADhB;;IAUM8P;;;iBACQjxB,OAAZ,EAAqBmC,MAArB,EAA6B;SACtBwL,QAAL,GAAgB3N,OAAhB;SACK8U,OAAL,GAAe,KAAKC,UAAL,CAAgB5S,MAAhB,CAAf;SACKmnB,QAAL,GAAgB,IAAhB;;SACKI,aAAL;;IACA5kB,IAAI,CAACC,OAAL,CAAa/E,OAAb,EAAsB8M,UAAtB,EAAgC,IAAhC;;;;;;;SAmBF6N,OAAA,gBAAO;;;QACCgE,SAAS,GAAG3V,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAACiH,IAA1C,CAAlB;;QAEIkR,SAAS,CAACrY,gBAAd,EAAgC;;;;QAI5B,KAAKwO,OAAL,CAAasT,SAAjB,EAA4B;WACrBza,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACE,IAAtC;;;QAGI8N,QAAQ,GAAG,SAAXA,QAAW,GAAM;MACrB,KAAI,CAAC3N,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACyjB,OAAzC;;MACA,KAAI,CAACpjB,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACG,IAAtC;;MAEAzE,YAAY,CAACsC,OAAb,CAAqB,KAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC6S,KAA1C;;UAEI,KAAI,CAACvE,OAAL,CAAakc,QAAjB,EAA2B;QACzB,KAAI,CAAC1H,QAAL,GAAgBtnB,UAAU,CAAC,YAAM;UAC/B,KAAI,CAAC0Y,IAAL;SADwB,EAEvB,KAAI,CAAC5F,OAAL,CAAayT,KAFU,CAA1B;;KAPJ;;SAaK5a,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACgM,IAAzC;;IACAvV,MAAM,CAAC,KAAK4J,QAAN,CAAN;;SACKA,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACyjB,OAAtC;;QACI,KAAKjc,OAAL,CAAasT,SAAjB,EAA4B;UACpBznB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKmN,QAAN,CAA3D;MAEA3E,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCzO,cAAhC,EAAgDoc,QAAhD;MACA9Z,oBAAoB,CAAC,KAAKmM,QAAN,EAAgBhN,kBAAhB,CAApB;KAJF,MAKO;MACL2a,QAAQ;;;;SAIZZ,OAAA,gBAAO;;;QACD,CAAC,KAAK/M,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACG,IAA3C,CAAL,EAAuD;;;;QAIjDsR,SAAS,GAAG/V,YAAY,CAACsC,OAAb,CAAqB,KAAKqC,QAA1B,EAAoCnH,OAAK,CAAC8S,IAA1C,CAAlB;;QAEIyF,SAAS,CAACzY,gBAAd,EAAgC;;;;QAI1BgV,QAAQ,GAAG,SAAXA,QAAW,GAAM;MACrB,MAAI,CAAC3N,QAAL,CAAcS,SAAd,CAAwB+B,GAAxB,CAA4B7C,WAAS,CAACgM,IAAtC;;MACAtQ,YAAY,CAACsC,OAAb,CAAqB,MAAI,CAACqC,QAA1B,EAAoCnH,OAAK,CAAC+S,MAA1C;KAFF;;SAKK5L,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACG,IAAzC;;QACI,KAAKqH,OAAL,CAAasT,SAAjB,EAA4B;UACpBznB,kBAAkB,GAAGH,gCAAgC,CAAC,KAAKmN,QAAN,CAA3D;MAEA3E,YAAY,CAAC+B,GAAb,CAAiB,KAAK4C,QAAtB,EAAgCzO,cAAhC,EAAgDoc,QAAhD;MACA9Z,oBAAoB,CAAC,KAAKmM,QAAN,EAAgBhN,kBAAhB,CAApB;KAJF,MAKO;MACL2a,QAAQ;;;;SAIZpN,UAAA,mBAAU;IACR+I,YAAY,CAAC,KAAKqS,QAAN,CAAZ;SACKA,QAAL,GAAgB,IAAhB;;QAEI,KAAK3b,QAAL,CAAcS,SAAd,CAAwBE,QAAxB,CAAiChB,WAAS,CAACG,IAA3C,CAAJ,EAAsD;WAC/CE,QAAL,CAAcS,SAAd,CAAwBC,MAAxB,CAA+Bf,WAAS,CAACG,IAAzC;;;IAGFzE,YAAY,CAACC,GAAb,CAAiB,KAAK0E,QAAtB,EAAgCnH,OAAK,CAACia,aAAtC;IACA3b,IAAI,CAACI,UAAL,CAAgB,KAAKyI,QAArB,EAA+Bb,UAA/B;SAEKa,QAAL,GAAgB,IAAhB;SACKmH,OAAL,GAAe,IAAf;;;;SAKFC,aAAA,oBAAW5S,MAAX,EAAmB;IACjBA,MAAM,sBACD6P,SADC,MAEDvB,WAAW,CAACG,iBAAZ,CAA8B,KAAKjD,QAAnC,CAFC,MAGD,OAAOxL,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH/C,CAAN;IAMAF,eAAe,CACb2K,MADa,EAEbzK,MAFa,EAGb,KAAKid,WAAL,CAAiB7M,WAHJ,CAAf;WAMOpQ,MAAP;;;SAGFunB,gBAAA,yBAAgB;;;IACd1gB,YAAY,CAAC8B,EAAb,CACE,KAAK6C,QADP,EAEEnH,OAAK,CAACia,aAFR,EAGExT,UAAQ,CAACkU,YAHX,EAIE;aAAM,MAAI,CAACzG,IAAL,EAAN;KAJF;;;;QAUKjM,kBAAP,yBAAuBtM,MAAvB,EAA+B;WACtB,KAAKuM,IAAL,CAAU,YAAY;UACvBhK,IAAI,GAAGI,IAAI,CAACG,OAAL,CAAa,IAAb,EAAmB6H,UAAnB,CAAX;;UACMgI,OAAO,GAAG,OAAO3S,MAAP,KAAkB,QAAlB,IAA8BA,MAA9C;;UAEI,CAACuC,IAAL,EAAW;QACTA,IAAI,GAAG,IAAIusB,KAAJ,CAAU,IAAV,EAAgBnc,OAAhB,CAAP;;;UAGE,OAAO3S,MAAP,KAAkB,QAAtB,EAAgC;YAC1B,OAAOuC,IAAI,CAACvC,MAAD,CAAX,KAAwB,WAA5B,EAAyC;gBACjC,IAAI6W,SAAJ,wBAAkC7W,MAAlC,QAAN;;;QAGFuC,IAAI,CAACvC,MAAD,CAAJ,CAAa,IAAb;;KAbG,CAAP;;;QAkBK0M,cAAP,qBAAmB7O,OAAnB,EAA4B;WACnB8E,IAAI,CAACG,OAAL,CAAajF,OAAb,EAAsB8M,UAAtB,CAAP;;;;;wBA9ImB;aACZD,SAAP;;;;wBAGuB;aAChB0F,aAAP;;;;wBAGmB;aACZP,SAAP;;;;;;;AAyIJ,IAAMzK,GAAC,GAAGtD,SAAS,EAAnB;;;;;;;;;;AASA,IAAIsD,GAAJ,EAAO;MACCuH,oBAAkB,GAAGvH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,CAA3B;EACArF,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAaqkB,KAAK,CAACxiB,eAAnB;EACAlH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWmC,WAAX,GAAyBkiB,KAAzB;;EACA1pB,GAAC,CAACsB,EAAF,CAAK+D,MAAL,EAAWoC,UAAX,GAAwB,YAAM;IAC5BzH,GAAC,CAACsB,EAAF,CAAK+D,MAAL,IAAakC,oBAAb;WACOmiB,KAAK,CAACxiB,eAAb;GAFF;;;;;"} \ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js b/dist/js/bootstrap.esm.min.js
index fa2f177a9d..7eb01b14dc 100644
--- a/dist/js/bootstrap.esm.min.js
+++ b/dist/js/bootstrap.esm.min.js
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-import Popper from"popper.js";function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(e){return{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(e){do{e+=~~(Math.random()*MAX_UID)}while(document.getElementById(e));return e},getSelector=function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=function(e){var t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=function(e){var t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=function(e){if(!e)return 0;var t=window.getComputedStyle(e),n=t.transitionDuration,i=t.transitionDelay,r=parseFloat(n),a=parseFloat(i);return r||a?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(e){var t=document.createEvent("HTMLEvents");t.initEvent(TRANSITION_END,!0,!0),e.dispatchEvent(t)},isElement=function(e){return(e[0]||e).nodeType},emulateTransitionEnd=function(e,t){var n=!1,i=t+5;e.addEventListener(TRANSITION_END,function t(){n=!0,e.removeEventListener(TRANSITION_END,t)}),setTimeout(function(){n||triggerTransitionEnd(e)},i)},typeCheckConfig=function(e,t,n){Object.keys(n).forEach(function(i){var r=n[i],a=t[i],o=a&&isElement(a)?"element":toType(a);if(!new RegExp(r).test(o))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+o+'" but expected type "'+r+'".')})},makeArray=function(e){return e?[].slice.call(e):[]},isVisible=function(e){return!!e&&(!!(e.style&&e.parentNode&&e.parentNode.style)&&("none"!==e.style.display&&"none"!==e.parentNode.style.display&&"hidden"!==e.style.visibility))},findShadowRoot=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null},noop=function(){return function(){}},reflow=function(e){return e.offsetHeight},getjQuery=function(){var e=window.jQuery;return e&&!document.body.hasAttribute("data-no-jquery")?e:null},mapData=function(){var e={},t=1;return{set:function(n,i,r){void 0===n.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),Data={setData:function(e,t,n){mapData.set(e,t,n)},getData:function(e,t){return mapData.get(e,t)},removeData:function(e,t){mapData.delete(e,t)}},_Element$prototype=Element.prototype,matches=_Element$prototype.matches,closest=_Element$prototype.closest,find=Element.prototype.querySelectorAll,findOne=Element.prototype.querySelector,createCustomEvent=function(e,t){return new CustomEvent(e,t)};"function"!=typeof window.CustomEvent&&(createCustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n});var workingDefaultPrevented=function(){var e=document.createEvent("CustomEvent");return e.initEvent("Bootstrap",!0,!0),e.preventDefault(),e.defaultPrevented}();if(!workingDefaultPrevented){var origPreventDefault=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(origPreventDefault.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var defaultPreventedPreservedOnDispatch=function(){var e=createCustomEvent("Bootstrap",{cancelable:!0}),t=document.createElement("div");return t.addEventListener("Bootstrap",function(){return null}),e.preventDefault(),t.dispatchEvent(e),e.defaultPrevented}();matches||(matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),closest||(closest=function(e){var t=this;do{if(matches.call(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null});var scopeSelectorRegex=/:scope\b/,supportScopeQuery=function(){var e=document.createElement("div");try{e.querySelectorAll(":scope *")}catch(e){return!1}return!0}();supportScopeQuery||(find=function(e){if(!scopeSelectorRegex.test(e))return this.querySelectorAll(e);var t=Boolean(this.id);t||(this.id=getUID("scope"));var n=null;try{e=e.replace(scopeSelectorRegex,"#"+this.id),n=this.querySelectorAll(e)}finally{t||this.removeAttribute("id")}return n},findOne=function(e){if(!scopeSelectorRegex.test(e))return this.querySelector(e);var t=find.call(this,e);return void 0!==t[0]?t[0]:null});var $=getjQuery(),namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,keyEventRegex=/^key/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function getUidEvent(e,t){return t&&t+"::"+uidEvent++||e.uidEvent||uidEvent++}function getEvent(e){var t=getUidEvent(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function fixEvent(e,t){null===e.which&&keyEventRegex.test(e.type)&&(e.which=null===e.charCode?e.keyCode:e.charCode),e.delegateTarget=t}function bootstrapHandler(e,t){return function n(i){return fixEvent(i,e),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(r){for(var a=e.querySelectorAll(t),o=r.target;o&&o!==this;o=o.parentNode)for(var s=a.length;s--;)if(a[s]===o)return fixEvent(r,o),i.oneOff&&EventHandler.off(e,r.type,n),n.apply(o,[r]);return null}}function findHandler(e,t,n){void 0===n&&(n=null);for(var i=Object.keys(e),r=0,a=i.length;r<a;r++){var o=e[i[r]];if(o.originalHandler===t&&o.delegationSelector===n)return o}return null}function normalizeParams(e,t,n){var i="string"==typeof t,r=i?n:t,a=e.replace(stripNameRegex,""),o=customEvents[a];return o&&(a=o),nativeEvents.indexOf(a)>-1||(a=e),[i,r,a]}function addHandler(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var a=normalizeParams(t,n,i),o=a[0],s=a[1],l=a[2],c=getEvent(e),u=c[l]||(c[l]={}),E=findHandler(u,s,o?n:null);if(E)E.oneOff=E.oneOff&&r;else{var f=getUidEvent(s,t.replace(namespaceRegex,"")),d=o?bootstrapDelegationHandler(e,n,i):bootstrapHandler(e,n);d.delegationSelector=o?n:null,d.originalHandler=s,d.oneOff=r,d.uidEvent=f,u[f]=d,e.addEventListener(l,d,o)}}}function removeHandler(e,t,n,i,r){var a=findHandler(t[n],i,r);a&&(e.removeEventListener(n,a,Boolean(r)),delete t[n][a.uidEvent])}function removeNamespacedHandlers(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach(function(a){if(a.indexOf(i)>-1){var o=r[a];removeHandler(e,t,n,o.originalHandler,o.delegationSelector)}})}var EventHandler={on:function(e,t,n,i){addHandler(e,t,n,i,!1)},one:function(e,t,n,i){addHandler(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=normalizeParams(t,n,i),a=r[0],o=r[1],s=r[2],l=s!==t,c=getEvent(e),u="."===t.charAt(0);if(void 0===o){u&&Object.keys(c).forEach(function(n){removeNamespacedHandlers(e,c,n,t.substr(1))});var E=c[s]||{};Object.keys(E).forEach(function(n){var i=n.replace(stripUidRegex,"");if(!l||t.indexOf(i)>-1){var r=E[n];removeHandler(e,c,s,r.originalHandler,r.delegationSelector)}})}else{if(!c||!c[s])return;removeHandler(e,c,s,o,a?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(stripNameRegex,""),a=t!==r,o=nativeEvents.indexOf(r)>-1,s=!0,l=!0,c=!1,u=null;return a&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),o?(u=document.createEvent("HTMLEvents")).initEvent(r,s,!0):u=createCustomEvent(t,{bubbles:s,cancelable:!0}),void 0!==n&&Object.keys(n).forEach(function(e){Object.defineProperty(u,e,{get:function(){return n[e]}})}),c&&(u.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&e.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},NODE_TEXT=3,SelectorEngine={matches:function(e,t){return matches.call(e,t)},find:function(e,t){return void 0===t&&(t=document.documentElement),find.call(t,e)},findOne:function(e,t){return void 0===t&&(t=document.documentElement),findOne.call(t,e)},children:function(e,t){var n=this,i=makeArray(e.children);return i.filter(function(e){return n.matches(e,t)})},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},closest:function(e,t){return closest.call(e,t)},prev:function(e,t){for(var n=[],i=e.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.previousSibling;return n}},NAME="alert",VERSION="4.3.1",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",Selector={DISMISS:'[data-dismiss="alert"]'},Event$1={CLOSE:"close"+EVENT_KEY,CLOSED:"closed"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={ALERT:"alert",FADE:"fade",SHOW:"show"},Alert=function(){function e(e){this._element=e,this._element&&Data.setData(e,DATA_KEY,this)}var t=e.prototype;return t.close=function(e){var t=this._element;e&&(t=this._getRootElement(e));var n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},t.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},t._getRootElement=function(e){var t=getElementFromSelector(e);return t||(t=SelectorEngine.closest(e,"."+ClassName.ALERT)),t},t._triggerCloseEvent=function(e){return EventHandler.trigger(e,Event$1.CLOSE)},t._removeElement=function(e){var t=this;if(e.classList.remove(ClassName.SHOW),e.classList.contains(ClassName.FADE)){var n=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,function(){return t._destroyElement(e)}),emulateTransitionEnd(e,n)}else this._destroyElement(e)},t._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),EventHandler.trigger(e,Event$1.CLOSED)},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY);n||(n=new e(this)),"close"===t&&n[t](this)})},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return Data.getData(e,DATA_KEY)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION}}]),e}();EventHandler.on(document,Event$1.CLICK_DATA_API,Selector.DISMISS,Alert.handleDismiss(new Alert));var $$1=getjQuery();if($$1){var JQUERY_NO_CONFLICT=$$1.fn[NAME];$$1.fn[NAME]=Alert.jQueryInterface,$$1.fn[NAME].Constructor=Alert,$$1.fn[NAME].noConflict=function(){return $$1.fn[NAME]=JQUERY_NO_CONFLICT,Alert.jQueryInterface}}var NAME$1="button",VERSION$1="4.3.1",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",ClassName$1={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},Selector$1={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:'input:not([type="hidden"])',ACTIVE:".active",BUTTON:".btn"},Event$2={CLICK_DATA_API:"click"+EVENT_KEY$1+DATA_API_KEY$1,FOCUS_DATA_API:"focus"+EVENT_KEY$1+DATA_API_KEY$1,BLUR_DATA_API:"blur"+EVENT_KEY$1+DATA_API_KEY$1},Button=function(){function e(e){this._element=e,Data.setData(e,DATA_KEY$1,this)}var t=e.prototype;return t.toggle=function(){var e=!0,t=!0,n=SelectorEngine.closest(this._element,Selector$1.DATA_TOGGLE);if(n){var i=SelectorEngine.findOne(Selector$1.INPUT,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ClassName$1.ACTIVE))e=!1;else{var r=SelectorEngine.findOne(Selector$1.ACTIVE,n);r&&r.classList.remove(ClassName$1.ACTIVE)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ClassName$1.ACTIVE),EventHandler.trigger(i,"change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ClassName$1.ACTIVE)),e&&this._element.classList.toggle(ClassName$1.ACTIVE)},t.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new e(this)),"toggle"===t&&n[t]()})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$1)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$1}}]),e}();EventHandler.on(document,Event$2.CLICK_DATA_API,Selector$1.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var t=e.target;t.classList.contains(ClassName$1.BUTTON)||(t=SelectorEngine.closest(t,Selector$1.BUTTON));var n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()}),EventHandler.on(document,Event$2.FOCUS_DATA_API,Selector$1.DATA_TOGGLE_CARROT,function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.add(ClassName$1.FOCUS)}),EventHandler.on(document,Event$2.BLUR_DATA_API,Selector$1.DATA_TOGGLE_CARROT,function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.remove(ClassName$1.FOCUS)});var $$2=getjQuery();if($$2){var JQUERY_NO_CONFLICT$1=$$2.fn[NAME$1];$$2.fn[NAME$1]=Button.jQueryInterface,$$2.fn[NAME$1].Constructor=Button,$$2.fn[NAME$1].noConflict=function(){return $$2.fn[NAME$1]=JQUERY_NO_CONFLICT$1,Button.jQueryInterface}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,function(e){return e.toLowerCase()})}var Manipulator={setDataAttribute:function(e,t,n){e.setAttribute("data-"+normalizeDataKey(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+normalizeDataKey(t))},getDataAttributes:function(e){if(!e)return{};var t=_objectSpread2({},e.dataset);return Object.keys(t).forEach(function(e){t[e]=normalizeData(t[e])}),t},getDataAttribute:function(e,t){return normalizeData(e.getAttribute("data-"+normalizeDataKey(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},NAME$2="carousel",VERSION$2="4.3.1",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Direction={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},Event$3={SLIDE:"slide"+EVENT_KEY$2,SLID:"slid"+EVENT_KEY$2,KEYDOWN:"keydown"+EVENT_KEY$2,MOUSEENTER:"mouseenter"+EVENT_KEY$2,MOUSELEAVE:"mouseleave"+EVENT_KEY$2,TOUCHSTART:"touchstart"+EVENT_KEY$2,TOUCHMOVE:"touchmove"+EVENT_KEY$2,TOUCHEND:"touchend"+EVENT_KEY$2,POINTERDOWN:"pointerdown"+EVENT_KEY$2,POINTERUP:"pointerup"+EVENT_KEY$2,DRAG_START:"dragstart"+EVENT_KEY$2,LOAD_DATA_API:"load"+EVENT_KEY$2+DATA_API_KEY$2,CLICK_DATA_API:"click"+EVENT_KEY$2+DATA_API_KEY$2},ClassName$2={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item",POINTER_EVENT:"pointer-event"},Selector$2={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=SelectorEngine.findOne(Selector$2.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),Data.setData(e,DATA_KEY$2,this)}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(Direction.NEXT)},t.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},t.prev=function(){this._isSliding||this._slide(Direction.PREV)},t.pause=function(e){e||(this._isPaused=!0),SelectorEngine.findOne(Selector$2.NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)EventHandler.one(this._element,Event$3.SLID,function(){return t.to(e)});else{if(n===e)return this.pause(),void this.cycle();var i=e>n?Direction.NEXT:Direction.PREV;this._slide(i,this._items[e])}},t.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=_objectSpread2({},Default,{},e),typeCheckConfig(NAME$2,e,DefaultType),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=SWIPE_THRESHOLD)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&EventHandler.on(this._element,Event$3.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(EventHandler.on(this._element,Event$3.MOUSEENTER,function(t){return e.pause(t)}),EventHandler.on(this._element,Event$3.MOUSELEAVE,function(t){return e.cycle(t)})),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},TOUCHEVENT_COMPAT_WAIT+e._config.interval))};makeArray(SelectorEngine.find(Selector$2.ITEM_IMG,this._element)).forEach(function(e){EventHandler.on(e,Event$3.DRAG_START,function(e){return e.preventDefault()})}),this._pointerEvent?(EventHandler.on(this._element,Event$3.POINTERDOWN,function(e){return t(e)}),EventHandler.on(this._element,Event$3.POINTERUP,function(e){return n(e)}),this._element.classList.add(ClassName$2.POINTER_EVENT)):(EventHandler.on(this._element,Event$3.TOUCHSTART,function(e){return t(e)}),EventHandler.on(this._element,Event$3.TOUCHMOVE,function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)}),EventHandler.on(this._element,Event$3.TOUCHEND,function(e){return n(e)}))},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case ARROW_LEFT_KEYCODE:e.preventDefault(),this.prev();break;case ARROW_RIGHT_KEYCODE:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?makeArray(SelectorEngine.find(Selector$2.ITEM,e.parentNode)):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===Direction.NEXT,i=e===Direction.PREV,r=this._getItemIndex(t),a=this._items.length-1;if((i&&0===r||n&&r===a)&&!this._config.wrap)return t;var o=(r+(e===Direction.PREV?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,Event$3.SLIDE,{relatedTarget:e,direction:t,from:i,to:n})},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=SelectorEngine.find(Selector$2.ACTIVE,this._indicatorsElement),n=0;n<t.length;n++)t[n].classList.remove(ClassName$2.ACTIVE);var i=this._indicatorsElement.children[this._getItemIndex(e)];i&&i.classList.add(ClassName$2.ACTIVE)}},t._slide=function(e,t){var n,i,r,a=this,o=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element),s=this._getItemIndex(o),l=t||o&&this._getItemByDirection(e,o),c=this._getItemIndex(l),u=Boolean(this._interval);if(e===Direction.NEXT?(n=ClassName$2.LEFT,i=ClassName$2.NEXT,r=Direction.LEFT):(n=ClassName$2.RIGHT,i=ClassName$2.PREV,r=Direction.RIGHT),l&&l.classList.contains(ClassName$2.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).defaultPrevented&&o&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(ClassName$2.SLIDE)){l.classList.add(i),reflow(l),o.classList.add(n),l.classList.add(n);var E=parseInt(l.getAttribute("data-interval"),10);E?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=E):this._config.interval=this._config.defaultInterval||this._config.interval;var f=getTransitionDurationFromElement(o);EventHandler.one(o,TRANSITION_END,function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(ClassName$2.ACTIVE),o.classList.remove(ClassName$2.ACTIVE),o.classList.remove(i),o.classList.remove(n),a._isSliding=!1,setTimeout(function(){EventHandler.trigger(a._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c})},0)}),emulateTransitionEnd(o,f)}else o.classList.remove(ClassName$2.ACTIVE),l.classList.add(ClassName$2.ACTIVE),this._isSliding=!1,EventHandler.trigger(this._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c});u&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_objectSpread2({},Default,{},Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2({},r,{},n));var a="string"==typeof n?n:r.slide;if(i||(i=new e(t,r)),"number"==typeof n)i.to(n);else if("string"==typeof a){if(void 0===i[a])throw new TypeError('No method named "'+a+'"');i[a]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},e.jQueryInterface=function(t){return this.each(function(){e.carouselInterface(this,t)})},e.dataApiClickHandler=function(t){var n=getElementFromSelector(this);if(n&&n.classList.contains(ClassName$2.CAROUSEL)){var i=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),e.carouselInterface(n,i),r&&Data.getData(n,DATA_KEY$2).to(r),t.preventDefault()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$2)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),e}();EventHandler.on(document,Event$3.CLICK_DATA_API,Selector$2.DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,Event$3.LOAD_DATA_API,function(){for(var e=makeArray(SelectorEngine.find(Selector$2.DATA_RIDE)),t=0,n=e.length;t<n;t++)Carousel.carouselInterface(e[t],Data.getData(e[t],DATA_KEY$2))});var $$3=getjQuery();if($$3){var JQUERY_NO_CONFLICT$2=$$3.fn[NAME$2];$$3.fn[NAME$2]=Carousel.jQueryInterface,$$3.fn[NAME$2].Constructor=Carousel,$$3.fn[NAME$2].noConflict=function(){return $$3.fn[NAME$2]=JQUERY_NO_CONFLICT$2,Carousel.jQueryInterface}}var NAME$3="collapse",VERSION$3="4.3.1",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},Event$4={SHOW:"show"+EVENT_KEY$3,SHOWN:"shown"+EVENT_KEY$3,HIDE:"hide"+EVENT_KEY$3,HIDDEN:"hidden"+EVENT_KEY$3,CLICK_DATA_API:"click"+EVENT_KEY$3+DATA_API_KEY$3},ClassName$3={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},Dimension={WIDTH:"width",HEIGHT:"height"},Selector$3={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},Collapse=function(){function e(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=makeArray(SelectorEngine.find('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=n[i],o=getSelectorFromElement(a),s=makeArray(SelectorEngine.find(o)).filter(function(t){return t===e});null!==o&&s.length&&(this._selector=o,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(e,DATA_KEY$3,this)}var t=e.prototype;return t.toggle=function(){this._element.classList.contains(ClassName$3.SHOW)?this.hide():this.show()},t.show=function(){var t=this;if(!this._isTransitioning&&!this._element.classList.contains(ClassName$3.SHOW)){var n,i;this._parent&&0===(n=makeArray(SelectorEngine.find(Selector$3.ACTIVES,this._parent)).filter(function(e){return"string"==typeof t._config.parent?e.getAttribute("data-parent")===t._config.parent:e.classList.contains(ClassName$3.COLLAPSE)})).length&&(n=null);var r=SelectorEngine.findOne(this._selector);if(n){var a=n.filter(function(e){return r!==e});if((i=a[0]?Data.getData(a[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,Event$4.SHOW).defaultPrevented){n&&n.forEach(function(t){r!==t&&e.collapseInterface(t,"hide"),i||Data.setData(t,DATA_KEY$3,null)});var o=this._getDimension();this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.add(ClassName$3.COLLAPSING),this._element.style[o]=0,this._triggerArray.length&&this._triggerArray.forEach(function(e){e.classList.remove(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);var s="scroll"+(o[0].toUpperCase()+o.slice(1)),l=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,function(){t._element.classList.remove(ClassName$3.COLLAPSING),t._element.classList.add(ClassName$3.COLLAPSE),t._element.classList.add(ClassName$3.SHOW),t._element.style[o]="",t.setTransitioning(!1),EventHandler.trigger(t._element,Event$4.SHOWN)}),emulateTransitionEnd(this._element,l),this._element.style[o]=this._element[s]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&this._element.classList.contains(ClassName$3.SHOW)&&!EventHandler.trigger(this._element,Event$4.HIDE).defaultPrevented){var t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",reflow(this._element),this._element.classList.add(ClassName$3.COLLAPSING),this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.remove(ClassName$3.SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var r=this._triggerArray[i],a=getElementFromSelector(r);a&&!a.classList.contains(ClassName$3.SHOW)&&(r.classList.add(ClassName$3.COLLAPSED),r.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[t]="";var o=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,function(){e.setTransitioning(!1),e._element.classList.remove(ClassName$3.COLLAPSING),e._element.classList.add(ClassName$3.COLLAPSE),EventHandler.trigger(e._element,Event$4.HIDDEN)}),emulateTransitionEnd(this._element,o)}},t.setTransitioning=function(e){this._isTransitioning=e},t.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(e){return(e=_objectSpread2({},Default$1,{},e)).toggle=Boolean(e.toggle),typeCheckConfig(NAME$3,e,DefaultType$1),e},t._getDimension=function(){return this._element.classList.contains(Dimension.WIDTH)?Dimension.WIDTH:Dimension.HEIGHT},t._getParent=function(){var e=this,t=this._config.parent;isElement(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=SelectorEngine.findOne(t);var n='[data-toggle="collapse"][data-parent="'+t+'"]';return makeArray(SelectorEngine.find(n,t)).forEach(function(t){var n=getElementFromSelector(t);e._addAriaAndCollapsedClass(n,[t])}),t},t._addAriaAndCollapsedClass=function(e,t){if(e){var n=e.classList.contains(ClassName$3.SHOW);t.length&&t.forEach(function(e){n?e.classList.remove(ClassName$3.COLLAPSED):e.classList.add(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",n)})}},e.collapseInterface=function(t,n){var i=Data.getData(t,DATA_KEY$3),r=_objectSpread2({},Default$1,{},Manipulator.getDataAttributes(t),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new e(t,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each(function(){e.collapseInterface(this,t)})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$3)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),e}();EventHandler.on(document,Event$4.CLICK_DATA_API,Selector$3.DATA_TOGGLE,function(e){"A"===e.target.tagName&&e.preventDefault();var t=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);makeArray(SelectorEngine.find(n)).forEach(function(e){var n,i=Data.getData(e,DATA_KEY$3);i?(null===i._parent&&"string"==typeof t.parent&&(i._config.parent=t.parent,i._parent=i._getParent()),n="toggle"):n=t,Collapse.collapseInterface(e,n)})});var $$4=getjQuery();if($$4){var JQUERY_NO_CONFLICT$3=$$4.fn[NAME$3];$$4.fn[NAME$3]=Collapse.jQueryInterface,$$4.fn[NAME$3].Constructor=Collapse,$$4.fn[NAME$3].noConflict=function(){return $$4.fn[NAME$3]=JQUERY_NO_CONFLICT$3,Collapse.jQueryInterface}}var NAME$4="dropdown",VERSION$4="4.3.1",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEYCODE=27,SPACE_KEYCODE=32,TAB_KEYCODE=9,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE),Event$5={HIDE:"hide"+EVENT_KEY$4,HIDDEN:"hidden"+EVENT_KEY$4,SHOW:"show"+EVENT_KEY$4,SHOWN:"shown"+EVENT_KEY$4,CLICK:"click"+EVENT_KEY$4,CLICK_DATA_API:"click"+EVENT_KEY$4+DATA_API_KEY$4,KEYDOWN_DATA_API:"keydown"+EVENT_KEY$4+DATA_API_KEY$4,KEYUP_DATA_API:"keyup"+EVENT_KEY$4+DATA_API_KEY$4},ClassName$4={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",DROPRIGHT:"dropright",DROPLEFT:"dropleft",MENURIGHT:"dropdown-menu-right",POSITION_STATIC:"position-static"},Selector$4={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"},AttachmentMap={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end",RIGHT:"right-start",RIGHTEND:"right-end",LEFT:"left-start",LEFTEND:"left-end"},Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(e,DATA_KEY$4,this)}var t=e.prototype;return t.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)){var t=this._menu.classList.contains(ClassName$4.SHOW);e.clearMenus(),t||this.show()}},t.show=function(){if(!(this._element.disabled||this._element.classList.contains(ClassName$4.DISABLED)||this._menu.classList.contains(ClassName$4.SHOW))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(t,Event$5.SHOW,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add(ClassName$4.POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!makeArray(SelectorEngine.closest(t,Selector$4.NAVBAR_NAV)).length&&makeArray(document.body.children).forEach(function(e){return EventHandler.on(e,"mouseover",null,noop())}),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.SHOWN,n)}}},t.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)&&this._menu.classList.contains(ClassName$4.SHOW)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(t,Event$5.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.HIDDEN,n))}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;EventHandler.on(this._element,Event$5.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(e){return e=_objectSpread2({},this.constructor.Default,{},Manipulator.getDataAttributes(this._element),{},e),typeCheckConfig(NAME$4,e,this.constructor.DefaultType),e},t._getMenuElement=function(){var t=e.getParentFromElement(this._element);return SelectorEngine.findOne(Selector$4.MENU,t)},t._getPlacement=function(){var e=this._element.parentNode,t=AttachmentMap.BOTTOM;return e.classList.contains(ClassName$4.DROPUP)?(t=AttachmentMap.TOP,this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.TOPEND)):e.classList.contains(ClassName$4.DROPRIGHT)?t=AttachmentMap.RIGHT:e.classList.contains(ClassName$4.DROPLEFT)?t=AttachmentMap.LEFT:this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.BOTTOMEND),t},t._detectNavbar=function(){return Boolean(SelectorEngine.closest(this._element,".navbar"))},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),_objectSpread2({},e,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=Data.getData(t,DATA_KEY$4);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each(function(){e.dropdownInterface(this,t)})},e.clearMenus=function(t){if(!t||t.which!==RIGHT_MOUSE_BUTTON_WHICH&&("keyup"!==t.type||t.which===TAB_KEYCODE))for(var n=makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=e.getParentFromElement(n[i]),o=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var l=o._menu;if(a.classList.contains(ClassName$4.SHOW))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&t.which===TAB_KEYCODE)&&a.contains(t.target)))EventHandler.trigger(a,Event$5.HIDE,s).defaultPrevented||("ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach(function(e){return EventHandler.off(e,"mouseover",null,noop())}),n[i].setAttribute("aria-expanded","false"),o._popper&&o._popper.destroy(),l.classList.remove(ClassName$4.SHOW),a.classList.remove(ClassName$4.SHOW),EventHandler.trigger(a,Event$5.HIDDEN,s))}}},e.getParentFromElement=function(e){return getElementFromSelector(e)||e.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(t.which===SPACE_KEYCODE||t.which!==ESCAPE_KEYCODE&&(t.which!==ARROW_DOWN_KEYCODE&&t.which!==ARROW_UP_KEYCODE||SelectorEngine.closest(t.target,Selector$4.MENU))):REGEXP_KEYDOWN.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(ClassName$4.DISABLED))){var n=e.getParentFromElement(this),i=n.classList.contains(ClassName$4.SHOW);if(!i||i&&(t.which===ESCAPE_KEYCODE||t.which===SPACE_KEYCODE))return t.which===ESCAPE_KEYCODE&&SelectorEngine.findOne(Selector$4.DATA_TOGGLE,n).focus(),void e.clearMenus();var r=makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS,n));if(r.length){var a=r.indexOf(t.target);t.which===ARROW_UP_KEYCODE&&a>0&&a--,t.which===ARROW_DOWN_KEYCODE&&a<r.length-1&&a++,a<0&&(a=0),r[a].focus()}}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$4)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),e}();EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.DATA_TOGGLE,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.CLICK_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.DATA_TOGGLE,function(e){e.preventDefault(),e.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")}),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.FORM_CHILD,function(e){return e.stopPropagation()});var $$5=getjQuery();if($$5){var JQUERY_NO_CONFLICT$4=$$5.fn[NAME$4];$$5.fn[NAME$4]=Dropdown.jQueryInterface,$$5.fn[NAME$4].Constructor=Dropdown,$$5.fn[NAME$4].noConflict=function(){return $$5.fn[NAME$4]=JQUERY_NO_CONFLICT$4,Dropdown.jQueryInterface}}var NAME$5="modal",VERSION$5="4.3.1",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEYCODE$1=27,Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Event$6={HIDE:"hide"+EVENT_KEY$5,HIDDEN:"hidden"+EVENT_KEY$5,SHOW:"show"+EVENT_KEY$5,SHOWN:"shown"+EVENT_KEY$5,FOCUSIN:"focusin"+EVENT_KEY$5,RESIZE:"resize"+EVENT_KEY$5,CLICK_DISMISS:"click.dismiss"+EVENT_KEY$5,KEYDOWN_DISMISS:"keydown.dismiss"+EVENT_KEY$5,MOUSEUP_DISMISS:"mouseup.dismiss"+EVENT_KEY$5,MOUSEDOWN_DISMISS:"mousedown.dismiss"+EVENT_KEY$5,CLICK_DATA_API:"click"+EVENT_KEY$5+DATA_API_KEY$5},ClassName$5={SCROLLABLE:"modal-dialog-scrollable",SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},Selector$5={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},Modal=function(){function e(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=SelectorEngine.findOne(Selector$5.DIALOG,e),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(e,DATA_KEY$5,this)}var t=e.prototype;return t.toggle=function(e){return this._isShown?this.hide():this.show(e)},t.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(ClassName$5.FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,Event$6.SHOW,{relatedTarget:e});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,Event$6.CLICK_DISMISS,Selector$5.DATA_DISMISS,function(e){return t.hide(e)}),EventHandler.on(this._dialog,Event$6.MOUSEDOWN_DISMISS,function(){EventHandler.one(t._element,Event$6.MOUSEUP_DISMISS,function(e){e.target===t._element&&(t._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return t._showElement(e)}))}},t.hide=function(e){var t=this;if((e&&e.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,Event$6.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(ClassName$5.FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,Event$6.FOCUSIN),this._element.classList.remove(ClassName$5.SHOW),EventHandler.off(this._element,Event$6.CLICK_DISMISS),EventHandler.off(this._dialog,Event$6.MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,function(e){return t._hideModal(e)}),emulateTransitionEnd(this._element,i)}else this._hideModal()}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(e){return EventHandler.off(e,EVENT_KEY$5)}),EventHandler.off(document,Event$6.FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(e){return e=_objectSpread2({},Default$3,{},e),typeCheckConfig(NAME$5,e,DefaultType$3),e},t._showElement=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE),i=SelectorEngine.findOne(Selector$5.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(ClassName$5.SCROLLABLE)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&reflow(this._element),this._element.classList.add(ClassName$5.SHOW),this._config.focus&&this._enforceFocus();var r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,EventHandler.trigger(t._element,Event$6.SHOWN,{relatedTarget:e})};if(n){var a=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,r),emulateTransitionEnd(this._dialog,a)}else r()},t._enforceFocus=function(){var e=this;EventHandler.off(document,Event$6.FOCUSIN),EventHandler.on(document,Event$6.FOCUSIN,function(t){document===t.target||e._element===t.target||e._element.contains(t.target)||e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?EventHandler.on(this._element,Event$6.KEYDOWN_DISMISS,function(t){t.which===ESCAPE_KEYCODE$1&&(t.preventDefault(),e.hide())}):EventHandler.off(this._element,Event$6.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?EventHandler.on(window,Event$6.RESIZE,function(){return e._adjustDialog()}):EventHandler.off(window,Event$6.RESIZE)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){document.body.classList.remove(ClassName$5.OPEN),e._resetAdjustments(),e._resetScrollbar(),EventHandler.trigger(e._element,Event$6.HIDDEN)})},t._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},t._showBackdrop=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE)?ClassName$5.FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ClassName$5.BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,Event$6.CLICK_DISMISS,function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"===t._config.backdrop?t._element.focus():t.hide())}),n&&reflow(this._backdrop),this._backdrop.classList.add(ClassName$5.SHOW),!n)return void e();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,e),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(ClassName$5.SHOW);var r=function(){t._removeBackdrop(),e()};if(this._element.classList.contains(ClassName$5.FADE)){var a=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,r),emulateTransitionEnd(this._backdrop,a)}else r()}else e()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function(t){var n=t.style.paddingRight,i=window.getComputedStyle(t)["padding-right"];Manipulator.setDataAttribute(t,"padding-right",n),t.style.paddingRight=parseFloat(i)+e._scrollbarWidth+"px"}),makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach(function(t){var n=t.style.marginRight,i=window.getComputedStyle(t)["margin-right"];Manipulator.setDataAttribute(t,"margin-right",n),t.style.marginRight=parseFloat(i)-e._scrollbarWidth+"px"});var t=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",t),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(ClassName$5.OPEN)},t._resetScrollbar=function(){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach(function(e){var t=Manipulator.getDataAttribute(e,"padding-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"padding-right"),e.style.paddingRight=t)}),makeArray(SelectorEngine.find(""+Selector$5.STICKY_CONTENT)).forEach(function(e){var t=Manipulator.getDataAttribute(e,"margin-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"margin-right"),e.style.marginRight=t)});var e=Manipulator.getDataAttribute(document.body,"padding-right");void 0===e?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=e)},t._getScrollbarWidth=function(){var e=document.createElement("div");e.className=ClassName$5.SCROLLBAR_MEASURER,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},e.jQueryInterface=function(t,n){return this.each(function(){var i=Data.getData(this,DATA_KEY$5),r=_objectSpread2({},Default$3,{},Manipulator.getDataAttributes(this),{},"object"==typeof t&&t?t:{});if(i||(i=new e(this,r)),"string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'+t+'"');i[t](n)}else r.show&&i.show(n)})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$5)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),e}();EventHandler.on(document,Event$6.CLICK_DATA_API,Selector$5.DATA_TOGGLE,function(e){var t=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault(),EventHandler.one(n,Event$6.SHOW,function(e){e.defaultPrevented||EventHandler.one(n,Event$6.HIDDEN,function(){isVisible(t)&&t.focus()})});var i=Data.getData(n,DATA_KEY$5);if(!i){var r=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this));i=new Modal(n,r)}i.show(this)});var $$6=getjQuery();if($$6){var JQUERY_NO_CONFLICT$5=$$6.fn[NAME$5];$$6.fn[NAME$5]=Modal.jQueryInterface,$$6.fn[NAME$5].Constructor=Modal,$$6.fn[NAME$5].noConflict=function(){return $$6.fn[NAME$5]=JQUERY_NO_CONFLICT$5,Modal.jQueryInterface}}var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,allowedAttribute=function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===uriAttrs.indexOf(n)||Boolean(e.nodeValue.match(SAFE_URL_PATTERN)||e.nodeValue.match(DATA_URL_PATTERN));for(var i=t.filter(function(e){return e instanceof RegExp}),r=0,a=i.length;r<a;r++)if(n.match(i[r]))return!0;return!1},DefaultWhitelist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);for(var i=(new window.DOMParser).parseFromString(e,"text/html"),r=Object.keys(t),a=makeArray(i.body.querySelectorAll("*")),o=function(e,n){var i=a[e],o=i.nodeName.toLowerCase();if(-1===r.indexOf(o))return i.parentNode.removeChild(i),"continue";var s=makeArray(i.attributes),l=[].concat(t["*"]||[],t[o]||[]);s.forEach(function(e){allowedAttribute(e,l)||i.removeAttribute(e.nodeName)})},s=0,l=a.length;s<l;s++)o(s);return i.body.innerHTML}var NAME$6="tooltip",VERSION$6="4.3.1",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},AttachmentMap$1={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist,popperConfig:null},HoverState={SHOW:"show",OUT:"out"},Event$7={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},ClassName$6={FADE:"fade",SHOW:"show"},Selector$6={TOOLTIP_INNER:".tooltip-inner"},Trigger={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},Tooltip=function(){function e(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),Data.setData(e,this.constructor.DATA_KEY,this)}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=Data.getData(e.delegateTarget,t);n||(n=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(ClassName$6.SHOW))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),a=getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&r.classList.add(ClassName$6.FADE);var o="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,s=this._getAttachment(o);this._addAttachmentClass(s);var l=this._getContainer();Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||l.appendChild(r),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,r,this._getPopperConfig(s)),r.classList.add(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach(function(e){EventHandler.on(e,"mouseover",noop())});var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,EventHandler.trigger(e.element,e.constructor.Event.SHOWN),t===HoverState.OUT&&e._leave(null,e)};if(this.tip.classList.contains(ClassName$6.FADE)){var u=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,c),emulateTransitionEnd(this.tip,u)}else c()}},t.hide=function(){var e=this,t=this.getTipElement(),n=function(){e._hoverState!==HoverState.SHOW&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),EventHandler.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(t.classList.remove(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach(function(e){return EventHandler.off(e,"mouseover",noop)}),this._activeTrigger[Trigger.CLICK]=!1,this._activeTrigger[Trigger.FOCUS]=!1,this._activeTrigger[Trigger.HOVER]=!1,this.tip.classList.contains(ClassName$6.FADE)){var i=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,n),emulateTransitionEnd(t,i)}else n();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER,e),this.getTitle()),e.classList.remove(ClassName$6.FADE),e.classList.remove(ClassName$6.SHOW)},t.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&isElement(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.innerText=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=sanitizeHtml(t,this.config.whiteList,this.config.sanitizeFn)),e.innerHTML=t):e.innerText=t)},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return _objectSpread2({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},t._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX+"-"+e)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},t._getAttachment=function(e){return AttachmentMap$1[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)EventHandler.on(e.element,e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(t!==Trigger.MANUAL){var n=t===Trigger.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=t===Trigger.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;EventHandler.on(e.element,n,e.config.selector,function(t){return e._enter(t)}),EventHandler.on(e.element,i,e.config.selector,function(t){return e._leave(t)})}}),this._hideModalHandler=function(){e.element&&e.hide()},EventHandler.on(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_objectSpread2({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusin"===e.type?Trigger.FOCUS:Trigger.HOVER]=!0),t.getTipElement().classList.contains(ClassName$6.SHOW)||t._hoverState===HoverState.SHOW?t._hoverState=HoverState.SHOW:(clearTimeout(t._timeout),t._hoverState=HoverState.SHOW,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===HoverState.SHOW&&t.show()},t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusout"===e.type?Trigger.FOCUS:Trigger.HOVER]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=HoverState.OUT,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){t._hoverState===HoverState.OUT&&t.hide()},t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=Manipulator.getDataAttributes(this.element);return Object.keys(t).forEach(function(e){-1!==DISALLOWED_ATTRIBUTES.indexOf(e)&&delete t[e]}),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=_objectSpread2({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),typeCheckConfig(NAME$6,e,this.constructor.DefaultType),e.sanitize&&(e.template=sanitizeHtml(e.template,e.whiteList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==t&&t.length&&t.map(function(e){return e.trim()}).forEach(function(t){return e.classList.remove(t)})},t._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove(ClassName$6.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$6)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$7}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),e}(),$$7=getjQuery();if($$7){var JQUERY_NO_CONFLICT$6=$$7.fn[NAME$6];$$7.fn[NAME$6]=Tooltip.jQueryInterface,$$7.fn[NAME$6].Constructor=Tooltip,$$7.fn[NAME$6].noConflict=function(){return $$7.fn[NAME$6]=JQUERY_NO_CONFLICT$6,Tooltip.jQueryInterface}}var NAME$7="popover",VERSION$7="4.3.1",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_objectSpread2({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_objectSpread2({},Tooltip.DefaultType,{content:"(string|element|function)"}),ClassName$7={FADE:"fade",SHOW:"show"},Selector$7={TITLE:".popover-header",CONTENT:".popover-body"},Event$8={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},Popover=function(e){function t(){return e.apply(this,arguments)||this}_inheritsLoose(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE,e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT,e),t),e.classList.remove(ClassName$7.FADE),e.classList.remove(ClassName$7.SHOW)},n._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+e)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==t&&t.length>0&&t.map(function(e){return e.trim()}).forEach(function(t){return e.classList.remove(t)})},t.jQueryInterface=function(e){return this.each(function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(e){return Data.getData(e,DATA_KEY$7)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$8}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),t}(Tooltip),$$8=getjQuery();if($$8){var JQUERY_NO_CONFLICT$7=$$8.fn[NAME$7];$$8.fn[NAME$7]=Popover.jQueryInterface,$$8.fn[NAME$7].Constructor=Popover,$$8.fn[NAME$7].noConflict=function(){return $$8.fn[NAME$7]=JQUERY_NO_CONFLICT$7,Popover.jQueryInterface}}var NAME$8="scrollspy",VERSION$8="4.3.1",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},Event$9={ACTIVATE:"activate"+EVENT_KEY$8,SCROLL:"scroll"+EVENT_KEY$8,LOAD_DATA_API:"load"+EVENT_KEY$8+DATA_API_KEY$6},ClassName$8={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Selector$8={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},OffsetMethod={OFFSET:"offset",POSITION:"position"},ScrollSpy=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+Selector$8.NAV_LINKS+","+this._config.target+" "+Selector$8.LIST_ITEMS+","+this._config.target+" ."+ClassName$8.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,Event$9.SCROLL,function(e){return n._process(e)}),this.refresh(),this._process(),Data.setData(e,DATA_KEY$8,this)}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?OffsetMethod.OFFSET:OffsetMethod.POSITION,n="auto"===this._config.method?t:this._config.method,i=n===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),makeArray(SelectorEngine.find(this._selector)).map(function(e){var t,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var a=t.getBoundingClientRect();if(a.width||a.height)return[Manipulator[n](t).top+i,r]}return null}).filter(function(e){return e}).sort(function(e,t){return e[0]-t[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=_objectSpread2({},Default$6,{},"object"==typeof e&&e?e:{})).target){var t=e.target.id;t||(t=getUID(NAME$8),e.target.id=t),e.target="#"+t}return typeCheckConfig(NAME$8,e,DefaultType$6),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=SelectorEngine.findOne(t.join(","));n.classList.contains(ClassName$8.DROPDOWN_ITEM)?(SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE,SelectorEngine.closest(n,Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE),n.classList.add(ClassName$8.ACTIVE)):(n.classList.add(ClassName$8.ACTIVE),SelectorEngine.parents(n,Selector$8.NAV_LIST_GROUP).forEach(function(e){SelectorEngine.prev(e,Selector$8.NAV_LINKS+", "+Selector$8.LIST_ITEMS).forEach(function(e){return e.classList.add(ClassName$8.ACTIVE)}),SelectorEngine.prev(e,Selector$8.NAV_ITEMS).forEach(function(e){SelectorEngine.children(e,Selector$8.NAV_LINKS).forEach(function(e){return e.classList.add(ClassName$8.ACTIVE)})})})),EventHandler.trigger(this._scrollElement,Event$9.ACTIVATE,{relatedTarget:e})},t._clear=function(){makeArray(SelectorEngine.find(this._selector)).filter(function(e){return e.classList.contains(ClassName$8.ACTIVE)}).forEach(function(e){return e.classList.remove(ClassName$8.ACTIVE)})},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$8)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),e}();EventHandler.on(window,Event$9.LOAD_DATA_API,function(){makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach(function(e){return new ScrollSpy(e,Manipulator.getDataAttributes(e))})});var $$9=getjQuery();if($$9){var JQUERY_NO_CONFLICT$8=$$9.fn[NAME$8];$$9.fn[NAME$8]=ScrollSpy.jQueryInterface,$$9.fn[NAME$8].Constructor=ScrollSpy,$$9.fn[NAME$8].noConflict=function(){return $$9.fn[NAME$8]=JQUERY_NO_CONFLICT$8,ScrollSpy.jQueryInterface}}var NAME$9="tab",VERSION$9="4.3.1",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",Event$a={HIDE:"hide"+EVENT_KEY$9,HIDDEN:"hidden"+EVENT_KEY$9,SHOW:"show"+EVENT_KEY$9,SHOWN:"shown"+EVENT_KEY$9,CLICK_DATA_API:"click"+EVENT_KEY$9+DATA_API_KEY$7},ClassName$9={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},Selector$9={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:":scope > li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:":scope > .dropdown-menu .active"},Tab=function(){function e(e){this._element=e,Data.setData(this._element,DATA_KEY$9,this)}var t=e.prototype;return t.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ClassName$9.ACTIVE)||this._element.classList.contains(ClassName$9.DISABLED))){var t,n=getElementFromSelector(this._element),i=SelectorEngine.closest(this._element,Selector$9.NAV_LIST_GROUP);if(i){var r="UL"===i.nodeName||"OL"===i.nodeName?Selector$9.ACTIVE_UL:Selector$9.ACTIVE;t=(t=makeArray(SelectorEngine.find(r,i)))[t.length-1]}var a=null;if(t&&(a=EventHandler.trigger(t,Event$a.HIDE,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,Event$a.SHOW,{relatedTarget:t}).defaultPrevented||null!==a&&a.defaultPrevented)){this._activate(this._element,i);var o=function(){EventHandler.trigger(t,Event$a.HIDDEN,{relatedTarget:e._element}),EventHandler.trigger(e._element,Event$a.SHOWN,{relatedTarget:t})};n?this._activate(n,n.parentNode,o):o()}}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},t._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?SelectorEngine.children(t,Selector$9.ACTIVE):SelectorEngine.find(Selector$9.ACTIVE_UL,t))[0],a=n&&r&&r.classList.contains(ClassName$9.FADE),o=function(){return i._transitionComplete(e,r,n)};if(r&&a){var s=getTransitionDurationFromElement(r);r.classList.remove(ClassName$9.SHOW),EventHandler.one(r,TRANSITION_END,o),emulateTransitionEnd(r,s)}else o()},t._transitionComplete=function(e,t,n){if(t){t.classList.remove(ClassName$9.ACTIVE);var i=SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD,t.parentNode);i&&i.classList.remove(ClassName$9.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add(ClassName$9.ACTIVE),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),reflow(e),e.classList.contains(ClassName$9.FADE)&&e.classList.add(ClassName$9.SHOW),e.parentNode&&e.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU))&&(SelectorEngine.closest(e,Selector$9.DROPDOWN)&&makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach(function(e){return e.classList.add(ClassName$9.ACTIVE)}),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY$9)||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$9)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$9}}]),e}();EventHandler.on(document,Event$a.CLICK_DATA_API,Selector$9.DATA_TOGGLE,function(e){e.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()});var $$a=getjQuery();if($$a){var JQUERY_NO_CONFLICT$9=$$a.fn[NAME$9];$$a.fn[NAME$9]=Tab.jQueryInterface,$$a.fn[NAME$9].Constructor=Tab,$$a.fn[NAME$9].noConflict=function(){return $$a.fn[NAME$9]=JQUERY_NO_CONFLICT$9,Tab.jQueryInterface}}var NAME$a="toast",VERSION$a="4.3.1",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,Event$b={CLICK_DISMISS:"click.dismiss"+EVENT_KEY$a,HIDE:"hide"+EVENT_KEY$a,HIDDEN:"hidden"+EVENT_KEY$a,SHOW:"show"+EVENT_KEY$a,SHOWN:"shown"+EVENT_KEY$a},ClassName$a={FADE:"fade",HIDE:"hide",SHOW:"show",SHOWING:"showing"},DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:500},Selector$a={DATA_DISMISS:'[data-dismiss="toast"]'},Toast=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),Data.setData(e,DATA_KEY$a,this)}var t=e.prototype;return t.show=function(){var e=this;if(!EventHandler.trigger(this._element,Event$b.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(ClassName$a.FADE);var t=function(){e._element.classList.remove(ClassName$a.SHOWING),e._element.classList.add(ClassName$a.SHOW),EventHandler.trigger(e._element,Event$b.SHOWN),e._config.autohide&&(e._timeout=setTimeout(function(){e.hide()},e._config.delay))};if(this._element.classList.remove(ClassName$a.HIDE),reflow(this._element),this._element.classList.add(ClassName$a.SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.hide=function(){var e=this;if(this._element.classList.contains(ClassName$a.SHOW)&&!EventHandler.trigger(this._element,Event$b.HIDE).defaultPrevented){var t=function(){e._element.classList.add(ClassName$a.HIDE),EventHandler.trigger(e._element,Event$b.HIDDEN)};if(this._element.classList.remove(ClassName$a.SHOW),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ClassName$a.SHOW)&&this._element.classList.remove(ClassName$a.SHOW),EventHandler.off(this._element,Event$b.CLICK_DISMISS),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},t._getConfig=function(e){return e=_objectSpread2({},Default$7,{},Manipulator.getDataAttributes(this._element),{},"object"==typeof e&&e?e:{}),typeCheckConfig(NAME$a,e,this.constructor.DefaultType),e},t._setListeners=function(){var e=this;EventHandler.on(this._element,Event$b.CLICK_DISMISS,Selector$a.DATA_DISMISS,function(){return e.hide()})},e.jQueryInterface=function(t){return this.each(function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}})},e.getInstance=function(e){return Data.getData(e,DATA_KEY$a)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),e}(),$$b=getjQuery();if($$b){var JQUERY_NO_CONFLICT$a=$$b.fn[NAME$a];$$b.fn[NAME$a]=Toast.jQueryInterface,$$b.fn[NAME$a].Constructor=Toast,$$b.fn[NAME$a].noConflict=function(){return $$b.fn[NAME$a]=JQUERY_NO_CONFLICT$a,Toast.jQueryInterface}}export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
+import Popper from"popper.js";function _defineProperties(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _inheritsLoose(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",toType=function(e){return{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()},getUID=function(e){do{e+=~~(Math.random()*MAX_UID)}while(document.getElementById(e));return e},getSelector=function(e){var t=e.getAttribute("data-target");if(!t||"#"===t){var n=e.getAttribute("href");t=n&&"#"!==n?n.trim():null}return t},getSelectorFromElement=function(e){var t=getSelector(e);return t&&document.querySelector(t)?t:null},getElementFromSelector=function(e){var t=getSelector(e);return t?document.querySelector(t):null},getTransitionDurationFromElement=function(e){if(!e)return 0;var t=window.getComputedStyle(e),n=t.transitionDuration,i=t.transitionDelay,r=parseFloat(n),a=parseFloat(i);return r||a?(n=n.split(",")[0],i=i.split(",")[0],(parseFloat(n)+parseFloat(i))*MILLISECONDS_MULTIPLIER):0},triggerTransitionEnd=function(e){var t=document.createEvent("HTMLEvents");t.initEvent(TRANSITION_END,!0,!0),e.dispatchEvent(t)},isElement=function(e){return(e[0]||e).nodeType},emulateTransitionEnd=function(e,t){var n=!1,i=t+5;e.addEventListener(TRANSITION_END,(function t(){n=!0,e.removeEventListener(TRANSITION_END,t)})),setTimeout((function(){n||triggerTransitionEnd(e)}),i)},typeCheckConfig=function(e,t,n){Object.keys(n).forEach((function(i){var r=n[i],a=t[i],o=a&&isElement(a)?"element":toType(a);if(!new RegExp(r).test(o))throw new Error(e.toUpperCase()+': Option "'+i+'" provided type "'+o+'" but expected type "'+r+'".')}))},makeArray=function(e){return e?[].slice.call(e):[]},isVisible=function(e){return!!e&&(!!(e.style&&e.parentNode&&e.parentNode.style)&&("none"!==e.style.display&&"none"!==e.parentNode.style.display&&"hidden"!==e.style.visibility))},findShadowRoot=function e(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var n=t.getRootNode();return n instanceof ShadowRoot?n:null}return t instanceof ShadowRoot?t:t.parentNode?e(t.parentNode):null},noop=function(){return function(){}},reflow=function(e){return e.offsetHeight},getjQuery=function(){var e=window.jQuery;return e&&!document.body.hasAttribute("data-no-jquery")?e:null},mapData=function(){var e={},t=1;return{set:function(n,i,r){void 0===n.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),Data={setData:function(e,t,n){mapData.set(e,t,n)},getData:function(e,t){return mapData.get(e,t)},removeData:function(e,t){mapData.delete(e,t)}},_Element$prototype=Element.prototype,matches=_Element$prototype.matches,closest=_Element$prototype.closest,find=Element.prototype.querySelectorAll,findOne=Element.prototype.querySelector,createCustomEvent=function(e,t){return new CustomEvent(e,t)};"function"!=typeof window.CustomEvent&&(createCustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n});var workingDefaultPrevented=function(){var e=document.createEvent("CustomEvent");return e.initEvent("Bootstrap",!0,!0),e.preventDefault(),e.defaultPrevented}();if(!workingDefaultPrevented){var origPreventDefault=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(origPreventDefault.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var defaultPreventedPreservedOnDispatch=function(){var e=createCustomEvent("Bootstrap",{cancelable:!0}),t=document.createElement("div");return t.addEventListener("Bootstrap",(function(){return null})),e.preventDefault(),t.dispatchEvent(e),e.defaultPrevented}();matches||(matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),closest||(closest=function(e){var t=this;do{if(matches.call(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null});var scopeSelectorRegex=/:scope\b/,supportScopeQuery=function(){var e=document.createElement("div");try{e.querySelectorAll(":scope *")}catch(e){return!1}return!0}();supportScopeQuery||(find=function(e){if(!scopeSelectorRegex.test(e))return this.querySelectorAll(e);var t=Boolean(this.id);t||(this.id=getUID("scope"));var n=null;try{e=e.replace(scopeSelectorRegex,"#"+this.id),n=this.querySelectorAll(e)}finally{t||this.removeAttribute("id")}return n},findOne=function(e){if(!scopeSelectorRegex.test(e))return this.querySelector(e);var t=find.call(this,e);return void 0!==t[0]?t[0]:null});var $=getjQuery(),namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,keyEventRegex=/^key/,stripUidRegex=/::\d+$/,eventRegistry={},uidEvent=1,customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function getUidEvent(e,t){return t&&t+"::"+uidEvent++||e.uidEvent||uidEvent++}function getEvent(e){var t=getUidEvent(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function fixEvent(e,t){null===e.which&&keyEventRegex.test(e.type)&&(e.which=null===e.charCode?e.keyCode:e.charCode),e.delegateTarget=t}function bootstrapHandler(e,t){return function n(i){return fixEvent(i,e),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(r){for(var a=e.querySelectorAll(t),o=r.target;o&&o!==this;o=o.parentNode)for(var s=a.length;s--;)if(a[s]===o)return fixEvent(r,o),i.oneOff&&EventHandler.off(e,r.type,n),n.apply(o,[r]);return null}}function findHandler(e,t,n){void 0===n&&(n=null);for(var i=Object.keys(e),r=0,a=i.length;r<a;r++){var o=e[i[r]];if(o.originalHandler===t&&o.delegationSelector===n)return o}return null}function normalizeParams(e,t,n){var i="string"==typeof t,r=i?n:t,a=e.replace(stripNameRegex,""),o=customEvents[a];return o&&(a=o),nativeEvents.indexOf(a)>-1||(a=e),[i,r,a]}function addHandler(e,t,n,i,r){if("string"==typeof t&&e){n||(n=i,i=null);var a=normalizeParams(t,n,i),o=a[0],s=a[1],l=a[2],c=getEvent(e),u=c[l]||(c[l]={}),E=findHandler(u,s,o?n:null);if(E)E.oneOff=E.oneOff&&r;else{var f=getUidEvent(s,t.replace(namespaceRegex,"")),d=o?bootstrapDelegationHandler(e,n,i):bootstrapHandler(e,n);d.delegationSelector=o?n:null,d.originalHandler=s,d.oneOff=r,d.uidEvent=f,u[f]=d,e.addEventListener(l,d,o)}}}function removeHandler(e,t,n,i,r){var a=findHandler(t[n],i,r);a&&(e.removeEventListener(n,a,Boolean(r)),delete t[n][a.uidEvent])}function removeNamespacedHandlers(e,t,n,i){var r=t[n]||{};Object.keys(r).forEach((function(a){if(a.indexOf(i)>-1){var o=r[a];removeHandler(e,t,n,o.originalHandler,o.delegationSelector)}}))}var EventHandler={on:function(e,t,n,i){addHandler(e,t,n,i,!1)},one:function(e,t,n,i){addHandler(e,t,n,i,!0)},off:function(e,t,n,i){if("string"==typeof t&&e){var r=normalizeParams(t,n,i),a=r[0],o=r[1],s=r[2],l=s!==t,c=getEvent(e),u="."===t.charAt(0);if(void 0===o){u&&Object.keys(c).forEach((function(n){removeNamespacedHandlers(e,c,n,t.slice(1))}));var E=c[s]||{};Object.keys(E).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!l||t.indexOf(i)>-1){var r=E[n];removeHandler(e,c,s,r.originalHandler,r.delegationSelector)}}))}else{if(!c||!c[s])return;removeHandler(e,c,s,o,a?n:null)}}},trigger:function(e,t,n){if("string"!=typeof t||!e)return null;var i,r=t.replace(stripNameRegex,""),a=t!==r,o=nativeEvents.indexOf(r)>-1,s=!0,l=!0,c=!1,u=null;return a&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),o?(u=document.createEvent("HTMLEvents")).initEvent(r,s,!0):u=createCustomEvent(t,{bubbles:s,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(e){Object.defineProperty(u,e,{get:function(){return n[e]}})})),c&&(u.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&e.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},NODE_TEXT=3,SelectorEngine={matches:function(e,t){return matches.call(e,t)},find:function(e,t){return void 0===t&&(t=document.documentElement),find.call(t,e)},findOne:function(e,t){return void 0===t&&(t=document.documentElement),findOne.call(t,e)},children:function(e,t){var n=this,i=makeArray(e.children);return i.filter((function(e){return n.matches(e,t)}))},parents:function(e,t){for(var n=[],i=e.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.parentNode;return n},closest:function(e,t){return closest.call(e,t)},prev:function(e,t){for(var n=[],i=e.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&i.nodeType!==NODE_TEXT;)this.matches(i,t)&&n.push(i),i=i.previousSibling;return n}},NAME="alert",VERSION="4.3.1",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",Selector={DISMISS:'[data-dismiss="alert"]'},Event$1={CLOSE:"close"+EVENT_KEY,CLOSED:"closed"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={ALERT:"alert",FADE:"fade",SHOW:"show"},Alert=function(){function e(e){this._element=e,this._element&&Data.setData(e,DATA_KEY,this)}var t=e.prototype;return t.close=function(e){var t=this._element;e&&(t=this._getRootElement(e));var n=this._triggerCloseEvent(t);null===n||n.defaultPrevented||this._removeElement(t)},t.dispose=function(){Data.removeData(this._element,DATA_KEY),this._element=null},t._getRootElement=function(e){var t=getElementFromSelector(e);return t||(t=SelectorEngine.closest(e,"."+ClassName.ALERT)),t},t._triggerCloseEvent=function(e){return EventHandler.trigger(e,Event$1.CLOSE)},t._removeElement=function(e){var t=this;if(e.classList.remove(ClassName.SHOW),e.classList.contains(ClassName.FADE)){var n=getTransitionDurationFromElement(e);EventHandler.one(e,TRANSITION_END,(function(){return t._destroyElement(e)})),emulateTransitionEnd(e,n)}else this._destroyElement(e)},t._destroyElement=function(e){e.parentNode&&e.parentNode.removeChild(e),EventHandler.trigger(e,Event$1.CLOSED)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY);n||(n=new e(this)),"close"===t&&n[t](this)}))},e.handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},e.getInstance=function(e){return Data.getData(e,DATA_KEY)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION}}]),e}();EventHandler.on(document,Event$1.CLICK_DATA_API,Selector.DISMISS,Alert.handleDismiss(new Alert));var $$1=getjQuery();if($$1){var JQUERY_NO_CONFLICT=$$1.fn[NAME];$$1.fn[NAME]=Alert.jQueryInterface,$$1.fn[NAME].Constructor=Alert,$$1.fn[NAME].noConflict=function(){return $$1.fn[NAME]=JQUERY_NO_CONFLICT,Alert.jQueryInterface}}var NAME$1="button",VERSION$1="4.3.1",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",ClassName$1={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},Selector$1={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:'input:not([type="hidden"])',ACTIVE:".active",BUTTON:".btn"},Event$2={CLICK_DATA_API:"click"+EVENT_KEY$1+DATA_API_KEY$1,FOCUS_DATA_API:"focus"+EVENT_KEY$1+DATA_API_KEY$1,BLUR_DATA_API:"blur"+EVENT_KEY$1+DATA_API_KEY$1},Button=function(){function e(e){this._element=e,Data.setData(e,DATA_KEY$1,this)}var t=e.prototype;return t.toggle=function(){var e=!0,t=!0,n=SelectorEngine.closest(this._element,Selector$1.DATA_TOGGLE);if(n){var i=SelectorEngine.findOne(Selector$1.INPUT,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ClassName$1.ACTIVE))e=!1;else{var r=SelectorEngine.findOne(Selector$1.ACTIVE,n);r&&r.classList.remove(ClassName$1.ACTIVE)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ClassName$1.ACTIVE),EventHandler.trigger(i,"change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ClassName$1.ACTIVE)),e&&this._element.classList.toggle(ClassName$1.ACTIVE)},t.dispose=function(){Data.removeData(this._element,DATA_KEY$1),this._element=null},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$1);n||(n=new e(this)),"toggle"===t&&n[t]()}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$1)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$1}}]),e}();EventHandler.on(document,Event$2.CLICK_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){e.preventDefault();var t=e.target;t.classList.contains(ClassName$1.BUTTON)||(t=SelectorEngine.closest(t,Selector$1.BUTTON));var n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()})),EventHandler.on(document,Event$2.FOCUS_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.add(ClassName$1.FOCUS)})),EventHandler.on(document,Event$2.BLUR_DATA_API,Selector$1.DATA_TOGGLE_CARROT,(function(e){var t=SelectorEngine.closest(e.target,Selector$1.BUTTON);t&&t.classList.remove(ClassName$1.FOCUS)}));var $$2=getjQuery();if($$2){var JQUERY_NO_CONFLICT$1=$$2.fn[NAME$1];$$2.fn[NAME$1]=Button.jQueryInterface,$$2.fn[NAME$1].Constructor=Button,$$2.fn[NAME$1].noConflict=function(){return $$2.fn[NAME$1]=JQUERY_NO_CONFLICT$1,Button.jQueryInterface}}function normalizeData(e){return"true"===e||"false"!==e&&(e===Number(e).toString()?Number(e):""===e||"null"===e?null:e)}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(function(e){return e.toLowerCase()}))}var Manipulator={setDataAttribute:function(e,t,n){e.setAttribute("data-"+normalizeDataKey(t),n)},removeDataAttribute:function(e,t){e.removeAttribute("data-"+normalizeDataKey(t))},getDataAttributes:function(e){if(!e)return{};var t=_objectSpread2({},e.dataset);return Object.keys(t).forEach((function(e){t[e]=normalizeData(t[e])})),t},getDataAttribute:function(e,t){return normalizeData(e.getAttribute("data-"+normalizeDataKey(t)))},offset:function(e){var t=e.getBoundingClientRect();return{top:t.top+document.body.scrollTop,left:t.left+document.body.scrollLeft}},position:function(e){return{top:e.offsetTop,left:e.offsetLeft}},toggleClass:function(e,t){e&&(e.classList.contains(t)?e.classList.remove(t):e.classList.add(t))}},NAME$2="carousel",VERSION$2="4.3.1",DATA_KEY$2="bs.carousel",EVENT_KEY$2="."+DATA_KEY$2,DATA_API_KEY$2=".data-api",ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,TOUCHEVENT_COMPAT_WAIT=500,SWIPE_THRESHOLD=40,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Direction={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},Event$3={SLIDE:"slide"+EVENT_KEY$2,SLID:"slid"+EVENT_KEY$2,KEYDOWN:"keydown"+EVENT_KEY$2,MOUSEENTER:"mouseenter"+EVENT_KEY$2,MOUSELEAVE:"mouseleave"+EVENT_KEY$2,TOUCHSTART:"touchstart"+EVENT_KEY$2,TOUCHMOVE:"touchmove"+EVENT_KEY$2,TOUCHEND:"touchend"+EVENT_KEY$2,POINTERDOWN:"pointerdown"+EVENT_KEY$2,POINTERUP:"pointerup"+EVENT_KEY$2,DRAG_START:"dragstart"+EVENT_KEY$2,LOAD_DATA_API:"load"+EVENT_KEY$2+DATA_API_KEY$2,CLICK_DATA_API:"click"+EVENT_KEY$2+DATA_API_KEY$2},ClassName$2={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item",POINTER_EVENT:"pointer-event"},Selector$2={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},PointerType={TOUCH:"touch",PEN:"pen"},Carousel=function(){function e(e,t){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(t),this._element=e,this._indicatorsElement=SelectorEngine.findOne(Selector$2.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),Data.setData(e,DATA_KEY$2,this)}var t=e.prototype;return t.next=function(){this._isSliding||this._slide(Direction.NEXT)},t.nextWhenVisible=function(){!document.hidden&&isVisible(this._element)&&this.next()},t.prev=function(){this._isSliding||this._slide(Direction.PREV)},t.pause=function(e){e||(this._isPaused=!0),SelectorEngine.findOne(Selector$2.NEXT_PREV,this._element)&&(triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(e){e||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(e){var t=this;this._activeElement=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)EventHandler.one(this._element,Event$3.SLID,(function(){return t.to(e)}));else{if(n===e)return this.pause(),void this.cycle();var i=e>n?Direction.NEXT:Direction.PREV;this._slide(i,this._items[e])}},t.dispose=function(){EventHandler.off(this._element,EVENT_KEY$2),Data.removeData(this._element,DATA_KEY$2),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(e){return e=_objectSpread2({},Default,{},e),typeCheckConfig(NAME$2,e,DefaultType),e},t._handleSwipe=function(){var e=Math.abs(this.touchDeltaX);if(!(e<=SWIPE_THRESHOLD)){var t=e/this.touchDeltaX;this.touchDeltaX=0,t>0&&this.prev(),t<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&EventHandler.on(this._element,Event$3.KEYDOWN,(function(t){return e._keydown(t)})),"hover"===this._config.pause&&(EventHandler.on(this._element,Event$3.MOUSEENTER,(function(t){return e.pause(t)})),EventHandler.on(this._element,Event$3.MOUSELEAVE,(function(t){return e.cycle(t)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var e=this,t=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]?e.touchStartX=t.clientX:e._pointerEvent||(e.touchStartX=t.touches[0].clientX)},n=function(t){e._pointerEvent&&PointerType[t.pointerType.toUpperCase()]&&(e.touchDeltaX=t.clientX-e.touchStartX),e._handleSwipe(),"hover"===e._config.pause&&(e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout((function(t){return e.cycle(t)}),TOUCHEVENT_COMPAT_WAIT+e._config.interval))};makeArray(SelectorEngine.find(Selector$2.ITEM_IMG,this._element)).forEach((function(e){EventHandler.on(e,Event$3.DRAG_START,(function(e){return e.preventDefault()}))})),this._pointerEvent?(EventHandler.on(this._element,Event$3.POINTERDOWN,(function(e){return t(e)})),EventHandler.on(this._element,Event$3.POINTERUP,(function(e){return n(e)})),this._element.classList.add(ClassName$2.POINTER_EVENT)):(EventHandler.on(this._element,Event$3.TOUCHSTART,(function(e){return t(e)})),EventHandler.on(this._element,Event$3.TOUCHMOVE,(function(t){return function(t){t.touches&&t.touches.length>1?e.touchDeltaX=0:e.touchDeltaX=t.touches[0].clientX-e.touchStartX}(t)})),EventHandler.on(this._element,Event$3.TOUCHEND,(function(e){return n(e)})))},t._keydown=function(e){if(!/input|textarea/i.test(e.target.tagName))switch(e.which){case ARROW_LEFT_KEYCODE:e.preventDefault(),this.prev();break;case ARROW_RIGHT_KEYCODE:e.preventDefault(),this.next()}},t._getItemIndex=function(e){return this._items=e&&e.parentNode?makeArray(SelectorEngine.find(Selector$2.ITEM,e.parentNode)):[],this._items.indexOf(e)},t._getItemByDirection=function(e,t){var n=e===Direction.NEXT,i=e===Direction.PREV,r=this._getItemIndex(t),a=this._items.length-1;if((i&&0===r||n&&r===a)&&!this._config.wrap)return t;var o=(r+(e===Direction.PREV?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},t._triggerSlideEvent=function(e,t){var n=this._getItemIndex(e),i=this._getItemIndex(SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element));return EventHandler.trigger(this._element,Event$3.SLIDE,{relatedTarget:e,direction:t,from:i,to:n})},t._setActiveIndicatorElement=function(e){if(this._indicatorsElement){for(var t=SelectorEngine.find(Selector$2.ACTIVE,this._indicatorsElement),n=0;n<t.length;n++)t[n].classList.remove(ClassName$2.ACTIVE);var i=this._indicatorsElement.children[this._getItemIndex(e)];i&&i.classList.add(ClassName$2.ACTIVE)}},t._slide=function(e,t){var n,i,r,a=this,o=SelectorEngine.findOne(Selector$2.ACTIVE_ITEM,this._element),s=this._getItemIndex(o),l=t||o&&this._getItemByDirection(e,o),c=this._getItemIndex(l),u=Boolean(this._interval);if(e===Direction.NEXT?(n=ClassName$2.LEFT,i=ClassName$2.NEXT,r=Direction.LEFT):(n=ClassName$2.RIGHT,i=ClassName$2.PREV,r=Direction.RIGHT),l&&l.classList.contains(ClassName$2.ACTIVE))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).defaultPrevented&&o&&l){if(this._isSliding=!0,u&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(ClassName$2.SLIDE)){l.classList.add(i),reflow(l),o.classList.add(n),l.classList.add(n);var E=parseInt(l.getAttribute("data-interval"),10);E?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=E):this._config.interval=this._config.defaultInterval||this._config.interval;var f=getTransitionDurationFromElement(o);EventHandler.one(o,TRANSITION_END,(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(ClassName$2.ACTIVE),o.classList.remove(ClassName$2.ACTIVE),o.classList.remove(i),o.classList.remove(n),a._isSliding=!1,setTimeout((function(){EventHandler.trigger(a._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c})}),0)})),emulateTransitionEnd(o,f)}else o.classList.remove(ClassName$2.ACTIVE),l.classList.add(ClassName$2.ACTIVE),this._isSliding=!1,EventHandler.trigger(this._element,Event$3.SLID,{relatedTarget:l,direction:r,from:s,to:c});u&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_objectSpread2({},Default,{},Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2({},r,{},n));var a="string"==typeof n?n:r.slide;if(i||(i=new e(t,r)),"number"==typeof n)i.to(n);else if("string"==typeof a){if(void 0===i[a])throw new TypeError('No method named "'+a+'"');i[a]()}else r.interval&&r.ride&&(i.pause(),i.cycle())},e.jQueryInterface=function(t){return this.each((function(){e.carouselInterface(this,t)}))},e.dataApiClickHandler=function(t){var n=getElementFromSelector(this);if(n&&n.classList.contains(ClassName$2.CAROUSEL)){var i=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),e.carouselInterface(n,i),r&&Data.getData(n,DATA_KEY$2).to(r),t.preventDefault()}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$2)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$2}},{key:"Default",get:function(){return Default}}]),e}();EventHandler.on(document,Event$3.CLICK_DATA_API,Selector$2.DATA_SLIDE,Carousel.dataApiClickHandler),EventHandler.on(window,Event$3.LOAD_DATA_API,(function(){for(var e=makeArray(SelectorEngine.find(Selector$2.DATA_RIDE)),t=0,n=e.length;t<n;t++)Carousel.carouselInterface(e[t],Data.getData(e[t],DATA_KEY$2))}));var $$3=getjQuery();if($$3){var JQUERY_NO_CONFLICT$2=$$3.fn[NAME$2];$$3.fn[NAME$2]=Carousel.jQueryInterface,$$3.fn[NAME$2].Constructor=Carousel,$$3.fn[NAME$2].noConflict=function(){return $$3.fn[NAME$2]=JQUERY_NO_CONFLICT$2,Carousel.jQueryInterface}}var NAME$3="collapse",VERSION$3="4.3.1",DATA_KEY$3="bs.collapse",EVENT_KEY$3="."+DATA_KEY$3,DATA_API_KEY$3=".data-api",Default$1={toggle:!0,parent:""},DefaultType$1={toggle:"boolean",parent:"(string|element)"},Event$4={SHOW:"show"+EVENT_KEY$3,SHOWN:"shown"+EVENT_KEY$3,HIDE:"hide"+EVENT_KEY$3,HIDDEN:"hidden"+EVENT_KEY$3,CLICK_DATA_API:"click"+EVENT_KEY$3+DATA_API_KEY$3},ClassName$3={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},Dimension={WIDTH:"width",HEIGHT:"height"},Selector$3={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},Collapse=function(){function e(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=makeArray(SelectorEngine.find('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=makeArray(SelectorEngine.find(Selector$3.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=n[i],o=getSelectorFromElement(a),s=makeArray(SelectorEngine.find(o)).filter((function(t){return t===e}));null!==o&&s.length&&(this._selector=o,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),Data.setData(e,DATA_KEY$3,this)}var t=e.prototype;return t.toggle=function(){this._element.classList.contains(ClassName$3.SHOW)?this.hide():this.show()},t.show=function(){var t=this;if(!this._isTransitioning&&!this._element.classList.contains(ClassName$3.SHOW)){var n,i;this._parent&&0===(n=makeArray(SelectorEngine.find(Selector$3.ACTIVES,this._parent)).filter((function(e){return"string"==typeof t._config.parent?e.getAttribute("data-parent")===t._config.parent:e.classList.contains(ClassName$3.COLLAPSE)}))).length&&(n=null);var r=SelectorEngine.findOne(this._selector);if(n){var a=n.filter((function(e){return r!==e}));if((i=a[0]?Data.getData(a[0],DATA_KEY$3):null)&&i._isTransitioning)return}if(!EventHandler.trigger(this._element,Event$4.SHOW).defaultPrevented){n&&n.forEach((function(t){r!==t&&e.collapseInterface(t,"hide"),i||Data.setData(t,DATA_KEY$3,null)}));var o=this._getDimension();this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.add(ClassName$3.COLLAPSING),this._element.style[o]=0,this._triggerArray.length&&this._triggerArray.forEach((function(e){e.classList.remove(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var s="scroll"+(o[0].toUpperCase()+o.slice(1)),l=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){t._element.classList.remove(ClassName$3.COLLAPSING),t._element.classList.add(ClassName$3.COLLAPSE),t._element.classList.add(ClassName$3.SHOW),t._element.style[o]="",t.setTransitioning(!1),EventHandler.trigger(t._element,Event$4.SHOWN)})),emulateTransitionEnd(this._element,l),this._element.style[o]=this._element[s]+"px"}}},t.hide=function(){var e=this;if(!this._isTransitioning&&this._element.classList.contains(ClassName$3.SHOW)&&!EventHandler.trigger(this._element,Event$4.HIDE).defaultPrevented){var t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",reflow(this._element),this._element.classList.add(ClassName$3.COLLAPSING),this._element.classList.remove(ClassName$3.COLLAPSE),this._element.classList.remove(ClassName$3.SHOW);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var r=this._triggerArray[i],a=getElementFromSelector(r);a&&!a.classList.contains(ClassName$3.SHOW)&&(r.classList.add(ClassName$3.COLLAPSED),r.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[t]="";var o=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e.setTransitioning(!1),e._element.classList.remove(ClassName$3.COLLAPSING),e._element.classList.add(ClassName$3.COLLAPSE),EventHandler.trigger(e._element,Event$4.HIDDEN)})),emulateTransitionEnd(this._element,o)}},t.setTransitioning=function(e){this._isTransitioning=e},t.dispose=function(){Data.removeData(this._element,DATA_KEY$3),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(e){return(e=_objectSpread2({},Default$1,{},e)).toggle=Boolean(e.toggle),typeCheckConfig(NAME$3,e,DefaultType$1),e},t._getDimension=function(){return this._element.classList.contains(Dimension.WIDTH)?Dimension.WIDTH:Dimension.HEIGHT},t._getParent=function(){var e=this,t=this._config.parent;isElement(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=SelectorEngine.findOne(t);var n='[data-toggle="collapse"][data-parent="'+t+'"]';return makeArray(SelectorEngine.find(n,t)).forEach((function(t){var n=getElementFromSelector(t);e._addAriaAndCollapsedClass(n,[t])})),t},t._addAriaAndCollapsedClass=function(e,t){if(e){var n=e.classList.contains(ClassName$3.SHOW);t.length&&t.forEach((function(e){n?e.classList.remove(ClassName$3.COLLAPSED):e.classList.add(ClassName$3.COLLAPSED),e.setAttribute("aria-expanded",n)}))}},e.collapseInterface=function(t,n){var i=Data.getData(t,DATA_KEY$3),r=_objectSpread2({},Default$1,{},Manipulator.getDataAttributes(t),{},"object"==typeof n&&n?n:{});if(!i&&r.toggle&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new e(t,r)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.collapseInterface(this,t)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$3)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$3}},{key:"Default",get:function(){return Default$1}}]),e}();EventHandler.on(document,Event$4.CLICK_DATA_API,Selector$3.DATA_TOGGLE,(function(e){"A"===e.target.tagName&&e.preventDefault();var t=Manipulator.getDataAttributes(this),n=getSelectorFromElement(this);makeArray(SelectorEngine.find(n)).forEach((function(e){var n,i=Data.getData(e,DATA_KEY$3);i?(null===i._parent&&"string"==typeof t.parent&&(i._config.parent=t.parent,i._parent=i._getParent()),n="toggle"):n=t,Collapse.collapseInterface(e,n)}))}));var $$4=getjQuery();if($$4){var JQUERY_NO_CONFLICT$3=$$4.fn[NAME$3];$$4.fn[NAME$3]=Collapse.jQueryInterface,$$4.fn[NAME$3].Constructor=Collapse,$$4.fn[NAME$3].noConflict=function(){return $$4.fn[NAME$3]=JQUERY_NO_CONFLICT$3,Collapse.jQueryInterface}}var NAME$4="dropdown",VERSION$4="4.3.1",DATA_KEY$4="bs.dropdown",EVENT_KEY$4="."+DATA_KEY$4,DATA_API_KEY$4=".data-api",ESCAPE_KEYCODE=27,SPACE_KEYCODE=32,TAB_KEYCODE=9,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,REGEXP_KEYDOWN=new RegExp(ARROW_UP_KEYCODE+"|"+ARROW_DOWN_KEYCODE+"|"+ESCAPE_KEYCODE),Event$5={HIDE:"hide"+EVENT_KEY$4,HIDDEN:"hidden"+EVENT_KEY$4,SHOW:"show"+EVENT_KEY$4,SHOWN:"shown"+EVENT_KEY$4,CLICK:"click"+EVENT_KEY$4,CLICK_DATA_API:"click"+EVENT_KEY$4+DATA_API_KEY$4,KEYDOWN_DATA_API:"keydown"+EVENT_KEY$4+DATA_API_KEY$4,KEYUP_DATA_API:"keyup"+EVENT_KEY$4+DATA_API_KEY$4},ClassName$4={DISABLED:"disabled",SHOW:"show",DROPUP:"dropup",DROPRIGHT:"dropright",DROPLEFT:"dropleft",MENURIGHT:"dropdown-menu-right",POSITION_STATIC:"position-static"},Selector$4={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"},AttachmentMap={TOP:"top-start",TOPEND:"top-end",BOTTOM:"bottom-start",BOTTOMEND:"bottom-end",RIGHT:"right-start",RIGHTEND:"right-end",LEFT:"left-start",LEFTEND:"left-end"},Default$2={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},DefaultType$2={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},Dropdown=function(){function e(e,t){this._element=e,this._popper=null,this._config=this._getConfig(t),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),Data.setData(e,DATA_KEY$4,this)}var t=e.prototype;return t.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)){var t=this._menu.classList.contains(ClassName$4.SHOW);e.clearMenus(),t||this.show()}},t.show=function(){if(!(this._element.disabled||this._element.classList.contains(ClassName$4.DISABLED)||this._menu.classList.contains(ClassName$4.SHOW))){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};if(!EventHandler.trigger(t,Event$5.SHOW,n).defaultPrevented){if(!this._inNavbar){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=t:isElement(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&t.classList.add(ClassName$4.POSITION_STATIC),this._popper=new Popper(i,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!makeArray(SelectorEngine.closest(t,Selector$4.NAVBAR_NAV)).length&&makeArray(document.body.children).forEach((function(e){return EventHandler.on(e,"mouseover",null,noop())})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.SHOWN,n)}}},t.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(ClassName$4.DISABLED)&&this._menu.classList.contains(ClassName$4.SHOW)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};EventHandler.trigger(t,Event$5.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),Manipulator.toggleClass(this._menu,ClassName$4.SHOW),Manipulator.toggleClass(t,ClassName$4.SHOW),EventHandler.trigger(t,Event$5.HIDDEN,n))}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$4),EventHandler.off(this._element,EVENT_KEY$4),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;EventHandler.on(this._element,Event$5.CLICK,(function(t){t.preventDefault(),t.stopPropagation(),e.toggle()}))},t._getConfig=function(e){return e=_objectSpread2({},this.constructor.Default,{},Manipulator.getDataAttributes(this._element),{},e),typeCheckConfig(NAME$4,e,this.constructor.DefaultType),e},t._getMenuElement=function(){var t=e.getParentFromElement(this._element);return SelectorEngine.findOne(Selector$4.MENU,t)},t._getPlacement=function(){var e=this._element.parentNode,t=AttachmentMap.BOTTOM;return e.classList.contains(ClassName$4.DROPUP)?(t=AttachmentMap.TOP,this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.TOPEND)):e.classList.contains(ClassName$4.DROPRIGHT)?t=AttachmentMap.RIGHT:e.classList.contains(ClassName$4.DROPLEFT)?t=AttachmentMap.LEFT:this._menu.classList.contains(ClassName$4.MENURIGHT)&&(t=AttachmentMap.BOTTOMEND),t},t._detectNavbar=function(){return Boolean(SelectorEngine.closest(this._element,".navbar"))},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._getPopperConfig=function(){var e={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(e.modifiers.applyStyle={enabled:!1}),_objectSpread2({},e,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=Data.getData(t,DATA_KEY$4);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||t.which!==RIGHT_MOUSE_BUTTON_WHICH&&("keyup"!==t.type||t.which===TAB_KEYCODE))for(var n=makeArray(SelectorEngine.find(Selector$4.DATA_TOGGLE)),i=0,r=n.length;i<r;i++){var a=e.getParentFromElement(n[i]),o=Data.getData(n[i],DATA_KEY$4),s={relatedTarget:n[i]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var l=o._menu;if(a.classList.contains(ClassName$4.SHOW))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&t.which===TAB_KEYCODE)&&a.contains(t.target)))EventHandler.trigger(a,Event$5.HIDE,s).defaultPrevented||("ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",null,noop())})),n[i].setAttribute("aria-expanded","false"),o._popper&&o._popper.destroy(),l.classList.remove(ClassName$4.SHOW),a.classList.remove(ClassName$4.SHOW),EventHandler.trigger(a,Event$5.HIDDEN,s))}}},e.getParentFromElement=function(e){return getElementFromSelector(e)||e.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(t.which===SPACE_KEYCODE||t.which!==ESCAPE_KEYCODE&&(t.which!==ARROW_DOWN_KEYCODE&&t.which!==ARROW_UP_KEYCODE||SelectorEngine.closest(t.target,Selector$4.MENU))):REGEXP_KEYDOWN.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(ClassName$4.DISABLED))){var n=e.getParentFromElement(this),i=n.classList.contains(ClassName$4.SHOW);if(!i||i&&(t.which===ESCAPE_KEYCODE||t.which===SPACE_KEYCODE))return t.which===ESCAPE_KEYCODE&&SelectorEngine.findOne(Selector$4.DATA_TOGGLE,n).focus(),void e.clearMenus();var r=makeArray(SelectorEngine.find(Selector$4.VISIBLE_ITEMS,n));if(r.length){var a=r.indexOf(t.target);t.which===ARROW_UP_KEYCODE&&a>0&&a--,t.which===ARROW_DOWN_KEYCODE&&a<r.length-1&&a++,a<0&&(a=0),r[a].focus()}}},e.getInstance=function(e){return Data.getData(e,DATA_KEY$4)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$4}},{key:"Default",get:function(){return Default$2}},{key:"DefaultType",get:function(){return DefaultType$2}}]),e}();EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.DATA_TOGGLE,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.KEYDOWN_DATA_API,Selector$4.MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,Event$5.CLICK_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.DATA_TOGGLE,(function(e){e.preventDefault(),e.stopPropagation(),Dropdown.dropdownInterface(this,"toggle")})),EventHandler.on(document,Event$5.CLICK_DATA_API,Selector$4.FORM_CHILD,(function(e){return e.stopPropagation()}));var $$5=getjQuery();if($$5){var JQUERY_NO_CONFLICT$4=$$5.fn[NAME$4];$$5.fn[NAME$4]=Dropdown.jQueryInterface,$$5.fn[NAME$4].Constructor=Dropdown,$$5.fn[NAME$4].noConflict=function(){return $$5.fn[NAME$4]=JQUERY_NO_CONFLICT$4,Dropdown.jQueryInterface}}var NAME$5="modal",VERSION$5="4.3.1",DATA_KEY$5="bs.modal",EVENT_KEY$5="."+DATA_KEY$5,DATA_API_KEY$5=".data-api",ESCAPE_KEYCODE$1=27,Default$3={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType$3={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Event$6={HIDE:"hide"+EVENT_KEY$5,HIDDEN:"hidden"+EVENT_KEY$5,SHOW:"show"+EVENT_KEY$5,SHOWN:"shown"+EVENT_KEY$5,FOCUSIN:"focusin"+EVENT_KEY$5,RESIZE:"resize"+EVENT_KEY$5,CLICK_DISMISS:"click.dismiss"+EVENT_KEY$5,KEYDOWN_DISMISS:"keydown.dismiss"+EVENT_KEY$5,MOUSEUP_DISMISS:"mouseup.dismiss"+EVENT_KEY$5,MOUSEDOWN_DISMISS:"mousedown.dismiss"+EVENT_KEY$5,CLICK_DATA_API:"click"+EVENT_KEY$5+DATA_API_KEY$5},ClassName$5={SCROLLABLE:"modal-dialog-scrollable",SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},Selector$5={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},Modal=function(){function e(e,t){this._config=this._getConfig(t),this._element=e,this._dialog=SelectorEngine.findOne(Selector$5.DIALOG,e),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,Data.setData(e,DATA_KEY$5,this)}var t=e.prototype;return t.toggle=function(e){return this._isShown?this.hide():this.show(e)},t.show=function(e){var t=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(ClassName$5.FADE)&&(this._isTransitioning=!0);var n=EventHandler.trigger(this._element,Event$6.SHOW,{relatedTarget:e});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.on(this._element,Event$6.CLICK_DISMISS,Selector$5.DATA_DISMISS,(function(e){return t.hide(e)})),EventHandler.on(this._dialog,Event$6.MOUSEDOWN_DISMISS,(function(){EventHandler.one(t._element,Event$6.MOUSEUP_DISMISS,(function(e){e.target===t._element&&(t._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return t._showElement(e)})))}},t.hide=function(e){var t=this;if((e&&e.preventDefault(),this._isShown&&!this._isTransitioning)&&!EventHandler.trigger(this._element,Event$6.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(ClassName$5.FADE);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),EventHandler.off(document,Event$6.FOCUSIN),this._element.classList.remove(ClassName$5.SHOW),EventHandler.off(this._element,Event$6.CLICK_DISMISS),EventHandler.off(this._dialog,Event$6.MOUSEDOWN_DISMISS),n){var i=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(e){return t._hideModal(e)})),emulateTransitionEnd(this._element,i)}else this._hideModal()}},t.dispose=function(){[window,this._element,this._dialog].forEach((function(e){return EventHandler.off(e,EVENT_KEY$5)})),EventHandler.off(document,Event$6.FOCUSIN),Data.removeData(this._element,DATA_KEY$5),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(e){return e=_objectSpread2({},Default$3,{},e),typeCheckConfig(NAME$5,e,DefaultType$3),e},t._showElement=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE),i=SelectorEngine.findOne(Selector$5.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(ClassName$5.SCROLLABLE)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&reflow(this._element),this._element.classList.add(ClassName$5.SHOW),this._config.focus&&this._enforceFocus();var r=function(){t._config.focus&&t._element.focus(),t._isTransitioning=!1,EventHandler.trigger(t._element,Event$6.SHOWN,{relatedTarget:e})};if(n){var a=getTransitionDurationFromElement(this._dialog);EventHandler.one(this._dialog,TRANSITION_END,r),emulateTransitionEnd(this._dialog,a)}else r()},t._enforceFocus=function(){var e=this;EventHandler.off(document,Event$6.FOCUSIN),EventHandler.on(document,Event$6.FOCUSIN,(function(t){document===t.target||e._element===t.target||e._element.contains(t.target)||e._element.focus()}))},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?EventHandler.on(this._element,Event$6.KEYDOWN_DISMISS,(function(t){t.which===ESCAPE_KEYCODE$1&&(t.preventDefault(),e.hide())})):EventHandler.off(this._element,Event$6.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?EventHandler.on(window,Event$6.RESIZE,(function(){return e._adjustDialog()})):EventHandler.off(window,Event$6.RESIZE)},t._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(ClassName$5.OPEN),e._resetAdjustments(),e._resetScrollbar(),EventHandler.trigger(e._element,Event$6.HIDDEN)}))},t._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},t._showBackdrop=function(e){var t=this,n=this._element.classList.contains(ClassName$5.FADE)?ClassName$5.FADE:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ClassName$5.BACKDROP,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),EventHandler.on(this._element,Event$6.CLICK_DISMISS,(function(e){t._ignoreBackdropClick?t._ignoreBackdropClick=!1:e.target===e.currentTarget&&("static"===t._config.backdrop?t._element.focus():t.hide())})),n&&reflow(this._backdrop),this._backdrop.classList.add(ClassName$5.SHOW),!n)return void e();var i=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,e),emulateTransitionEnd(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(ClassName$5.SHOW);var r=function(){t._removeBackdrop(),e()};if(this._element.classList.contains(ClassName$5.FADE)){var a=getTransitionDurationFromElement(this._backdrop);EventHandler.one(this._backdrop,TRANSITION_END,r),emulateTransitionEnd(this._backdrop,a)}else r()}else e()},t._adjustDialog=function(){var e=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach((function(t){var n=t.style.paddingRight,i=window.getComputedStyle(t)["padding-right"];Manipulator.setDataAttribute(t,"padding-right",n),t.style.paddingRight=parseFloat(i)+e._scrollbarWidth+"px"})),makeArray(SelectorEngine.find(Selector$5.STICKY_CONTENT)).forEach((function(t){var n=t.style.marginRight,i=window.getComputedStyle(t)["margin-right"];Manipulator.setDataAttribute(t,"margin-right",n),t.style.marginRight=parseFloat(i)-e._scrollbarWidth+"px"}));var t=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];Manipulator.setDataAttribute(document.body,"padding-right",t),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(ClassName$5.OPEN)},t._resetScrollbar=function(){makeArray(SelectorEngine.find(Selector$5.FIXED_CONTENT)).forEach((function(e){var t=Manipulator.getDataAttribute(e,"padding-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"padding-right"),e.style.paddingRight=t)})),makeArray(SelectorEngine.find(""+Selector$5.STICKY_CONTENT)).forEach((function(e){var t=Manipulator.getDataAttribute(e,"margin-right");void 0!==t&&(Manipulator.removeDataAttribute(e,"margin-right"),e.style.marginRight=t)}));var e=Manipulator.getDataAttribute(document.body,"padding-right");void 0===e?document.body.style.paddingRight="":(Manipulator.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=e)},t._getScrollbarWidth=function(){var e=document.createElement("div");e.className=ClassName$5.SCROLLBAR_MEASURER,document.body.appendChild(e);var t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},e.jQueryInterface=function(t,n){return this.each((function(){var i=Data.getData(this,DATA_KEY$5),r=_objectSpread2({},Default$3,{},Manipulator.getDataAttributes(this),{},"object"==typeof t&&t?t:{});if(i||(i=new e(this,r)),"string"==typeof t){if(void 0===i[t])throw new TypeError('No method named "'+t+'"');i[t](n)}else r.show&&i.show(n)}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$5)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$5}},{key:"Default",get:function(){return Default$3}}]),e}();EventHandler.on(document,Event$6.CLICK_DATA_API,Selector$5.DATA_TOGGLE,(function(e){var t=this,n=getElementFromSelector(this);"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault(),EventHandler.one(n,Event$6.SHOW,(function(e){e.defaultPrevented||EventHandler.one(n,Event$6.HIDDEN,(function(){isVisible(t)&&t.focus()}))}));var i=Data.getData(n,DATA_KEY$5);if(!i){var r=_objectSpread2({},Manipulator.getDataAttributes(n),{},Manipulator.getDataAttributes(this));i=new Modal(n,r)}i.show(this)}));var $$6=getjQuery();if($$6){var JQUERY_NO_CONFLICT$5=$$6.fn[NAME$5];$$6.fn[NAME$5]=Modal.jQueryInterface,$$6.fn[NAME$5].Constructor=Modal,$$6.fn[NAME$5].noConflict=function(){return $$6.fn[NAME$5]=JQUERY_NO_CONFLICT$5,Modal.jQueryInterface}}var uriAttrs=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,allowedAttribute=function(e,t){var n=e.nodeName.toLowerCase();if(-1!==t.indexOf(n))return-1===uriAttrs.indexOf(n)||Boolean(e.nodeValue.match(SAFE_URL_PATTERN)||e.nodeValue.match(DATA_URL_PATTERN));for(var i=t.filter((function(e){return e instanceof RegExp})),r=0,a=i.length;r<a;r++)if(n.match(i[r]))return!0;return!1},DefaultWhitelist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);for(var i=(new window.DOMParser).parseFromString(e,"text/html"),r=Object.keys(t),a=makeArray(i.body.querySelectorAll("*")),o=function(e,n){var i=a[e],o=i.nodeName.toLowerCase();if(-1===r.indexOf(o))return i.parentNode.removeChild(i),"continue";var s=makeArray(i.attributes),l=[].concat(t["*"]||[],t[o]||[]);s.forEach((function(e){allowedAttribute(e,l)||i.removeAttribute(e.nodeName)}))},s=0,l=a.length;s<l;s++)o(s);return i.body.innerHTML}var NAME$6="tooltip",VERSION$6="4.3.1",DATA_KEY$6="bs.tooltip",EVENT_KEY$6="."+DATA_KEY$6,CLASS_PREFIX="bs-tooltip",BSCLS_PREFIX_REGEX=new RegExp("(^|\\s)"+CLASS_PREFIX+"\\S+","g"),DISALLOWED_ATTRIBUTES=["sanitize","whiteList","sanitizeFn"],DefaultType$4={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},AttachmentMap$1={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Default$4={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:DefaultWhitelist,popperConfig:null},HoverState={SHOW:"show",OUT:"out"},Event$7={HIDE:"hide"+EVENT_KEY$6,HIDDEN:"hidden"+EVENT_KEY$6,SHOW:"show"+EVENT_KEY$6,SHOWN:"shown"+EVENT_KEY$6,INSERTED:"inserted"+EVENT_KEY$6,CLICK:"click"+EVENT_KEY$6,FOCUSIN:"focusin"+EVENT_KEY$6,FOCUSOUT:"focusout"+EVENT_KEY$6,MOUSEENTER:"mouseenter"+EVENT_KEY$6,MOUSELEAVE:"mouseleave"+EVENT_KEY$6},ClassName$6={FADE:"fade",SHOW:"show"},Selector$6={TOOLTIP_INNER:".tooltip-inner"},Trigger={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},Tooltip=function(){function e(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners(),Data.setData(e,this.constructor.DATA_KEY,this)}var t=e.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,n=Data.getData(e.delegateTarget,t);n||(n=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,t,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(ClassName$6.SHOW))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),Data.removeData(this.element,this.constructor.DATA_KEY),EventHandler.off(this.element,this.constructor.EVENT_KEY),EventHandler.off(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var t=EventHandler.trigger(this.element,this.constructor.Event.SHOW),n=findShadowRoot(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(t.defaultPrevented||!i)return;var r=this.getTipElement(),a=getUID(this.constructor.NAME);r.setAttribute("id",a),this.element.setAttribute("aria-describedby",a),this.setContent(),this.config.animation&&r.classList.add(ClassName$6.FADE);var o="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,s=this._getAttachment(o);this._addAttachmentClass(s);var l=this._getContainer();Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||l.appendChild(r),EventHandler.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new Popper(this.element,r,this._getPopperConfig(s)),r.classList.add(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){EventHandler.on(e,"mouseover",noop())}));var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,EventHandler.trigger(e.element,e.constructor.Event.SHOWN),t===HoverState.OUT&&e._leave(null,e)};if(this.tip.classList.contains(ClassName$6.FADE)){var u=getTransitionDurationFromElement(this.tip);EventHandler.one(this.tip,TRANSITION_END,c),emulateTransitionEnd(this.tip,u)}else c()}},t.hide=function(){var e=this,t=this.getTipElement(),n=function(){e._hoverState!==HoverState.SHOW&&t.parentNode&&t.parentNode.removeChild(t),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),EventHandler.trigger(e.element,e.constructor.Event.HIDDEN),e._popper.destroy()};if(!EventHandler.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(t.classList.remove(ClassName$6.SHOW),"ontouchstart"in document.documentElement&&makeArray(document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",noop)})),this._activeTrigger[Trigger.CLICK]=!1,this._activeTrigger[Trigger.FOCUS]=!1,this._activeTrigger[Trigger.HOVER]=!1,this.tip.classList.contains(ClassName$6.FADE)){var i=getTransitionDurationFromElement(t);EventHandler.one(t,TRANSITION_END,n),emulateTransitionEnd(t,i)}else n();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.getTipElement=function(){if(this.tip)return this.tip;var e=document.createElement("div");return e.innerHTML=this.config.template,this.tip=e.children[0],this.tip},t.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$6.TOOLTIP_INNER,e),this.getTitle()),e.classList.remove(ClassName$6.FADE),e.classList.remove(ClassName$6.SHOW)},t.setElementContent=function(e,t){if(null!==e)return"object"==typeof t&&isElement(t)?(t.jquery&&(t=t[0]),void(this.config.html?t.parentNode!==e&&(e.innerHTML="",e.appendChild(t)):e.innerText=t.textContent)):void(this.config.html?(this.config.sanitize&&(t=sanitizeHtml(t,this.config.whiteList,this.config.sanitizeFn)),e.innerHTML=t):e.innerText=t)},t.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},t._getPopperConfig=function(e){var t=this;return _objectSpread2({},{placement:e,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}},{},this.config.popperConfig)},t._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX+"-"+e)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=_objectSpread2({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:isElement(this.config.container)?this.config.container:SelectorEngine.findOne(this.config.container)},t._getAttachment=function(e){return AttachmentMap$1[e.toUpperCase()]},t._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach((function(t){if("click"===t)EventHandler.on(e.element,e.constructor.Event.CLICK,e.config.selector,(function(t){return e.toggle(t)}));else if(t!==Trigger.MANUAL){var n=t===Trigger.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,i=t===Trigger.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;EventHandler.on(e.element,n,e.config.selector,(function(t){return e._enter(t)})),EventHandler.on(e.element,i,e.config.selector,(function(t){return e._leave(t)}))}})),this._hideModalHandler=function(){e.element&&e.hide()},EventHandler.on(SelectorEngine.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_objectSpread2({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusin"===e.type?Trigger.FOCUS:Trigger.HOVER]=!0),t.getTipElement().classList.contains(ClassName$6.SHOW)||t._hoverState===HoverState.SHOW?t._hoverState=HoverState.SHOW:(clearTimeout(t._timeout),t._hoverState=HoverState.SHOW,t.config.delay&&t.config.delay.show?t._timeout=setTimeout((function(){t._hoverState===HoverState.SHOW&&t.show()}),t.config.delay.show):t.show())},t._leave=function(e,t){var n=this.constructor.DATA_KEY;(t=t||Data.getData(e.delegateTarget,n))||(t=new this.constructor(e.delegateTarget,this._getDelegateConfig()),Data.setData(e.delegateTarget,n,t)),e&&(t._activeTrigger["focusout"===e.type?Trigger.FOCUS:Trigger.HOVER]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState=HoverState.OUT,t.config.delay&&t.config.delay.hide?t._timeout=setTimeout((function(){t._hoverState===HoverState.OUT&&t.hide()}),t.config.delay.hide):t.hide())},t._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},t._getConfig=function(e){var t=Manipulator.getDataAttributes(this.element);return Object.keys(t).forEach((function(e){-1!==DISALLOWED_ATTRIBUTES.indexOf(e)&&delete t[e]})),e&&"object"==typeof e.container&&e.container.jquery&&(e.container=e.container[0]),"number"==typeof(e=_objectSpread2({},this.constructor.Default,{},t,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),typeCheckConfig(NAME$6,e,this.constructor.DefaultType),e.sanitize&&(e.template=sanitizeHtml(e.template,e.whiteList,e.sanitizeFn)),e},t._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},t._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX);null!==t&&t.length&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement))},t._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(e.classList.remove(ClassName$6.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$6),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$6)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$6}},{key:"Default",get:function(){return Default$4}},{key:"NAME",get:function(){return NAME$6}},{key:"DATA_KEY",get:function(){return DATA_KEY$6}},{key:"Event",get:function(){return Event$7}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$6}},{key:"DefaultType",get:function(){return DefaultType$4}}]),e}(),$$7=getjQuery();if($$7){var JQUERY_NO_CONFLICT$6=$$7.fn[NAME$6];$$7.fn[NAME$6]=Tooltip.jQueryInterface,$$7.fn[NAME$6].Constructor=Tooltip,$$7.fn[NAME$6].noConflict=function(){return $$7.fn[NAME$6]=JQUERY_NO_CONFLICT$6,Tooltip.jQueryInterface}}var NAME$7="popover",VERSION$7="4.3.1",DATA_KEY$7="bs.popover",EVENT_KEY$7="."+DATA_KEY$7,CLASS_PREFIX$1="bs-popover",BSCLS_PREFIX_REGEX$1=new RegExp("(^|\\s)"+CLASS_PREFIX$1+"\\S+","g"),Default$5=_objectSpread2({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),DefaultType$5=_objectSpread2({},Tooltip.DefaultType,{content:"(string|element|function)"}),ClassName$7={FADE:"fade",SHOW:"show"},Selector$7={TITLE:".popover-header",CONTENT:".popover-body"},Event$8={HIDE:"hide"+EVENT_KEY$7,HIDDEN:"hidden"+EVENT_KEY$7,SHOW:"show"+EVENT_KEY$7,SHOWN:"shown"+EVENT_KEY$7,INSERTED:"inserted"+EVENT_KEY$7,CLICK:"click"+EVENT_KEY$7,FOCUSIN:"focusin"+EVENT_KEY$7,FOCUSOUT:"focusout"+EVENT_KEY$7,MOUSEENTER:"mouseenter"+EVENT_KEY$7,MOUSELEAVE:"mouseleave"+EVENT_KEY$7},Popover=function(e){function t(){return e.apply(this,arguments)||this}_inheritsLoose(t,e);var n=t.prototype;return n.isWithContent=function(){return this.getTitle()||this._getContent()},n.setContent=function(){var e=this.getTipElement();this.setElementContent(SelectorEngine.findOne(Selector$7.TITLE,e),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(SelectorEngine.findOne(Selector$7.CONTENT,e),t),e.classList.remove(ClassName$7.FADE),e.classList.remove(ClassName$7.SHOW)},n._addAttachmentClass=function(e){this.getTipElement().classList.add(CLASS_PREFIX$1+"-"+e)},n._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},n._cleanTipClass=function(){var e=this.getTipElement(),t=e.getAttribute("class").match(BSCLS_PREFIX_REGEX$1);null!==t&&t.length>0&&t.map((function(e){return e.trim()})).forEach((function(t){return e.classList.remove(t)}))},t.jQueryInterface=function(e){return this.each((function(){var n=Data.getData(this,DATA_KEY$7),i="object"==typeof e?e:null;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i),Data.setData(this,DATA_KEY$7,n)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(e){return Data.getData(e,DATA_KEY$7)},_createClass(t,null,[{key:"VERSION",get:function(){return VERSION$7}},{key:"Default",get:function(){return Default$5}},{key:"NAME",get:function(){return NAME$7}},{key:"DATA_KEY",get:function(){return DATA_KEY$7}},{key:"Event",get:function(){return Event$8}},{key:"EVENT_KEY",get:function(){return EVENT_KEY$7}},{key:"DefaultType",get:function(){return DefaultType$5}}]),t}(Tooltip),$$8=getjQuery();if($$8){var JQUERY_NO_CONFLICT$7=$$8.fn[NAME$7];$$8.fn[NAME$7]=Popover.jQueryInterface,$$8.fn[NAME$7].Constructor=Popover,$$8.fn[NAME$7].noConflict=function(){return $$8.fn[NAME$7]=JQUERY_NO_CONFLICT$7,Popover.jQueryInterface}}var NAME$8="scrollspy",VERSION$8="4.3.1",DATA_KEY$8="bs.scrollspy",EVENT_KEY$8="."+DATA_KEY$8,DATA_API_KEY$6=".data-api",Default$6={offset:10,method:"auto",target:""},DefaultType$6={offset:"number",method:"string",target:"(string|element)"},Event$9={ACTIVATE:"activate"+EVENT_KEY$8,SCROLL:"scroll"+EVENT_KEY$8,LOAD_DATA_API:"load"+EVENT_KEY$8+DATA_API_KEY$6},ClassName$8={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Selector$8={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},OffsetMethod={OFFSET:"offset",POSITION:"position"},ScrollSpy=function(){function e(e,t){var n=this;this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(t),this._selector=this._config.target+" "+Selector$8.NAV_LINKS+","+this._config.target+" "+Selector$8.LIST_ITEMS+","+this._config.target+" ."+ClassName$8.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,EventHandler.on(this._scrollElement,Event$9.SCROLL,(function(e){return n._process(e)})),this.refresh(),this._process(),Data.setData(e,DATA_KEY$8,this)}var t=e.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?OffsetMethod.OFFSET:OffsetMethod.POSITION,n="auto"===this._config.method?t:this._config.method,i=n===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),makeArray(SelectorEngine.find(this._selector)).map((function(e){var t,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var a=t.getBoundingClientRect();if(a.width||a.height)return[Manipulator[n](t).top+i,r]}return null})).filter((function(e){return e})).sort((function(e,t){return e[0]-t[0]})).forEach((function(t){e._offsets.push(t[0]),e._targets.push(t[1])}))},t.dispose=function(){Data.removeData(this._element,DATA_KEY$8),EventHandler.off(this._scrollElement,EVENT_KEY$8),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(e){if("string"!=typeof(e=_objectSpread2({},Default$6,{},"object"==typeof e&&e?e:{})).target){var t=e.target.id;t||(t=getUID(NAME$8),e.target.id=t),e.target="#"+t}return typeCheckConfig(NAME$8,e,DefaultType$6),e},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var e=this._getScrollTop()+this._config.offset,t=this._getScrollHeight(),n=this._config.offset+t-this._getOffsetHeight();if(this._scrollHeight!==t&&this.refresh(),e>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&e<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&e>=this._offsets[r]&&(void 0===this._offsets[r+1]||e<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map((function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'})),n=SelectorEngine.findOne(t.join(","));n.classList.contains(ClassName$8.DROPDOWN_ITEM)?(SelectorEngine.findOne(Selector$8.DROPDOWN_TOGGLE,SelectorEngine.closest(n,Selector$8.DROPDOWN)).classList.add(ClassName$8.ACTIVE),n.classList.add(ClassName$8.ACTIVE)):(n.classList.add(ClassName$8.ACTIVE),SelectorEngine.parents(n,Selector$8.NAV_LIST_GROUP).forEach((function(e){SelectorEngine.prev(e,Selector$8.NAV_LINKS+", "+Selector$8.LIST_ITEMS).forEach((function(e){return e.classList.add(ClassName$8.ACTIVE)})),SelectorEngine.prev(e,Selector$8.NAV_ITEMS).forEach((function(e){SelectorEngine.children(e,Selector$8.NAV_LINKS).forEach((function(e){return e.classList.add(ClassName$8.ACTIVE)}))}))}))),EventHandler.trigger(this._scrollElement,Event$9.ACTIVATE,{relatedTarget:e})},t._clear=function(){makeArray(SelectorEngine.find(this._selector)).filter((function(e){return e.classList.contains(ClassName$8.ACTIVE)})).forEach((function(e){return e.classList.remove(ClassName$8.ACTIVE)}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$8);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$8)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$8}},{key:"Default",get:function(){return Default$6}}]),e}();EventHandler.on(window,Event$9.LOAD_DATA_API,(function(){makeArray(SelectorEngine.find(Selector$8.DATA_SPY)).forEach((function(e){return new ScrollSpy(e,Manipulator.getDataAttributes(e))}))}));var $$9=getjQuery();if($$9){var JQUERY_NO_CONFLICT$8=$$9.fn[NAME$8];$$9.fn[NAME$8]=ScrollSpy.jQueryInterface,$$9.fn[NAME$8].Constructor=ScrollSpy,$$9.fn[NAME$8].noConflict=function(){return $$9.fn[NAME$8]=JQUERY_NO_CONFLICT$8,ScrollSpy.jQueryInterface}}var NAME$9="tab",VERSION$9="4.3.1",DATA_KEY$9="bs.tab",EVENT_KEY$9="."+DATA_KEY$9,DATA_API_KEY$7=".data-api",Event$a={HIDE:"hide"+EVENT_KEY$9,HIDDEN:"hidden"+EVENT_KEY$9,SHOW:"show"+EVENT_KEY$9,SHOWN:"shown"+EVENT_KEY$9,CLICK_DATA_API:"click"+EVENT_KEY$9+DATA_API_KEY$7},ClassName$9={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},Selector$9={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",ACTIVE_UL:":scope > li > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:":scope > .dropdown-menu .active"},Tab=function(){function e(e){this._element=e,Data.setData(this._element,DATA_KEY$9,this)}var t=e.prototype;return t.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ClassName$9.ACTIVE)||this._element.classList.contains(ClassName$9.DISABLED))){var t,n=getElementFromSelector(this._element),i=SelectorEngine.closest(this._element,Selector$9.NAV_LIST_GROUP);if(i){var r="UL"===i.nodeName||"OL"===i.nodeName?Selector$9.ACTIVE_UL:Selector$9.ACTIVE;t=(t=makeArray(SelectorEngine.find(r,i)))[t.length-1]}var a=null;if(t&&(a=EventHandler.trigger(t,Event$a.HIDE,{relatedTarget:this._element})),!(EventHandler.trigger(this._element,Event$a.SHOW,{relatedTarget:t}).defaultPrevented||null!==a&&a.defaultPrevented)){this._activate(this._element,i);var o=function(){EventHandler.trigger(t,Event$a.HIDDEN,{relatedTarget:e._element}),EventHandler.trigger(e._element,Event$a.SHOWN,{relatedTarget:t})};n?this._activate(n,n.parentNode,o):o()}}},t.dispose=function(){Data.removeData(this._element,DATA_KEY$9),this._element=null},t._activate=function(e,t,n){var i=this,r=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?SelectorEngine.children(t,Selector$9.ACTIVE):SelectorEngine.find(Selector$9.ACTIVE_UL,t))[0],a=n&&r&&r.classList.contains(ClassName$9.FADE),o=function(){return i._transitionComplete(e,r,n)};if(r&&a){var s=getTransitionDurationFromElement(r);r.classList.remove(ClassName$9.SHOW),EventHandler.one(r,TRANSITION_END,o),emulateTransitionEnd(r,s)}else o()},t._transitionComplete=function(e,t,n){if(t){t.classList.remove(ClassName$9.ACTIVE);var i=SelectorEngine.findOne(Selector$9.DROPDOWN_ACTIVE_CHILD,t.parentNode);i&&i.classList.remove(ClassName$9.ACTIVE),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}(e.classList.add(ClassName$9.ACTIVE),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),reflow(e),e.classList.contains(ClassName$9.FADE)&&e.classList.add(ClassName$9.SHOW),e.parentNode&&e.parentNode.classList.contains(ClassName$9.DROPDOWN_MENU))&&(SelectorEngine.closest(e,Selector$9.DROPDOWN)&&makeArray(SelectorEngine.find(Selector$9.DROPDOWN_TOGGLE)).forEach((function(e){return e.classList.add(ClassName$9.ACTIVE)})),e.setAttribute("aria-expanded",!0));n&&n()},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$9)||new e(this);if("string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$9)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$9}}]),e}();EventHandler.on(document,Event$a.CLICK_DATA_API,Selector$9.DATA_TOGGLE,(function(e){e.preventDefault(),(Data.getData(this,DATA_KEY$9)||new Tab(this)).show()}));var $$a=getjQuery();if($$a){var JQUERY_NO_CONFLICT$9=$$a.fn[NAME$9];$$a.fn[NAME$9]=Tab.jQueryInterface,$$a.fn[NAME$9].Constructor=Tab,$$a.fn[NAME$9].noConflict=function(){return $$a.fn[NAME$9]=JQUERY_NO_CONFLICT$9,Tab.jQueryInterface}}var NAME$a="toast",VERSION$a="4.3.1",DATA_KEY$a="bs.toast",EVENT_KEY$a="."+DATA_KEY$a,Event$b={CLICK_DISMISS:"click.dismiss"+EVENT_KEY$a,HIDE:"hide"+EVENT_KEY$a,HIDDEN:"hidden"+EVENT_KEY$a,SHOW:"show"+EVENT_KEY$a,SHOWN:"shown"+EVENT_KEY$a},ClassName$a={FADE:"fade",HIDE:"hide",SHOW:"show",SHOWING:"showing"},DefaultType$7={animation:"boolean",autohide:"boolean",delay:"number"},Default$7={animation:!0,autohide:!0,delay:500},Selector$a={DATA_DISMISS:'[data-dismiss="toast"]'},Toast=function(){function e(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners(),Data.setData(e,DATA_KEY$a,this)}var t=e.prototype;return t.show=function(){var e=this;if(!EventHandler.trigger(this._element,Event$b.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(ClassName$a.FADE);var t=function(){e._element.classList.remove(ClassName$a.SHOWING),e._element.classList.add(ClassName$a.SHOW),EventHandler.trigger(e._element,Event$b.SHOWN),e._config.autohide&&(e._timeout=setTimeout((function(){e.hide()}),e._config.delay))};if(this._element.classList.remove(ClassName$a.HIDE),reflow(this._element),this._element.classList.add(ClassName$a.SHOWING),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.hide=function(){var e=this;if(this._element.classList.contains(ClassName$a.SHOW)&&!EventHandler.trigger(this._element,Event$b.HIDE).defaultPrevented){var t=function(){e._element.classList.add(ClassName$a.HIDE),EventHandler.trigger(e._element,Event$b.HIDDEN)};if(this._element.classList.remove(ClassName$a.SHOW),this._config.animation){var n=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,t),emulateTransitionEnd(this._element,n)}else t()}},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(ClassName$a.SHOW)&&this._element.classList.remove(ClassName$a.SHOW),EventHandler.off(this._element,Event$b.CLICK_DISMISS),Data.removeData(this._element,DATA_KEY$a),this._element=null,this._config=null},t._getConfig=function(e){return e=_objectSpread2({},Default$7,{},Manipulator.getDataAttributes(this._element),{},"object"==typeof e&&e?e:{}),typeCheckConfig(NAME$a,e,this.constructor.DefaultType),e},t._setListeners=function(){var e=this;EventHandler.on(this._element,Event$b.CLICK_DISMISS,Selector$a.DATA_DISMISS,(function(){return e.hide()}))},e.jQueryInterface=function(t){return this.each((function(){var n=Data.getData(this,DATA_KEY$a);if(n||(n=new e(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===n[t])throw new TypeError('No method named "'+t+'"');n[t](this)}}))},e.getInstance=function(e){return Data.getData(e,DATA_KEY$a)},_createClass(e,null,[{key:"VERSION",get:function(){return VERSION$a}},{key:"DefaultType",get:function(){return DefaultType$7}},{key:"Default",get:function(){return Default$7}}]),e}(),$$b=getjQuery();if($$b){var JQUERY_NO_CONFLICT$a=$$b.fn[NAME$a];$$b.fn[NAME$a]=Toast.jQueryInterface,$$b.fn[NAME$a].Constructor=Toast,$$b.fn[NAME$a].noConflict=function(){return $$b.fn[NAME$a]=JQUERY_NO_CONFLICT$a,Toast.jQueryInterface}}export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,ScrollSpy,Tab,Toast,Tooltip};
//# sourceMappingURL=bootstrap.esm.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js.map b/dist/js/bootstrap.esm.min.js.map
index 2fa26e3cf8..4784147c00 100644
--- a/dist/js/bootstrap.esm.min.js.map
+++ b/dist/js/bootstrap.esm.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","_window$getComputedSt","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","substr","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","_this","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","start","_this3","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","_this4","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","_this8","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","_this9","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this10","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","SHOWING","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","_window$getComputedSt","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","_normalizeParams","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","_this","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","start","_this3","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","_this4","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","_this8","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","_this9","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this10","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","SHOWING","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n"]} \ No newline at end of file
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index 030374edd4..becf4a9f9a 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -104,7 +104,6 @@
var getUID = function getUID(prefix) {
do {
- // eslint-disable-next-line no-bitwise
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
} while (document.getElementById(prefix));
@@ -241,8 +240,7 @@
}
return findShadowRoot(element.parentNode);
- }; // eslint-disable-next-line no-empty-function
-
+ };
var noop = function noop() {
return function () {};
@@ -421,7 +419,7 @@
try {
element.querySelectorAll(':scope *');
- } catch (error) {
+ } catch (_) {
return false;
}
@@ -681,7 +679,7 @@
if (isNamespace) {
Object.keys(events).forEach(function (elementEvent) {
- removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1));
+ removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
});
}
@@ -857,13 +855,12 @@
ALERT: 'alert',
FADE: 'fade',
SHOW: 'show'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Alert =
/*#__PURE__*/
@@ -1036,13 +1033,12 @@
CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
FOCUS_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1,
BLUR_DATA_API: "blur" + EVENT_KEY$1 + DATA_API_KEY$1
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Button =
/*#__PURE__*/
@@ -1348,13 +1344,12 @@
var PointerType = {
TOUCH: 'touch',
PEN: 'pen'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Carousel =
/*#__PURE__*/
@@ -1924,13 +1919,12 @@
var Selector$3 = {
ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Collapse =
/*#__PURE__*/
@@ -2378,13 +2372,12 @@
reference: '(string|element)',
display: 'string',
popperConfig: '(null|object)'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Dropdown =
/*#__PURE__*/
@@ -2604,9 +2597,8 @@
preventOverflow: {
boundariesElement: this._config.boundary
}
- } // Disable Popper.js if we have a static display
-
- };
+ }
+ }; // Disable Popper.js if we have a static display
if (this._config.display === 'static') {
popperConfig.modifiers.applyStyle = {
@@ -2876,13 +2868,12 @@
DATA_DISMISS: '[data-dismiss="modal"]',
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
STICKY_CONTENT: '.sticky-top'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Modal =
/*#__PURE__*/
@@ -3626,13 +3617,12 @@
FOCUS: 'focus',
CLICK: 'click',
MANUAL: 'manual'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tooltip =
/*#__PURE__*/
@@ -4342,13 +4332,12 @@
FOCUSOUT: "focusout" + EVENT_KEY$7,
MOUSEENTER: "mouseenter" + EVENT_KEY$7,
MOUSELEAVE: "mouseleave" + EVENT_KEY$7
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Popover =
/*#__PURE__*/
@@ -4537,13 +4526,12 @@
var OffsetMethod = {
OFFSET: 'offset',
POSITION: 'position'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var ScrollSpy =
/*#__PURE__*/
@@ -4844,13 +4832,12 @@
DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Tab =
/*#__PURE__*/
@@ -5081,13 +5068,12 @@
};
var Selector$a = {
DATA_DISMISS: '[data-dismiss="toast"]'
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
};
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
var Toast =
/*#__PURE__*/
diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map
index 9747fe1474..592561eeb2 100644
--- a/dist/js/bootstrap.js.map
+++ b/dist/js/bootstrap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert/alert'\nimport Button from './src/button/button'\nimport Carousel from './src/carousel/carousel'\nimport Collapse from './src/collapse/collapse'\nimport Dropdown from './src/dropdown/dropdown'\nimport Modal from './src/modal/modal'\nimport Popover from './src/popover/popover'\nimport ScrollSpy from './src/scrollspy/scrollspy'\nimport Tab from './src/tab/tab'\nimport Toast from './src/toast/toast'\nimport Tooltip from './src/tooltip/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","substr","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","toString","call","match","toLowerCase","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","storeData","id","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","cEvent","CustomEvent","bubbles","cancelable","detail","initCustomEvent","workingDefaultPrevented","e","preventDefault","defaultPrevented","origPreventDefault","Event","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","supportScopeQuery","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","bootstrapHandler","fn","handler","oneOff","EventHandler","off","apply","bootstrapDelegationHandler","domElements","target","i","length","findHandler","events","delegationSelector","uidEventList","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","isNative","indexOf","addHandler","handlers","previousFn","removeHandler","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","on","one","inNamespace","isNamespace","charAt","elementEvent","keyHandlers","trigger","args","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","NODE_TEXT","SelectorEngine","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","Selector","DISMISS","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","SWIPE_THRESHOLD","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","CAROUSEL","ITEM","POINTER_EVENT","ACTIVE_ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","pointerType","clientX","touches","move","end","clearTimeout","itemImg","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slideEvent","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","startEvent","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","complete","capitalizedDimension","scrollSize","triggerArrayLength","isTransitioning","hasWidth","jquery","selected","triggerArray","isOpen","triggerData","selectorElements","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","DISABLED","DROPUP","DROPRIGHT","DROPLEFT","MENURIGHT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","showEvent","Popper","referenceElement","_getPopperConfig","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","SCROLLABLE","SCROLLBAR_MEASURER","BACKDROP","OPEN","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","uriAttrs","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP_INNER","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","defaultBsConfig","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","link","join","listGroup","navItem","node","spy","DROPDOWN_MENU","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","listElement","itemSelector","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdown","SHOWING","autohide","Toast"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js b/dist/js/bootstrap.min.js
index 7ec1949bfb..4ab46105b1 100644
--- a/dist/js/bootstrap.min.js
+++ b/dist/js/bootstrap.min.js
@@ -3,5 +3,5 @@
* Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t=t||self).bootstrap=e(t.Popper)}(this,function(t){"use strict";function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(n,!0).forEach(function(e){i(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}t=t&&t.hasOwnProperty("default")?t.default:t;var s,a,l,c="transitionend",u=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},h=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},d=function(t){var e=f(t);return e?document.querySelector(e):null},g=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(c,!0,!0),t.dispatchEvent(e)},_=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(c,function e(){n=!0,t.removeEventListener(c,e)}),setTimeout(function(){n||p(t)},i)},v=function(t,e,n){Object.keys(n).forEach(function(i){var o,r=n[i],s=e[i],a=s&&_(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')})},E=function(t){return t?[].slice.call(t):[]},y=function(t){return!!t&&(!!(t.style&&t.parentNode&&t.parentNode.style)&&("none"!==t.style.display&&"none"!==t.parentNode.style.display&&"hidden"!==t.style.visibility))},b=function(){return function(){}},D=function(t){return t.offsetHeight},T=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},I=(s={},a=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:a},a++),s[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?s[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete s[n.id],delete t.key)}}}),A={setData:function(t,e,n){I.set(t,e,n)},getData:function(t,e){return I.get(t,e)},removeData:function(t,e){I.delete(t,e)}},S=Element.prototype,w=S.matches,C=S.closest,L=Element.prototype.querySelectorAll,O=Element.prototype.querySelector,N=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(N=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((l=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),l.preventDefault(),l.defaultPrevented)){var k=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(k.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var P=function(){var t=N("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",function(){return null}),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();w||(w=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),C||(C=function(t){var e=this;do{if(w.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var H=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!H.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(H,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},O=function(t){if(!H.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var j=T(),M=/[^.]*(?=\..*)\.|.*/,R=/\..*/,x=/^key/,W=/::\d+$/,U={},K=1,V={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function F(t,e){return e&&e+"::"+K++||t.uidEvent||K++}function Q(t){var e=F(t);return t.uidEvent=e,U[e]=U[e]||{},U[e]}function Y(t,e){null===t.which&&x.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function G(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function X(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(R,""),s=V[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=X(e,n,i),s=r[0],a=r[1],l=r[2],c=Q(t),u=c[l]||(c[l]={}),f=G(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=F(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&Z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&Z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function z(t,e,n,i,o){var r=G(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var Z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=X(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=Q(t),u="."===e.charAt(0);if("undefined"==typeof s){u&&Object.keys(c).forEach(function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach(function(r){if(r.indexOf(i)>-1){var s=o[r];z(t,e,n,s.originalHandler,s.delegationSelector)}})}(t,c,n,e.substr(1))});var f=c[a]||{};Object.keys(f).forEach(function(n){var i=n.replace(W,"");if(!l||e.indexOf(i)>-1){var o=f[n];z(t,c,a,o.originalHandler,o.delegationSelector)}})}else{if(!c||!c[a])return;z(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(R,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&j&&(i=j.Event(e,n),j(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=N(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach(function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})}),c&&(u.preventDefault(),P||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),u}},$={matches:function(t,e){return w.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),O.call(e,t)},children:function(t,e){var n=this,i=E(t.children);return i.filter(function(t){return n.matches(t,e)})},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return C.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},J="bs.alert",tt="."+J,et={CLOSE:"close"+tt,CLOSED:"closed"+tt,CLICK_DATA_API:"click"+tt+".data-api"},nt="alert",it="fade",ot="show",rt=function(){function t(t){this._element=t,this._element&&A.setData(t,J,this)}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){A.removeData(this._element,J),this._element=null},e._getRootElement=function(t){var e=d(t);return e||(e=$.closest(t,"."+nt)),e},e._triggerCloseEvent=function(t){return Z.trigger(t,et.CLOSE)},e._removeElement=function(t){var e=this;if(t.classList.remove(ot),t.classList.contains(it)){var n=g(t);Z.one(t,c,function(){return e._destroyElement(t)}),m(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),Z.trigger(t,et.CLOSED)},t.jQueryInterface=function(e){return this.each(function(){var n=A.getData(this,J);n||(n=new t(this)),"close"===e&&n[e](this)})},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return A.getData(t,J)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,et.CLICK_DATA_API,'[data-dismiss="alert"]',rt.handleDismiss(new rt));var st=T();if(st){var at=st.fn.alert;st.fn.alert=rt.jQueryInterface,st.fn.alert.Constructor=rt,st.fn.alert.noConflict=function(){return st.fn.alert=at,rt.jQueryInterface}}var lt="bs.button",ct="."+lt,ut="active",ft="btn",ht="focus",dt='[data-toggle^="button"]',gt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',_t=".active",mt=".btn",vt={CLICK_DATA_API:"click"+ct+".data-api",FOCUS_DATA_API:"focus"+ct+".data-api",BLUR_DATA_API:"blur"+ct+".data-api"},Et=function(){function t(t){this._element=t,A.setData(t,lt,this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=$.closest(this._element,gt);if(n){var i=$.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ut))t=!1;else{var o=$.findOne(_t,n);o&&o.classList.remove(ut)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ut),Z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ut)),t&&this._element.classList.toggle(ut)},e.dispose=function(){A.removeData(this._element,lt),this._element=null},t.jQueryInterface=function(e){return this.each(function(){var n=A.getData(this,lt);n||(n=new t(this)),"toggle"===e&&n[e]()})},t.getInstance=function(t){return A.getData(t,lt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,vt.CLICK_DATA_API,dt,function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=$.closest(e,mt));var n=A.getData(e,lt);n||(n=new Et(e)),n.toggle()}),Z.on(document,vt.FOCUS_DATA_API,dt,function(t){var e=$.closest(t.target,mt);e&&e.classList.add(ht)}),Z.on(document,vt.BLUR_DATA_API,dt,function(t){var e=$.closest(t.target,mt);e&&e.classList.remove(ht)});var yt=T();if(yt){var bt=yt.fn.button;yt.fn.button=Et.jQueryInterface,yt.fn.button.Constructor=Et,yt.fn.button.noConflict=function(){return yt.fn.button=bt,Et.jQueryInterface}}function Dt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function Tt(t){return t.replace(/[A-Z]/g,function(t){return t.toLowerCase()})}var It={setDataAttribute:function(t,e,n){t.setAttribute("data-"+Tt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+Tt(e))},getDataAttributes:function(t){if(!t)return{};var e=r({},t.dataset);return Object.keys(e).forEach(function(t){e[t]=Dt(e[t])}),e},getDataAttribute:function(t,e){return Dt(t.getAttribute("data-"+Tt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},At="carousel",St="bs.carousel",wt="."+St,Ct={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Ot="next",Nt="prev",kt="left",Pt="right",Ht={SLIDE:"slide"+wt,SLID:"slid"+wt,KEYDOWN:"keydown"+wt,MOUSEENTER:"mouseenter"+wt,MOUSELEAVE:"mouseleave"+wt,TOUCHSTART:"touchstart"+wt,TOUCHMOVE:"touchmove"+wt,TOUCHEND:"touchend"+wt,POINTERDOWN:"pointerdown"+wt,POINTERUP:"pointerup"+wt,DRAG_START:"dragstart"+wt,LOAD_DATA_API:"load"+wt+".data-api",CLICK_DATA_API:"click"+wt+".data-api"},jt="carousel",Mt="active",Rt="slide",xt="carousel-item-right",Wt="carousel-item-left",Ut="carousel-item-next",Kt="carousel-item-prev",Vt="pointer-event",Bt={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Ft={TOUCH:"touch",PEN:"pen"},Qt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=$.findOne(Bt.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),A.setData(t,St,this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(Ot)},e.nextWhenVisible=function(){!document.hidden&&y(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide(Nt)},e.pause=function(t){t||(this._isPaused=!0),$.findOne(Bt.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=$.findOne(Bt.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)Z.one(this._element,Ht.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=t>n?Ot:Nt;this._slide(i,this._items[t])}},e.dispose=function(){Z.off(this._element,wt),A.removeData(this._element,St),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},Ct,{},t),v(At,t,Lt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&Z.on(this._element,Ht.KEYDOWN,function(e){return t._keydown(e)}),"hover"===this._config.pause&&(Z.on(this._element,Ht.MOUSEENTER,function(e){return t.pause(e)}),Z.on(this._element,Ht.MOUSELEAVE,function(e){return t.cycle(e)})),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};E($.find(Bt.ITEM_IMG,this._element)).forEach(function(t){Z.on(t,Ht.DRAG_START,function(t){return t.preventDefault()})}),this._pointerEvent?(Z.on(this._element,Ht.POINTERDOWN,function(t){return e(t)}),Z.on(this._element,Ht.POINTERUP,function(t){return n(t)}),this._element.classList.add(Vt)):(Z.on(this._element,Ht.TOUCHSTART,function(t){return e(t)}),Z.on(this._element,Ht.TOUCHMOVE,function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)}),Z.on(this._element,Ht.TOUCHEND,function(t){return n(t)}))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?E($.find(Bt.ITEM,t.parentNode)):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===Ot,i=t===Nt,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Nt?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex($.findOne(Bt.ACTIVE_ITEM,this._element));return Z.trigger(this._element,Ht.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=$.find(Bt.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},e._slide=function(t,e){var n,i,o,r=this,s=$.findOne(Bt.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),u=this._getItemIndex(l),f=Boolean(this._interval);if(t===Ot?(n=Wt,i=Ut,o=kt):(n=xt,i=Kt,o=Pt),l&&l.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(Rt)){l.classList.add(i),D(l),s.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var d=g(s);Z.one(s,c,function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout(function(){Z.trigger(r._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u})},0)}),m(s,d)}else s.classList.remove(Mt),l.classList.add(Mt),this._isSliding=!1,Z.trigger(this._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u});f&&this.cycle()}},t.carouselInterface=function(e,n){var i=A.getData(e,St),o=r({},Ct,{},It.getDataAttributes(e));"object"==typeof n&&(o=r({},o,{},n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each(function(){t.carouselInterface(this,e)})},t.dataApiClickHandler=function(e){var n=d(this);if(n&&n.classList.contains(jt)){var i=r({},It.getDataAttributes(n),{},It.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&A.getData(n,St).to(o),e.preventDefault()}},t.getInstance=function(t){return A.getData(t,St)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ct}}]),t}();Z.on(document,Ht.CLICK_DATA_API,Bt.DATA_SLIDE,Qt.dataApiClickHandler),Z.on(window,Ht.LOAD_DATA_API,function(){for(var t=E($.find(Bt.DATA_RIDE)),e=0,n=t.length;e<n;e++)Qt.carouselInterface(t[e],A.getData(t[e],St))});var Yt=T();if(Yt){var Gt=Yt.fn[At];Yt.fn[At]=Qt.jQueryInterface,Yt.fn[At].Constructor=Qt,Yt.fn[At].noConflict=function(){return Yt.fn[At]=Gt,Qt.jQueryInterface}}var Xt="collapse",qt="bs.collapse",zt="."+qt,Zt={toggle:!0,parent:""},$t={toggle:"boolean",parent:"(string|element)"},Jt={SHOW:"show"+zt,SHOWN:"shown"+zt,HIDE:"hide"+zt,HIDDEN:"hidden"+zt,CLICK_DATA_API:"click"+zt+".data-api"},te="show",ee="collapse",ne="collapsing",ie="collapsed",oe="width",re="height",se={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},ae=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=E($.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=E($.find(se.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=h(r),a=E($.find(s)).filter(function(e){return e===t});null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),A.setData(t,qt,this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains(te)?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(te)){var n,i;this._parent&&0===(n=E($.find(se.ACTIVES,this._parent)).filter(function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(ee)})).length&&(n=null);var o=$.findOne(this._selector);if(n){var r=n.filter(function(t){return o!==t});if((i=r[0]?A.getData(r[0],qt):null)&&i._isTransitioning)return}if(!Z.trigger(this._element,Jt.SHOW).defaultPrevented){n&&n.forEach(function(e){o!==e&&t.collapseInterface(e,"hide"),i||A.setData(e,qt,null)});var s=this._getDimension();this._element.classList.remove(ee),this._element.classList.add(ne),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(function(t){t.classList.remove(ie),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=g(this._element);Z.one(this._element,c,function(){e._element.classList.remove(ne),e._element.classList.add(ee),e._element.classList.add(te),e._element.style[s]="",e.setTransitioning(!1),Z.trigger(e._element,Jt.SHOWN)}),m(this._element,l),this._element.style[s]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(te)&&!Z.trigger(this._element,Jt.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",D(this._element),this._element.classList.add(ne),this._element.classList.remove(ee),this._element.classList.remove(te);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=d(o);r&&!r.classList.contains(te)&&(o.classList.add(ie),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=g(this._element);Z.one(this._element,c,function(){t.setTransitioning(!1),t._element.classList.remove(ne),t._element.classList.add(ee),Z.trigger(t._element,Jt.HIDDEN)}),m(this._element,s)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){A.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},Zt,{},t)).toggle=Boolean(t.toggle),v(Xt,t,$t),t},e._getDimension=function(){return this._element.classList.contains(oe)?oe:re},e._getParent=function(){var t=this,e=this._config.parent;_(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=$.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return E($.find(n,e)).forEach(function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])}),e},e._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(te);e.length&&e.forEach(function(t){n?t.classList.remove(ie):t.classList.add(ie),t.setAttribute("aria-expanded",n)})}},t.collapseInterface=function(e,n){var i=A.getData(e,qt),o=r({},Zt,{},It.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&o.toggle&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each(function(){t.collapseInterface(this,e)})},t.getInstance=function(t){return A.getData(t,qt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Zt}}]),t}();Z.on(document,Jt.CLICK_DATA_API,se.DATA_TOGGLE,function(t){"A"===t.target.tagName&&t.preventDefault();var e=It.getDataAttributes(this),n=h(this);E($.find(n)).forEach(function(t){var n,i=A.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,ae.collapseInterface(t,n)})});var le=T();if(le){var ce=le.fn[Xt];le.fn[Xt]=ae.jQueryInterface,le.fn[Xt].Constructor=ae,le.fn[Xt].noConflict=function(){return le.fn[Xt]=ce,ae.jQueryInterface}}var ue="dropdown",fe="bs.dropdown",he="."+fe,de=new RegExp("38|40|27"),ge={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:"show"+he,SHOWN:"shown"+he,CLICK:"click"+he,CLICK_DATA_API:"click"+he+".data-api",KEYDOWN_DATA_API:"keydown"+he+".data-api",KEYUP_DATA_API:"keyup"+he+".data-api"},pe="disabled",_e="show",me="dropup",ve="dropright",Ee="dropleft",ye="dropdown-menu-right",be="position-static",De='[data-toggle="dropdown"]',Te=".dropdown form",Ie=".dropdown-menu",Ae=".navbar-nav",Se=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",we="top-start",Ce="top-end",Le="bottom-start",Oe="bottom-end",Ne="right-start",ke="left-start",Pe={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},He={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},je=function(){function e(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),A.setData(t,fe,this)}var i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)){var t=this._menu.classList.contains(_e);e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains(pe)||this._menu.classList.contains(_e))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!Z.trigger(n,ge.SHOW,i).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:_(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add(be),this._popper=new t(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!E($.closest(n,Ae)).length&&E(document.body.children).forEach(function(t){return Z.on(t,"mouseover",null,function(){})}),this._element.focus(),this._element.setAttribute("aria-expanded",!0),It.toggleClass(this._menu,_e),It.toggleClass(n,_e),Z.trigger(n,ge.SHOWN,i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)&&this._menu.classList.contains(_e)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};Z.trigger(t,ge.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),It.toggleClass(this._menu,_e),It.toggleClass(t,_e),Z.trigger(t,ge.HIDDEN,n))}},i.dispose=function(){A.removeData(this._element,fe),Z.off(this._element,he),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;Z.on(this._element,ge.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},i._getConfig=function(t){return t=r({},this.constructor.Default,{},It.getDataAttributes(this._element),{},t),v(ue,t,this.constructor.DefaultType),t},i._getMenuElement=function(){var t=e.getParentFromElement(this._element);return $.findOne(Ie,t)},i._getPlacement=function(){var t=this._element.parentNode,e=Le;return t.classList.contains(me)?(e=we,this._menu.classList.contains(ye)&&(e=Ce)):t.classList.contains(ve)?e=Ne:t.classList.contains(Ee)?e=ke:this._menu.classList.contains(ye)&&(e=Oe),e},i._detectNavbar=function(){return Boolean($.closest(this._element,".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=A.getData(t,fe);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each(function(){e.dropdownInterface(this,t)})},e.clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=E($.find(De)),i=0,o=n.length;i<o;i++){var r=e.getParentFromElement(n[i]),s=A.getData(n[i],fe),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),s){var l=s._menu;if(r.classList.contains(_e))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&r.contains(t.target)))Z.trigger(r,ge.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&E(document.body.children).forEach(function(t){return Z.off(t,"mouseover",null,function(){})}),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(_e),r.classList.remove(_e),Z.trigger(r,ge.HIDDEN,a))}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||$.closest(t.target,Ie))):de.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(pe))){var n=e.getParentFromElement(this),i=n.classList.contains(_e);if(!i||i&&(27===t.which||32===t.which))return 27===t.which&&$.findOne(De,n).focus(),void e.clearMenus();var o=E($.find(Se,n));if(o.length){var r=o.indexOf(t.target);38===t.which&&r>0&&r--,40===t.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},e.getInstance=function(t){return A.getData(t,fe)},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Pe}},{key:"DefaultType",get:function(){return He}}]),e}();Z.on(document,ge.KEYDOWN_DATA_API,De,je.dataApiKeydownHandler),Z.on(document,ge.KEYDOWN_DATA_API,Ie,je.dataApiKeydownHandler),Z.on(document,ge.CLICK_DATA_API,je.clearMenus),Z.on(document,ge.KEYUP_DATA_API,je.clearMenus),Z.on(document,ge.CLICK_DATA_API,De,function(t){t.preventDefault(),t.stopPropagation(),je.dropdownInterface(this,"toggle")}),Z.on(document,ge.CLICK_DATA_API,Te,function(t){return t.stopPropagation()});var Me=T();if(Me){var Re=Me.fn[ue];Me.fn[ue]=je.jQueryInterface,Me.fn[ue].Constructor=je,Me.fn[ue].noConflict=function(){return Me.fn[ue]=Re,je.jQueryInterface}}var xe="bs.modal",We="."+xe,Ue={backdrop:!0,keyboard:!0,focus:!0,show:!0},Ke={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ve={HIDE:"hide"+We,HIDDEN:"hidden"+We,SHOW:"show"+We,SHOWN:"shown"+We,FOCUSIN:"focusin"+We,RESIZE:"resize"+We,CLICK_DISMISS:"click.dismiss"+We,KEYDOWN_DISMISS:"keydown.dismiss"+We,MOUSEUP_DISMISS:"mouseup.dismiss"+We,MOUSEDOWN_DISMISS:"mousedown.dismiss"+We,CLICK_DATA_API:"click"+We+".data-api"},Be="modal-dialog-scrollable",Fe="modal-scrollbar-measure",Qe="modal-backdrop",Ye="modal-open",Ge="fade",Xe="show",qe={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},ze=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=$.findOne(qe.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,A.setData(t,xe,this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Ge)&&(this._isTransitioning=!0);var n=Z.trigger(this._element,Ve.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),Z.on(this._element,Ve.CLICK_DISMISS,qe.DATA_DISMISS,function(t){return e.hide(t)}),Z.on(this._dialog,Ve.MOUSEDOWN_DISMISS,function(){Z.one(e._element,Ve.MOUSEUP_DISMISS,function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!Z.trigger(this._element,Ve.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Ge);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Z.off(document,Ve.FOCUSIN),this._element.classList.remove(Xe),Z.off(this._element,Ve.CLICK_DISMISS),Z.off(this._dialog,Ve.MOUSEDOWN_DISMISS),n){var i=g(this._element);Z.one(this._element,c,function(t){return e._hideModal(t)}),m(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return Z.off(t,We)}),Z.off(document,Ve.FOCUSIN),A.removeData(this._element,xe),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},Ue,{},t),v("modal",t,Ke),t},e._showElement=function(t){var e=this,n=this._element.classList.contains(Ge),i=$.findOne(qe.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Be)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&D(this._element),this._element.classList.add(Xe),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Z.trigger(e._element,Ve.SHOWN,{relatedTarget:t})};if(n){var r=g(this._dialog);Z.one(this._dialog,c,o),m(this._dialog,r)}else o()},e._enforceFocus=function(){var t=this;Z.off(document,Ve.FOCUSIN),Z.on(document,Ve.FOCUSIN,function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()})},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?Z.on(this._element,Ve.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):Z.off(this._element,Ve.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?Z.on(window,Ve.RESIZE,function(){return t._adjustDialog()}):Z.off(window,Ve.RESIZE)},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){document.body.classList.remove(Ye),t._resetAdjustments(),t._resetScrollbar(),Z.trigger(t._element,Ve.HIDDEN)})},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Ge)?Ge:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Qe,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),Z.on(this._element,Ve.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&D(this._backdrop),this._backdrop.classList.add(Xe),!n)return void t();var i=g(this._backdrop);Z.one(this._backdrop,c,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(Xe);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Ge)){var r=g(this._backdrop);Z.one(this._backdrop,c,o),m(this._backdrop,r)}else o()}else t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){E($.find(qe.FIXED_CONTENT)).forEach(function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];It.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"}),E($.find(qe.STICKY_CONTENT)).forEach(function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];It.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"});var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];It.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Ye)},e._resetScrollbar=function(){E($.find(qe.FIXED_CONTENT)).forEach(function(t){var e=It.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)}),E($.find(""+qe.STICKY_CONTENT)).forEach(function(t){var e=It.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)});var t=It.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(It.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Fe,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each(function(){var i=A.getData(this,xe),o=r({},Ue,{},It.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)})},t.getInstance=function(t){return A.getData(t,xe)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ue}}]),t}();Z.on(document,Ve.CLICK_DATA_API,qe.DATA_TOGGLE,function(t){var e=this,n=d(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),Z.one(n,Ve.SHOW,function(t){t.defaultPrevented||Z.one(n,Ve.HIDDEN,function(){y(e)&&e.focus()})});var i=A.getData(n,xe);if(!i){var o=r({},It.getDataAttributes(n),{},It.getDataAttributes(this));i=new ze(n,o)}i.show(this)});var Ze=T();if(Ze){var $e=Ze.fn.modal;Ze.fn.modal=ze.jQueryInterface,Ze.fn.modal.Constructor=ze,Ze.fn.modal.noConflict=function(){return Ze.fn.modal=$e,ze.jQueryInterface}}var Je=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],tn=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,en=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,nn=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Je.indexOf(n)||Boolean(t.nodeValue.match(tn)||t.nodeValue.match(en));for(var i=e.filter(function(t){return t instanceof RegExp}),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},on={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function rn(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=E(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=E(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach(function(t){nn(t,l)||i.removeAttribute(t.nodeName)})},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var sn="tooltip",an=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ln=["sanitize","whiteList","sanitizeFn"],cn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},un={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},fn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:on,popperConfig:null},hn="show",dn="out",gn={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},pn="fade",_n="show",mn=".tooltip-inner",vn="hover",En="focus",yn="click",bn="manual",Dn=function(){function e(e,n){if("undefined"==typeof t)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(n),this.tip=null,this._setListeners(),A.setData(e,this.constructor.DATA_KEY,this)}var i=e.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=A.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(_n))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),A.removeData(this.element,this.constructor.DATA_KEY),Z.off(this.element,this.constructor.EVENT_KEY),Z.off($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=Z.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(n.defaultPrevented||!o)return;var r=this.getTipElement(),s=u(this.constructor.NAME);r.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&r.classList.add(pn);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var f=this._getContainer();A.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(r),Z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,r,this._getPopperConfig(l)),r.classList.add(_n),"ontouchstart"in document.documentElement&&E(document.body.children).forEach(function(t){Z.on(t,"mouseover",function(){})});var h=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,Z.trigger(e.element,e.constructor.Event.SHOWN),t===dn&&e._leave(null,e)};if(this.tip.classList.contains(pn)){var d=g(this.tip);Z.one(this.tip,c,h),m(this.tip,d)}else h()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==hn&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),Z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!Z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(_n),"ontouchstart"in document.documentElement&&E(document.body.children).forEach(function(t){return Z.off(t,"mouseover",b)}),this._activeTrigger[yn]=!1,this._activeTrigger[En]=!1,this._activeTrigger[vn]=!1,this.tip.classList.contains(pn)){var i=g(e);Z.one(e,c,n),m(e,i)}else n();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(mn,t),this.getTitle()),t.classList.remove(pn),t.classList.remove(_n)},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&_(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=rn(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:_(this.config.container)?this.config.container:$.findOne(this.config.container)},i._getAttachment=function(t){return un[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)Z.on(t.element,t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(e!==bn){var n=e===vn?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===vn?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;Z.on(t.element,n,t.config.selector,function(e){return t._enter(e)}),Z.on(t.element,i,t.config.selector,function(e){return t._leave(e)})}}),this._hideModalHandler=function(){t.element&&t.hide()},Z.on($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?En:vn]=!0),e.getTipElement().classList.contains(_n)||e._hoverState===hn?e._hoverState=hn:(clearTimeout(e._timeout),e._hoverState=hn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===hn&&e.show()},e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?En:vn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=dn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===dn&&e.hide()},e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=It.getDataAttributes(this.element);return Object.keys(e).forEach(function(t){-1!==ln.indexOf(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=r({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(sn,t,this.constructor.DefaultType),t.sanitize&&(t.template=rn(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(an);null!==e&&e.length&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(pn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},e.jQueryInterface=function(t){return this.each(function(){var n=A.getData(this,"bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}})},e.getInstance=function(t){return A.getData(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return fn}},{key:"NAME",get:function(){return sn}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return gn}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return cn}}]),e}(),Tn=T();if(Tn){var In=Tn.fn.tooltip;Tn.fn.tooltip=Dn.jQueryInterface,Tn.fn.tooltip.Constructor=Dn,Tn.fn.tooltip.noConflict=function(){return Tn.fn.tooltip=In,Dn.jQueryInterface}}var An="popover",Sn=new RegExp("(^|\\s)bs-popover\\S+","g"),wn=r({},Dn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Cn=r({},Dn.DefaultType,{content:"(string|element|function)"}),Ln="fade",On="show",Nn=".popover-header",kn=".popover-body",Pn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Hn=function(t){var e,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(Nn,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent($.findOne(kn,t),e),t.classList.remove(Ln),t.classList.remove(On)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Sn);null!==e&&e.length>0&&e.map(function(t){return t.trim()}).forEach(function(e){return t.classList.remove(e)})},o.jQueryInterface=function(t){return this.each(function(){var e=A.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),A.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}})},o.getInstance=function(t){return A.getData(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return wn}},{key:"NAME",get:function(){return An}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Pn}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Cn}}]),o}(Dn),jn=T();if(jn){var Mn=jn.fn.popover;jn.fn.popover=Hn.jQueryInterface,jn.fn.popover.Constructor=Hn,jn.fn.popover.noConflict=function(){return jn.fn.popover=Mn,Hn.jQueryInterface}}var Rn="scrollspy",xn="bs.scrollspy",Wn="."+xn,Un={offset:10,method:"auto",target:""},Kn={offset:"number",method:"string",target:"(string|element)"},Vn={ACTIVATE:"activate"+Wn,SCROLL:"scroll"+Wn,LOAD_DATA_API:"load"+Wn+".data-api"},Bn={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Fn={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Qn="offset",Yn="position",Gn=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Fn.NAV_LINKS+","+this._config.target+" "+Fn.LIST_ITEMS+","+this._config.target+" ."+Bn.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Z.on(this._scrollElement,Vn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process(),A.setData(t,xn,this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Qn:Yn,n="auto"===this._config.method?e:this._config.method,i=n===Yn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),E($.find(this._selector)).map(function(t){var e,o=h(t);if(o&&(e=$.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[It[n](e).top+i,o]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},e.dispose=function(){A.removeData(this._element,xn),Z.off(this._scrollElement,Wn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},Un,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=u(Rn),t.target.id=e),t.target="#"+e}return v(Rn,t,Kn),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map(function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'}),n=$.findOne(e.join(","));n.classList.contains(Bn.DROPDOWN_ITEM)?($.findOne(Fn.DROPDOWN_TOGGLE,$.closest(n,Fn.DROPDOWN)).classList.add(Bn.ACTIVE),n.classList.add(Bn.ACTIVE)):(n.classList.add(Bn.ACTIVE),$.parents(n,Fn.NAV_LIST_GROUP).forEach(function(t){$.prev(t,Fn.NAV_LINKS+", "+Fn.LIST_ITEMS).forEach(function(t){return t.classList.add(Bn.ACTIVE)}),$.prev(t,Fn.NAV_ITEMS).forEach(function(t){$.children(t,Fn.NAV_LINKS).forEach(function(t){return t.classList.add(Bn.ACTIVE)})})})),Z.trigger(this._scrollElement,Vn.ACTIVATE,{relatedTarget:t})},e._clear=function(){E($.find(this._selector)).filter(function(t){return t.classList.contains(Bn.ACTIVE)}).forEach(function(t){return t.classList.remove(Bn.ACTIVE)})},t.jQueryInterface=function(e){return this.each(function(){var n=A.getData(this,xn);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(t){return A.getData(t,xn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Un}}]),t}();Z.on(window,Vn.LOAD_DATA_API,function(){E($.find(Fn.DATA_SPY)).forEach(function(t){return new Gn(t,It.getDataAttributes(t))})});var Xn=T();if(Xn){var qn=Xn.fn[Rn];Xn.fn[Rn]=Gn.jQueryInterface,Xn.fn[Rn].Constructor=Gn,Xn.fn[Rn].noConflict=function(){return Xn.fn[Rn]=qn,Gn.jQueryInterface}}var zn="bs.tab",Zn="."+zn,$n={HIDE:"hide"+Zn,HIDDEN:"hidden"+Zn,SHOW:"show"+Zn,SHOWN:"shown"+Zn,CLICK_DATA_API:"click"+Zn+".data-api"},Jn="dropdown-menu",ti="active",ei="disabled",ni="fade",ii="show",oi=".dropdown",ri=".nav, .list-group",si=".active",ai=":scope > li > .active",li='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',ci=".dropdown-toggle",ui=":scope > .dropdown-menu .active",fi=function(){function t(t){this._element=t,A.setData(this._element,zn,this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ti)||this._element.classList.contains(ei))){var e,n=d(this._element),i=$.closest(this._element,ri);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?ai:si;e=(e=E($.find(o,i)))[e.length-1]}var r=null;if(e&&(r=Z.trigger(e,$n.HIDE,{relatedTarget:this._element})),!(Z.trigger(this._element,$n.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){Z.trigger(e,$n.HIDDEN,{relatedTarget:t._element}),Z.trigger(t._element,$n.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},e.dispose=function(){A.removeData(this._element,zn),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?$.children(e,si):$.find(ai,e))[0],r=n&&o&&o.classList.contains(ni),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=g(o);o.classList.remove(ii),Z.one(o,c,s),m(o,a)}else s()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove(ti);var i=$.findOne(ui,e.parentNode);i&&i.classList.remove(ti),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(ti),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),D(t),t.classList.contains(ni)&&t.classList.add(ii),t.parentNode&&t.parentNode.classList.contains(Jn))&&($.closest(t,oi)&&E($.find(ci)).forEach(function(t){return t.classList.add(ti)}),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each(function(){var n=A.getData(this,zn)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},t.getInstance=function(t){return A.getData(t,zn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,$n.CLICK_DATA_API,li,function(t){t.preventDefault(),(A.getData(this,zn)||new fi(this)).show()});var hi=T();if(hi){var di=hi.fn.tab;hi.fn.tab=fi.jQueryInterface,hi.fn.tab.Constructor=fi,hi.fn.tab.noConflict=function(){return hi.fn.tab=di,fi.jQueryInterface}}var gi="bs.toast",pi="."+gi,_i={CLICK_DISMISS:"click.dismiss"+pi,HIDE:"hide"+pi,HIDDEN:"hidden"+pi,SHOW:"show"+pi,SHOWN:"shown"+pi},mi="fade",vi="hide",Ei="show",yi="showing",bi={animation:"boolean",autohide:"boolean",delay:"number"},Di={animation:!0,autohide:!0,delay:500},Ti='[data-dismiss="toast"]',Ii=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),A.setData(t,gi,this)}var e=t.prototype;return e.show=function(){var t=this;if(!Z.trigger(this._element,_i.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(mi);var e=function(){t._element.classList.remove(yi),t._element.classList.add(Ei),Z.trigger(t._element,_i.SHOWN),t._config.autohide&&(t._timeout=setTimeout(function(){t.hide()},t._config.delay))};if(this._element.classList.remove(vi),D(this._element),this._element.classList.add(yi),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains(Ei)&&!Z.trigger(this._element,_i.HIDE).defaultPrevented){var e=function(){t._element.classList.add(vi),Z.trigger(t._element,_i.HIDDEN)};if(this._element.classList.remove(Ei),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Ei)&&this._element.classList.remove(Ei),Z.off(this._element,_i.CLICK_DISMISS),A.removeData(this._element,gi),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},Di,{},It.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;Z.on(this._element,_i.CLICK_DISMISS,Ti,function(){return t.hide()})},t.jQueryInterface=function(e){return this.each(function(){var n=A.getData(this,gi);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}})},t.getInstance=function(t){return A.getData(t,gi)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return bi}},{key:"Default",get:function(){return Di}}]),t}(),Ai=T();if(Ai){var Si=Ai.fn.toast;Ai.fn.toast=Ii.jQueryInterface,Ai.fn.toast.Constructor=Ii,Ai.fn.toast.noConflict=function(){return Ai.fn.toast=Si,Ii.jQueryInterface}}return{Alert:rt,Button:Et,Carousel:Qt,Collapse:ae,Dropdown:je,Modal:ze,Popover:Hn,ScrollSpy:Gn,Tab:fi,Toast:Ii,Tooltip:Dn}});
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("popper.js")):"function"==typeof define&&define.amd?define(["popper.js"],e):(t=t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(n,!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(n).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}t=t&&t.hasOwnProperty("default")?t.default:t;var s,a,l,c="transitionend",u=function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},f=function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},h=function(t){var e=f(t);return e&&document.querySelector(e)?e:null},d=function(t){var e=f(t);return e?document.querySelector(e):null},g=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=parseFloat(n),r=parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(parseFloat(n)+parseFloat(i))):0},p=function(t){var e=document.createEvent("HTMLEvents");e.initEvent(c,!0,!0),t.dispatchEvent(e)},_=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener(c,(function e(){n=!0,t.removeEventListener(c,e)})),setTimeout((function(){n||p(t)}),i)},v=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&_(s)?"element":(o=s,{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},E=function(t){return t?[].slice.call(t):[]},y=function(t){return!!t&&(!!(t.style&&t.parentNode&&t.parentNode.style)&&("none"!==t.style.display&&"none"!==t.parentNode.style.display&&"hidden"!==t.style.visibility))},b=function(){return function(){}},D=function(t){return t.offsetHeight},T=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},I=(s={},a=1,{set:function(t,e,n){"undefined"==typeof t.key&&(t.key={key:e,id:a},a++),s[t.key.id]=n},get:function(t,e){if(!t||"undefined"==typeof t.key)return null;var n=t.key;return n.key===e?s[n.id]:null},delete:function(t,e){if("undefined"!=typeof t.key){var n=t.key;n.key===e&&(delete s[n.id],delete t.key)}}}),A={setData:function(t,e,n){I.set(t,e,n)},getData:function(t,e){return I.get(t,e)},removeData:function(t,e){I.delete(t,e)}},S=Element.prototype,w=S.matches,C=S.closest,L=Element.prototype.querySelectorAll,O=Element.prototype.querySelector,N=function(t,e){return new CustomEvent(t,e)};if("function"!=typeof window.CustomEvent&&(N=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}),!((l=document.createEvent("CustomEvent")).initEvent("Bootstrap",!0,!0),l.preventDefault(),l.defaultPrevented)){var k=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(k.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var P=function(){var t=N("Bootstrap",{cancelable:!0}),e=document.createElement("div");return e.addEventListener("Bootstrap",(function(){return null})),t.preventDefault(),e.dispatchEvent(t),t.defaultPrevented}();w||(w=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),C||(C=function(t){var e=this;do{if(w.call(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null});var H=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(L=function(t){if(!H.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(H,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},O=function(t){if(!H.test(t))return this.querySelector(t);var e=L.call(this,t);return"undefined"!=typeof e[0]?e[0]:null});var j=T(),M=/[^.]*(?=\..*)\.|.*/,R=/\..*/,x=/^key/,W=/::\d+$/,U={},K=1,V={mouseenter:"mouseover",mouseleave:"mouseout"},B=["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"];function F(t,e){return e&&e+"::"+K++||t.uidEvent||K++}function Q(t){var e=F(t);return t.uidEvent=e,U[e]=U[e]||{},U[e]}function Y(t,e){null===t.which&&x.test(t.type)&&(t.which=null===t.charCode?t.keyCode:t.charCode),t.delegateTarget=e}function G(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function X(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(R,""),s=V[r];return s&&(r=s),B.indexOf(r)>-1||(r=t),[i,o,r]}function q(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=X(e,n,i),s=r[0],a=r[1],l=r[2],c=Q(t),u=c[l]||(c[l]={}),f=G(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=F(a,e.replace(M,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return Y(o,s),i.oneOff&&Z.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return Y(i,t),n.oneOff&&Z.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function z(t,e,n,i,o){var r=G(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var Z={on:function(t,e,n,i){q(t,e,n,i,!1)},one:function(t,e,n,i){q(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=X(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=Q(t),u="."===e.charAt(0);if("undefined"==typeof s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];z(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var f=c[a]||{};Object.keys(f).forEach((function(n){var i=n.replace(W,"");if(!l||e.indexOf(i)>-1){var o=f[n];z(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;z(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(R,""),r=e!==o,s=B.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&j&&(i=j.Event(e,n),j(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=N(e,{bubbles:a,cancelable:!0}),"undefined"!=typeof n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),P||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&"undefined"!=typeof i&&i.preventDefault(),u}},$={matches:function(t,e){return w.call(t,e)},find:function(t,e){return void 0===e&&(e=document.documentElement),L.call(e,t)},findOne:function(t,e){return void 0===e&&(e=document.documentElement),O.call(e,t)},children:function(t,e){var n=this,i=E(t.children);return i.filter((function(t){return n.matches(t,e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},closest:function(t,e){return C.call(t,e)},prev:function(t,e){for(var n=[],i=t.previousSibling;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.previousSibling;return n}},J="bs.alert",tt="."+J,et={CLOSE:"close"+tt,CLOSED:"closed"+tt,CLICK_DATA_API:"click"+tt+".data-api"},nt="alert",it="fade",ot="show",rt=function(){function t(t){this._element=t,this._element&&A.setData(t,J,this)}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},e.dispose=function(){A.removeData(this._element,J),this._element=null},e._getRootElement=function(t){var e=d(t);return e||(e=$.closest(t,"."+nt)),e},e._triggerCloseEvent=function(t){return Z.trigger(t,et.CLOSE)},e._removeElement=function(t){var e=this;if(t.classList.remove(ot),t.classList.contains(it)){var n=g(t);Z.one(t,c,(function(){return e._destroyElement(t)})),m(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),Z.trigger(t,et.CLOSED)},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,J);n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return A.getData(t,J)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,et.CLICK_DATA_API,'[data-dismiss="alert"]',rt.handleDismiss(new rt));var st=T();if(st){var at=st.fn.alert;st.fn.alert=rt.jQueryInterface,st.fn.alert.Constructor=rt,st.fn.alert.noConflict=function(){return st.fn.alert=at,rt.jQueryInterface}}var lt="bs.button",ct="."+lt,ut="active",ft="btn",ht="focus",dt='[data-toggle^="button"]',gt='[data-toggle="buttons"]',pt='input:not([type="hidden"])',_t=".active",mt=".btn",vt={CLICK_DATA_API:"click"+ct+".data-api",FOCUS_DATA_API:"focus"+ct+".data-api",BLUR_DATA_API:"blur"+ct+".data-api"},Et=function(){function t(t){this._element=t,A.setData(t,lt,this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=$.closest(this._element,gt);if(n){var i=$.findOne(pt,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(ut))t=!1;else{var o=$.findOne(_t,n);o&&o.classList.remove(ut)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(ut),Z.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(ut)),t&&this._element.classList.toggle(ut)},e.dispose=function(){A.removeData(this._element,lt),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,lt);n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return A.getData(t,lt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,vt.CLICK_DATA_API,dt,(function(t){t.preventDefault();var e=t.target;e.classList.contains(ft)||(e=$.closest(e,mt));var n=A.getData(e,lt);n||(n=new Et(e)),n.toggle()})),Z.on(document,vt.FOCUS_DATA_API,dt,(function(t){var e=$.closest(t.target,mt);e&&e.classList.add(ht)})),Z.on(document,vt.BLUR_DATA_API,dt,(function(t){var e=$.closest(t.target,mt);e&&e.classList.remove(ht)}));var yt=T();if(yt){var bt=yt.fn.button;yt.fn.button=Et.jQueryInterface,yt.fn.button.Constructor=Et,yt.fn.button.noConflict=function(){return yt.fn.button=bt,Et.jQueryInterface}}function Dt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function Tt(t){return t.replace(/[A-Z]/g,(function(t){return t.toLowerCase()}))}var It={setDataAttribute:function(t,e,n){t.setAttribute("data-"+Tt(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+Tt(e))},getDataAttributes:function(t){if(!t)return{};var e=r({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Dt(e[t])})),e},getDataAttribute:function(t,e){return Dt(t.getAttribute("data-"+Tt(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},At="carousel",St="bs.carousel",wt="."+St,Ct={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Lt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Ot="next",Nt="prev",kt="left",Pt="right",Ht={SLIDE:"slide"+wt,SLID:"slid"+wt,KEYDOWN:"keydown"+wt,MOUSEENTER:"mouseenter"+wt,MOUSELEAVE:"mouseleave"+wt,TOUCHSTART:"touchstart"+wt,TOUCHMOVE:"touchmove"+wt,TOUCHEND:"touchend"+wt,POINTERDOWN:"pointerdown"+wt,POINTERUP:"pointerup"+wt,DRAG_START:"dragstart"+wt,LOAD_DATA_API:"load"+wt+".data-api",CLICK_DATA_API:"click"+wt+".data-api"},jt="carousel",Mt="active",Rt="slide",xt="carousel-item-right",Wt="carousel-item-left",Ut="carousel-item-next",Kt="carousel-item-prev",Vt="pointer-event",Bt={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",ITEM_IMG:".carousel-item img",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Ft={TOUCH:"touch",PEN:"pen"},Qt=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=$.findOne(Bt.INDICATORS,this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners(),A.setData(t,St,this)}var e=t.prototype;return e.next=function(){this._isSliding||this._slide(Ot)},e.nextWhenVisible=function(){!document.hidden&&y(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide(Nt)},e.pause=function(t){t||(this._isPaused=!0),$.findOne(Bt.NEXT_PREV,this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=$.findOne(Bt.ACTIVE_ITEM,this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)Z.one(this._element,Ht.SLID,(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?Ot:Nt;this._slide(i,this._items[t])}},e.dispose=function(){Z.off(this._element,wt),A.removeData(this._element,St),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},Ct,{},t),v(At,t,Lt),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&Z.on(this._element,Ht.KEYDOWN,(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(Z.on(this._element,Ht.MOUSEENTER,(function(e){return t.pause(e)})),Z.on(this._element,Ht.MOUSELEAVE,(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&Ft[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};E($.find(Bt.ITEM_IMG,this._element)).forEach((function(t){Z.on(t,Ht.DRAG_START,(function(t){return t.preventDefault()}))})),this._pointerEvent?(Z.on(this._element,Ht.POINTERDOWN,(function(t){return e(t)})),Z.on(this._element,Ht.POINTERUP,(function(t){return n(t)})),this._element.classList.add(Vt)):(Z.on(this._element,Ht.TOUCHSTART,(function(t){return e(t)})),Z.on(this._element,Ht.TOUCHMOVE,(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),Z.on(this._element,Ht.TOUCHEND,(function(t){return n(t)})))},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?E($.find(Bt.ITEM,t.parentNode)):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n=t===Ot,i=t===Nt,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===Nt?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex($.findOne(Bt.ACTIVE_ITEM,this._element));return Z.trigger(this._element,Ht.SLIDE,{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=$.find(Bt.ACTIVE,this._indicatorsElement),n=0;n<e.length;n++)e[n].classList.remove(Mt);var i=this._indicatorsElement.children[this._getItemIndex(t)];i&&i.classList.add(Mt)}},e._slide=function(t,e){var n,i,o,r=this,s=$.findOne(Bt.ACTIVE_ITEM,this._element),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),u=this._getItemIndex(l),f=Boolean(this._interval);if(t===Ot?(n=Wt,i=Ut,o=kt):(n=xt,i=Kt,o=Pt),l&&l.classList.contains(Mt))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).defaultPrevented&&s&&l){if(this._isSliding=!0,f&&this.pause(),this._setActiveIndicatorElement(l),this._element.classList.contains(Rt)){l.classList.add(i),D(l),s.classList.add(n),l.classList.add(n);var h=parseInt(l.getAttribute("data-interval"),10);h?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=h):this._config.interval=this._config.defaultInterval||this._config.interval;var d=g(s);Z.one(s,c,(function(){l.classList.remove(n),l.classList.remove(i),l.classList.add(Mt),s.classList.remove(Mt),s.classList.remove(i),s.classList.remove(n),r._isSliding=!1,setTimeout((function(){Z.trigger(r._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u})}),0)})),m(s,d)}else s.classList.remove(Mt),l.classList.add(Mt),this._isSliding=!1,Z.trigger(this._element,Ht.SLID,{relatedTarget:l,direction:o,from:a,to:u});f&&this.cycle()}},t.carouselInterface=function(e,n){var i=A.getData(e,St),o=r({},Ct,{},It.getDataAttributes(e));"object"==typeof n&&(o=r({},o,{},n));var s="string"==typeof n?n:o.slide;if(i||(i=new t(e,o)),"number"==typeof n)i.to(n);else if("string"==typeof s){if("undefined"==typeof i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else o.interval&&o.ride&&(i.pause(),i.cycle())},t.jQueryInterface=function(e){return this.each((function(){t.carouselInterface(this,e)}))},t.dataApiClickHandler=function(e){var n=d(this);if(n&&n.classList.contains(jt)){var i=r({},It.getDataAttributes(n),{},It.getDataAttributes(this)),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),t.carouselInterface(n,i),o&&A.getData(n,St).to(o),e.preventDefault()}},t.getInstance=function(t){return A.getData(t,St)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ct}}]),t}();Z.on(document,Ht.CLICK_DATA_API,Bt.DATA_SLIDE,Qt.dataApiClickHandler),Z.on(window,Ht.LOAD_DATA_API,(function(){for(var t=E($.find(Bt.DATA_RIDE)),e=0,n=t.length;e<n;e++)Qt.carouselInterface(t[e],A.getData(t[e],St))}));var Yt=T();if(Yt){var Gt=Yt.fn[At];Yt.fn[At]=Qt.jQueryInterface,Yt.fn[At].Constructor=Qt,Yt.fn[At].noConflict=function(){return Yt.fn[At]=Gt,Qt.jQueryInterface}}var Xt="collapse",qt="bs.collapse",zt="."+qt,Zt={toggle:!0,parent:""},$t={toggle:"boolean",parent:"(string|element)"},Jt={SHOW:"show"+zt,SHOWN:"shown"+zt,HIDE:"hide"+zt,HIDDEN:"hidden"+zt,CLICK_DATA_API:"click"+zt+".data-api"},te="show",ee="collapse",ne="collapsing",ie="collapsed",oe="width",re="height",se={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},ae=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=E($.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=E($.find(se.DATA_TOGGLE)),i=0,o=n.length;i<o;i++){var r=n[i],s=h(r),a=E($.find(s)).filter((function(e){return e===t}));null!==s&&a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle(),A.setData(t,qt,this)}var e=t.prototype;return e.toggle=function(){this._element.classList.contains(te)?this.hide():this.show()},e.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains(te)){var n,i;this._parent&&0===(n=E($.find(se.ACTIVES,this._parent)).filter((function(t){return"string"==typeof e._config.parent?t.getAttribute("data-parent")===e._config.parent:t.classList.contains(ee)}))).length&&(n=null);var o=$.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?A.getData(r[0],qt):null)&&i._isTransitioning)return}if(!Z.trigger(this._element,Jt.SHOW).defaultPrevented){n&&n.forEach((function(e){o!==e&&t.collapseInterface(e,"hide"),i||A.setData(e,qt,null)}));var s=this._getDimension();this._element.classList.remove(ee),this._element.classList.add(ne),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach((function(t){t.classList.remove(ie),t.setAttribute("aria-expanded",!0)})),this.setTransitioning(!0);var a="scroll"+(s[0].toUpperCase()+s.slice(1)),l=g(this._element);Z.one(this._element,c,(function(){e._element.classList.remove(ne),e._element.classList.add(ee),e._element.classList.add(te),e._element.style[s]="",e.setTransitioning(!1),Z.trigger(e._element,Jt.SHOWN)})),m(this._element,l),this._element.style[s]=this._element[a]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&this._element.classList.contains(te)&&!Z.trigger(this._element,Jt.HIDE).defaultPrevented){var e=this._getDimension();this._element.style[e]=this._element.getBoundingClientRect()[e]+"px",D(this._element),this._element.classList.add(ne),this._element.classList.remove(ee),this._element.classList.remove(te);var n=this._triggerArray.length;if(n>0)for(var i=0;i<n;i++){var o=this._triggerArray[i],r=d(o);r&&!r.classList.contains(te)&&(o.classList.add(ie),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=g(this._element);Z.one(this._element,c,(function(){t.setTransitioning(!1),t._element.classList.remove(ne),t._element.classList.add(ee),Z.trigger(t._element,Jt.HIDDEN)})),m(this._element,s)}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){A.removeData(this._element,qt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},Zt,{},t)).toggle=Boolean(t.toggle),v(Xt,t,$t),t},e._getDimension=function(){return this._element.classList.contains(oe)?oe:re},e._getParent=function(){var t=this,e=this._config.parent;_(e)?"undefined"==typeof e.jquery&&"undefined"==typeof e[0]||(e=e[0]):e=$.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return E($.find(n,e)).forEach((function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains(te);e.length&&e.forEach((function(t){n?t.classList.remove(ie):t.classList.add(ie),t.setAttribute("aria-expanded",n)}))}},t.collapseInterface=function(e,n){var i=A.getData(e,qt),o=r({},Zt,{},It.getDataAttributes(e),{},"object"==typeof n&&n?n:{});if(!i&&o.toggle&&/show|hide/.test(n)&&(o.toggle=!1),i||(i=new t(e,o)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.collapseInterface(this,e)}))},t.getInstance=function(t){return A.getData(t,qt)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Zt}}]),t}();Z.on(document,Jt.CLICK_DATA_API,se.DATA_TOGGLE,(function(t){"A"===t.target.tagName&&t.preventDefault();var e=It.getDataAttributes(this),n=h(this);E($.find(n)).forEach((function(t){var n,i=A.getData(t,qt);i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),n="toggle"):n=e,ae.collapseInterface(t,n)}))}));var le=T();if(le){var ce=le.fn[Xt];le.fn[Xt]=ae.jQueryInterface,le.fn[Xt].Constructor=ae,le.fn[Xt].noConflict=function(){return le.fn[Xt]=ce,ae.jQueryInterface}}var ue="dropdown",fe="bs.dropdown",he="."+fe,de=new RegExp("38|40|27"),ge={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:"show"+he,SHOWN:"shown"+he,CLICK:"click"+he,CLICK_DATA_API:"click"+he+".data-api",KEYDOWN_DATA_API:"keydown"+he+".data-api",KEYUP_DATA_API:"keyup"+he+".data-api"},pe="disabled",_e="show",me="dropup",ve="dropright",Ee="dropleft",ye="dropdown-menu-right",be="position-static",De='[data-toggle="dropdown"]',Te=".dropdown form",Ie=".dropdown-menu",Ae=".navbar-nav",Se=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",we="top-start",Ce="top-end",Le="bottom-start",Oe="bottom-end",Ne="right-start",ke="left-start",Pe={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},He={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},je=function(){function e(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),A.setData(t,fe,this)}var i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)){var t=this._menu.classList.contains(_e);e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains(pe)||this._menu.classList.contains(_e))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!Z.trigger(n,ge.SHOW,i).defaultPrevented){if(!this._inNavbar){if("undefined"==typeof t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:_(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add(be),this._popper=new t(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&!E($.closest(n,Ae)).length&&E(document.body.children).forEach((function(t){return Z.on(t,"mouseover",null,(function(){}))})),this._element.focus(),this._element.setAttribute("aria-expanded",!0),It.toggleClass(this._menu,_e),It.toggleClass(n,_e),Z.trigger(n,ge.SHOWN,i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains(pe)&&this._menu.classList.contains(_e)){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};Z.trigger(t,ge.HIDE,n).defaultPrevented||(this._popper&&this._popper.destroy(),It.toggleClass(this._menu,_e),It.toggleClass(t,_e),Z.trigger(t,ge.HIDDEN,n))}},i.dispose=function(){A.removeData(this._element,fe),Z.off(this._element,he),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},i.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},i._addEventListeners=function(){var t=this;Z.on(this._element,ge.CLICK,(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=r({},this.constructor.Default,{},It.getDataAttributes(this._element),{},t),v(ue,t,this.constructor.DefaultType),t},i._getMenuElement=function(){var t=e.getParentFromElement(this._element);return $.findOne(Ie,t)},i._getPlacement=function(){var t=this._element.parentNode,e=Le;return t.classList.contains(me)?(e=we,this._menu.classList.contains(ye)&&(e=Ce)):t.classList.contains(ve)?e=Ne:t.classList.contains(Ee)?e=ke:this._menu.classList.contains(ye)&&(e=Oe),e},i._detectNavbar=function(){return Boolean($.closest(this._element,".navbar"))},i._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},i._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,{},this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=A.getData(t,fe);if(i||(i=new e(t,"object"==typeof n?n:null)),"string"==typeof n){if("undefined"==typeof i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},e.jQueryInterface=function(t){return this.each((function(){e.dropdownInterface(this,t)}))},e.clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var n=E($.find(De)),i=0,o=n.length;i<o;i++){var r=e.getParentFromElement(n[i]),s=A.getData(n[i],fe),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),s){var l=s._menu;if(r.classList.contains(_e))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&r.contains(t.target)))Z.trigger(r,ge.HIDE,a).defaultPrevented||("ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){return Z.off(t,"mouseover",null,(function(){}))})),n[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),l.classList.remove(_e),r.classList.remove(_e),Z.trigger(r,ge.HIDDEN,a))}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||$.closest(t.target,Ie))):de.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains(pe))){var n=e.getParentFromElement(this),i=n.classList.contains(_e);if(!i||i&&(27===t.which||32===t.which))return 27===t.which&&$.findOne(De,n).focus(),void e.clearMenus();var o=E($.find(Se,n));if(o.length){var r=o.indexOf(t.target);38===t.which&&r>0&&r--,40===t.which&&r<o.length-1&&r++,r<0&&(r=0),o[r].focus()}}},e.getInstance=function(t){return A.getData(t,fe)},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Pe}},{key:"DefaultType",get:function(){return He}}]),e}();Z.on(document,ge.KEYDOWN_DATA_API,De,je.dataApiKeydownHandler),Z.on(document,ge.KEYDOWN_DATA_API,Ie,je.dataApiKeydownHandler),Z.on(document,ge.CLICK_DATA_API,je.clearMenus),Z.on(document,ge.KEYUP_DATA_API,je.clearMenus),Z.on(document,ge.CLICK_DATA_API,De,(function(t){t.preventDefault(),t.stopPropagation(),je.dropdownInterface(this,"toggle")})),Z.on(document,ge.CLICK_DATA_API,Te,(function(t){return t.stopPropagation()}));var Me=T();if(Me){var Re=Me.fn[ue];Me.fn[ue]=je.jQueryInterface,Me.fn[ue].Constructor=je,Me.fn[ue].noConflict=function(){return Me.fn[ue]=Re,je.jQueryInterface}}var xe="bs.modal",We="."+xe,Ue={backdrop:!0,keyboard:!0,focus:!0,show:!0},Ke={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Ve={HIDE:"hide"+We,HIDDEN:"hidden"+We,SHOW:"show"+We,SHOWN:"shown"+We,FOCUSIN:"focusin"+We,RESIZE:"resize"+We,CLICK_DISMISS:"click.dismiss"+We,KEYDOWN_DISMISS:"keydown.dismiss"+We,MOUSEUP_DISMISS:"mouseup.dismiss"+We,MOUSEDOWN_DISMISS:"mousedown.dismiss"+We,CLICK_DATA_API:"click"+We+".data-api"},Be="modal-dialog-scrollable",Fe="modal-scrollbar-measure",Qe="modal-backdrop",Ye="modal-open",Ge="fade",Xe="show",qe={DIALOG:".modal-dialog",MODAL_BODY:".modal-body",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",STICKY_CONTENT:".sticky-top"},ze=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=$.findOne(qe.DIALOG,t),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0,A.setData(t,xe,this)}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){this._element.classList.contains(Ge)&&(this._isTransitioning=!0);var n=Z.trigger(this._element,Ve.SHOW,{relatedTarget:t});this._isShown||n.defaultPrevented||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),Z.on(this._element,Ve.CLICK_DISMISS,qe.DATA_DISMISS,(function(t){return e.hide(t)})),Z.on(this._dialog,Ve.MOUSEDOWN_DISMISS,(function(){Z.one(e._element,Ve.MOUSEUP_DISMISS,(function(t){t.target===e._element&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if((t&&t.preventDefault(),this._isShown&&!this._isTransitioning)&&!Z.trigger(this._element,Ve.HIDE).defaultPrevented){this._isShown=!1;var n=this._element.classList.contains(Ge);if(n&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),Z.off(document,Ve.FOCUSIN),this._element.classList.remove(Xe),Z.off(this._element,Ve.CLICK_DISMISS),Z.off(this._dialog,Ve.MOUSEDOWN_DISMISS),n){var i=g(this._element);Z.one(this._element,c,(function(t){return e._hideModal(t)})),m(this._element,i)}else this._hideModal()}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return Z.off(t,We)})),Z.off(document,Ve.FOCUSIN),A.removeData(this._element,xe),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},Ue,{},t),v("modal",t,Ke),t},e._showElement=function(t){var e=this,n=this._element.classList.contains(Ge),i=$.findOne(qe.MODAL_BODY,this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._dialog.classList.contains(Be)&&i?i.scrollTop=0:this._element.scrollTop=0,n&&D(this._element),this._element.classList.add(Xe),this._config.focus&&this._enforceFocus();var o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,Z.trigger(e._element,Ve.SHOWN,{relatedTarget:t})};if(n){var r=g(this._dialog);Z.one(this._dialog,c,o),m(this._dialog,r)}else o()},e._enforceFocus=function(){var t=this;Z.off(document,Ve.FOCUSIN),Z.on(document,Ve.FOCUSIN,(function(e){document===e.target||t._element===e.target||t._element.contains(e.target)||t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?Z.on(this._element,Ve.KEYDOWN_DISMISS,(function(e){27===e.which&&(e.preventDefault(),t.hide())})):Z.off(this._element,Ve.KEYDOWN_DISMISS)},e._setResizeEvent=function(){var t=this;this._isShown?Z.on(window,Ve.RESIZE,(function(){return t._adjustDialog()})):Z.off(window,Ve.RESIZE)},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop((function(){document.body.classList.remove(Ye),t._resetAdjustments(),t._resetScrollbar(),Z.trigger(t._element,Ve.HIDDEN)}))},e._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},e._showBackdrop=function(t){var e=this,n=this._element.classList.contains(Ge)?Ge:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=Qe,n&&this._backdrop.classList.add(n),document.body.appendChild(this._backdrop),Z.on(this._element,Ve.CLICK_DISMISS,(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())})),n&&D(this._backdrop),this._backdrop.classList.add(Xe),!n)return void t();var i=g(this._backdrop);Z.one(this._backdrop,c,t),m(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove(Xe);var o=function(){e._removeBackdrop(),t()};if(this._element.classList.contains(Ge)){var r=g(this._backdrop);Z.one(this._backdrop,c,o),m(this._backdrop,r)}else o()}else t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){E($.find(qe.FIXED_CONTENT)).forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];It.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),E($.find(qe.STICKY_CONTENT)).forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];It.setDataAttribute(e,"margin-right",n),e.style.marginRight=parseFloat(i)-t._scrollbarWidth+"px"}));var e=document.body.style.paddingRight,n=window.getComputedStyle(document.body)["padding-right"];It.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add(Ye)},e._resetScrollbar=function(){E($.find(qe.FIXED_CONTENT)).forEach((function(t){var e=It.getDataAttribute(t,"padding-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),E($.find(""+qe.STICKY_CONTENT)).forEach((function(t){var e=It.getDataAttribute(t,"margin-right");"undefined"!=typeof e&&(It.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=It.getDataAttribute(document.body,"padding-right");"undefined"==typeof t?document.body.style.paddingRight="":(It.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className=Fe,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t.jQueryInterface=function(e,n){return this.each((function(){var i=A.getData(this,xe),o=r({},Ue,{},It.getDataAttributes(this),{},"object"==typeof e&&e?e:{});if(i||(i=new t(this,o)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else o.show&&i.show(n)}))},t.getInstance=function(t){return A.getData(t,xe)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ue}}]),t}();Z.on(document,Ve.CLICK_DATA_API,qe.DATA_TOGGLE,(function(t){var e=this,n=d(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),Z.one(n,Ve.SHOW,(function(t){t.defaultPrevented||Z.one(n,Ve.HIDDEN,(function(){y(e)&&e.focus()}))}));var i=A.getData(n,xe);if(!i){var o=r({},It.getDataAttributes(n),{},It.getDataAttributes(this));i=new ze(n,o)}i.show(this)}));var Ze=T();if(Ze){var $e=Ze.fn.modal;Ze.fn.modal=ze.jQueryInterface,Ze.fn.modal.Constructor=ze,Ze.fn.modal.noConflict=function(){return Ze.fn.modal=$e,ze.jQueryInterface}}var Je=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],tn=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,en=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i,nn=function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===Je.indexOf(n)||Boolean(t.nodeValue.match(tn)||t.nodeValue.match(en));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,r=i.length;o<r;o++)if(n.match(i[o]))return!0;return!1},on={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function rn(t,e,n){if(!t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),r=E(i.body.querySelectorAll("*")),s=function(t,n){var i=r[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(s))return i.parentNode.removeChild(i),"continue";var a=E(i.attributes),l=[].concat(e["*"]||[],e[s]||[]);a.forEach((function(t){nn(t,l)||i.removeAttribute(t.nodeName)}))},a=0,l=r.length;a<l;a++)s(a);return i.body.innerHTML}var sn="tooltip",an=new RegExp("(^|\\s)bs-tooltip\\S+","g"),ln=["sanitize","whiteList","sanitizeFn"],cn={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},un={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},fn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:on,popperConfig:null},hn="show",dn="out",gn={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},pn="fade",_n="show",mn=".tooltip-inner",vn="hover",En="focus",yn="click",bn="manual",Dn=function(){function e(e,n){if("undefined"==typeof t)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(n),this.tip=null,this._setListeners(),A.setData(e,this.constructor.DATA_KEY,this)}var i=e.prototype;return i.enable=function(){this._isEnabled=!0},i.disable=function(){this._isEnabled=!1},i.toggleEnabled=function(){this._isEnabled=!this._isEnabled},i.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=A.getData(t.delegateTarget,e);n||(n=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains(_n))return void this._leave(null,this);this._enter(null,this)}},i.dispose=function(){clearTimeout(this._timeout),A.removeData(this.element,this.constructor.DATA_KEY),Z.off(this.element,this.constructor.EVENT_KEY),Z.off($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},i.show=function(){var e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=Z.trigger(this.element,this.constructor.Event.SHOW),i=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),o=null===i?this.element.ownerDocument.documentElement.contains(this.element):i.contains(this.element);if(n.defaultPrevented||!o)return;var r=this.getTipElement(),s=u(this.constructor.NAME);r.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&r.classList.add(pn);var a="function"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,l=this._getAttachment(a);this._addAttachmentClass(l);var f=this._getContainer();A.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||f.appendChild(r),Z.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,r,this._getPopperConfig(l)),r.classList.add(_n),"ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){Z.on(t,"mouseover",(function(){}))}));var h=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,Z.trigger(e.element,e.constructor.Event.SHOWN),t===dn&&e._leave(null,e)};if(this.tip.classList.contains(pn)){var d=g(this.tip);Z.one(this.tip,c,h),m(this.tip,d)}else h()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){t._hoverState!==hn&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),Z.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!Z.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){if(e.classList.remove(_n),"ontouchstart"in document.documentElement&&E(document.body.children).forEach((function(t){return Z.off(t,"mouseover",b)})),this._activeTrigger[yn]=!1,this._activeTrigger[En]=!1,this._activeTrigger[vn]=!1,this.tip.classList.contains(pn)){var i=g(e);Z.one(e,c,n),m(e,i)}else n();this._hoverState=""}},i.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},i.isWithContent=function(){return Boolean(this.getTitle())},i.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},i.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(mn,t),this.getTitle()),t.classList.remove(pn),t.classList.remove(_n)},i.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&_(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.innerText=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=rn(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.innerText=e)},i.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},i._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},i._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},i._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},i._getContainer=function(){return!1===this.config.container?document.body:_(this.config.container)?this.config.container:$.findOne(this.config.container)},i._getAttachment=function(t){return un[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)Z.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if(e!==bn){var n=e===vn?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=e===vn?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;Z.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),Z.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},Z.on($.closest(this.element,".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},i._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},i._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusin"===t.type?En:vn]=!0),e.getTipElement().classList.contains(_n)||e._hoverState===hn?e._hoverState=hn:(clearTimeout(e._timeout),e._hoverState=hn,e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){e._hoverState===hn&&e.show()}),e.config.delay.show):e.show())},i._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||A.getData(t.delegateTarget,n))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),A.setData(t.delegateTarget,n,e)),t&&(e._activeTrigger["focusout"===t.type?En:vn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=dn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){e._hoverState===dn&&e.hide()}),e.config.delay.hide):e.hide())},i._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},i._getConfig=function(t){var e=It.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==ln.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=r({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(sn,t,this.constructor.DefaultType),t.sanitize&&(t.template=rn(t.template,t.whiteList,t.sanitizeFn)),t},i._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},i._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(an);null!==e&&e.length&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},i._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove(pn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},e.jQueryInterface=function(t){return this.each((function(){var n=A.getData(this,"bs.tooltip"),i="object"==typeof t&&t;if((n||!/dispose|hide/.test(t))&&(n||(n=new e(this,i)),"string"==typeof t)){if("undefined"==typeof n[t])throw new TypeError('No method named "'+t+'"');n[t]()}}))},e.getInstance=function(t){return A.getData(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return fn}},{key:"NAME",get:function(){return sn}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return gn}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return cn}}]),e}(),Tn=T();if(Tn){var In=Tn.fn.tooltip;Tn.fn.tooltip=Dn.jQueryInterface,Tn.fn.tooltip.Constructor=Dn,Tn.fn.tooltip.noConflict=function(){return Tn.fn.tooltip=In,Dn.jQueryInterface}}var An="popover",Sn=new RegExp("(^|\\s)bs-popover\\S+","g"),wn=r({},Dn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Cn=r({},Dn.DefaultType,{content:"(string|element|function)"}),Ln="fade",On="show",Nn=".popover-header",kn=".popover-body",Pn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Hn=function(t){var e,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(Nn,t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent($.findOne(kn,t),e),t.classList.remove(Ln),t.classList.remove(On)},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Sn);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=A.getData(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),A.setData(this,"bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return A.getData(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return wn}},{key:"NAME",get:function(){return An}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Pn}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return Cn}}]),o}(Dn),jn=T();if(jn){var Mn=jn.fn.popover;jn.fn.popover=Hn.jQueryInterface,jn.fn.popover.Constructor=Hn,jn.fn.popover.noConflict=function(){return jn.fn.popover=Mn,Hn.jQueryInterface}}var Rn="scrollspy",xn="bs.scrollspy",Wn="."+xn,Un={offset:10,method:"auto",target:""},Kn={offset:"number",method:"string",target:"(string|element)"},Vn={ACTIVATE:"activate"+Wn,SCROLL:"scroll"+Wn,LOAD_DATA_API:"load"+Wn+".data-api"},Bn={DROPDOWN_ITEM:"dropdown-item",ACTIVE:"active"},Fn={DATA_SPY:'[data-spy="scroll"]',NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",NAV_ITEMS:".nav-item",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_TOGGLE:".dropdown-toggle"},Qn="offset",Yn="position",Gn=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+Fn.NAV_LINKS+","+this._config.target+" "+Fn.LIST_ITEMS+","+this._config.target+" ."+Bn.DROPDOWN_ITEM,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,Z.on(this._scrollElement,Vn.SCROLL,(function(t){return n._process(t)})),this.refresh(),this._process(),A.setData(t,xn,this)}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?Qn:Yn,n="auto"===this._config.method?e:this._config.method,i=n===Yn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),E($.find(this._selector)).map((function(t){var e,o=h(t);if(o&&(e=$.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[It[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){A.removeData(this._element,xn),Z.off(this._scrollElement,Wn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},Un,{},"object"==typeof t&&t?t:{})).target){var e=t.target.id;e||(e=u(Rn),t.target.id=e),t.target="#"+e}return v(Rn,t,Kn),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=$.findOne(e.join(","));n.classList.contains(Bn.DROPDOWN_ITEM)?($.findOne(Fn.DROPDOWN_TOGGLE,$.closest(n,Fn.DROPDOWN)).classList.add(Bn.ACTIVE),n.classList.add(Bn.ACTIVE)):(n.classList.add(Bn.ACTIVE),$.parents(n,Fn.NAV_LIST_GROUP).forEach((function(t){$.prev(t,Fn.NAV_LINKS+", "+Fn.LIST_ITEMS).forEach((function(t){return t.classList.add(Bn.ACTIVE)})),$.prev(t,Fn.NAV_ITEMS).forEach((function(t){$.children(t,Fn.NAV_LINKS).forEach((function(t){return t.classList.add(Bn.ACTIVE)}))}))}))),Z.trigger(this._scrollElement,Vn.ACTIVATE,{relatedTarget:t})},e._clear=function(){E($.find(this._selector)).filter((function(t){return t.classList.contains(Bn.ACTIVE)})).forEach((function(t){return t.classList.remove(Bn.ACTIVE)}))},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,xn);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return A.getData(t,xn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Un}}]),t}();Z.on(window,Vn.LOAD_DATA_API,(function(){E($.find(Fn.DATA_SPY)).forEach((function(t){return new Gn(t,It.getDataAttributes(t))}))}));var Xn=T();if(Xn){var qn=Xn.fn[Rn];Xn.fn[Rn]=Gn.jQueryInterface,Xn.fn[Rn].Constructor=Gn,Xn.fn[Rn].noConflict=function(){return Xn.fn[Rn]=qn,Gn.jQueryInterface}}var zn="bs.tab",Zn="."+zn,$n={HIDE:"hide"+Zn,HIDDEN:"hidden"+Zn,SHOW:"show"+Zn,SHOWN:"shown"+Zn,CLICK_DATA_API:"click"+Zn+".data-api"},Jn="dropdown-menu",ti="active",ei="disabled",ni="fade",ii="show",oi=".dropdown",ri=".nav, .list-group",si=".active",ai=":scope > li > .active",li='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',ci=".dropdown-toggle",ui=":scope > .dropdown-menu .active",fi=function(){function t(t){this._element=t,A.setData(this._element,zn,this)}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(ti)||this._element.classList.contains(ei))){var e,n=d(this._element),i=$.closest(this._element,ri);if(i){var o="UL"===i.nodeName||"OL"===i.nodeName?ai:si;e=(e=E($.find(o,i)))[e.length-1]}var r=null;if(e&&(r=Z.trigger(e,$n.HIDE,{relatedTarget:this._element})),!(Z.trigger(this._element,$n.SHOW,{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){Z.trigger(e,$n.HIDDEN,{relatedTarget:t._element}),Z.trigger(t._element,$n.SHOWN,{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},e.dispose=function(){A.removeData(this._element,zn),this._element=null},e._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?$.children(e,si):$.find(ai,e))[0],r=n&&o&&o.classList.contains(ni),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=g(o);o.classList.remove(ii),Z.one(o,c,s),m(o,a)}else s()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove(ti);var i=$.findOne(ui,e.parentNode);i&&i.classList.remove(ti),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add(ti),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),D(t),t.classList.contains(ni)&&t.classList.add(ii),t.parentNode&&t.parentNode.classList.contains(Jn))&&($.closest(t,oi)&&E($.find(ci)).forEach((function(t){return t.classList.add(ti)})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,zn)||new t(this);if("string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return A.getData(t,zn)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),t}();Z.on(document,$n.CLICK_DATA_API,li,(function(t){t.preventDefault(),(A.getData(this,zn)||new fi(this)).show()}));var hi=T();if(hi){var di=hi.fn.tab;hi.fn.tab=fi.jQueryInterface,hi.fn.tab.Constructor=fi,hi.fn.tab.noConflict=function(){return hi.fn.tab=di,fi.jQueryInterface}}var gi="bs.toast",pi="."+gi,_i={CLICK_DISMISS:"click.dismiss"+pi,HIDE:"hide"+pi,HIDDEN:"hidden"+pi,SHOW:"show"+pi,SHOWN:"shown"+pi},mi="fade",vi="hide",Ei="show",yi="showing",bi={animation:"boolean",autohide:"boolean",delay:"number"},Di={animation:!0,autohide:!0,delay:500},Ti='[data-dismiss="toast"]',Ii=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),A.setData(t,gi,this)}var e=t.prototype;return e.show=function(){var t=this;if(!Z.trigger(this._element,_i.SHOW).defaultPrevented){this._config.animation&&this._element.classList.add(mi);var e=function(){t._element.classList.remove(yi),t._element.classList.add(Ei),Z.trigger(t._element,_i.SHOWN),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove(vi),D(this._element),this._element.classList.add(yi),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains(Ei)&&!Z.trigger(this._element,_i.HIDE).defaultPrevented){var e=function(){t._element.classList.add(vi),Z.trigger(t._element,_i.HIDDEN)};if(this._element.classList.remove(Ei),this._config.animation){var n=g(this._element);Z.one(this._element,c,e),m(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Ei)&&this._element.classList.remove(Ei),Z.off(this._element,_i.CLICK_DISMISS),A.removeData(this._element,gi),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},Di,{},It.getDataAttributes(this._element),{},"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;Z.on(this._element,_i.CLICK_DISMISS,Ti,(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=A.getData(this,gi);if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return A.getData(t,gi)},n(t,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return bi}},{key:"Default",get:function(){return Di}}]),t}(),Ai=T();if(Ai){var Si=Ai.fn.toast;Ai.fn.toast=Ii.jQueryInterface,Ai.fn.toast.Constructor=Ii,Ai.fn.toast.noConflict=function(){return Ai.fn.toast=Si,Ii.jQueryInterface}}return{Alert:rt,Button:Et,Carousel:Qt,Collapse:ae,Dropdown:je,Modal:ze,Popover:Hn,ScrollSpy:Gn,Tab:fi,Toast:Ii,Tooltip:Dn}}));
//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js.map b/dist/js/bootstrap.min.js.map
index d0510fdd09..2cc9f63a34 100644
--- a/dist/js/bootstrap.min.js.map
+++ b/dist/js/bootstrap.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert/alert.js","../../js/src/button/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel/carousel.js","../../js/src/collapse/collapse.js","../../js/src/dropdown/dropdown.js","../../js/src/modal/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip/tooltip.js","../../js/src/popover/popover.js","../../js/src/scrollspy/scrollspy.js","../../js/src/tab/tab.js","../../js/src/toast/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","error","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","substr","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this10","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\n// eslint-disable-next-line no-empty-function\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (error) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.substr(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from '../util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from '../util/sanitizer'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport Data from '../dom/data'\nimport SelectorEngine from '../dom/selector-engine'\nimport Tooltip from '../tooltip/tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from '../util/index'\nimport Data from '../dom/data'\nimport EventHandler from '../dom/event-handler'\nimport Manipulator from '../dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert/alert'\nimport Button from './src/button/button'\nimport Carousel from './src/carousel/carousel'\nimport Collapse from './src/collapse/collapse'\nimport Dropdown from './src/dropdown/dropdown'\nimport Modal from './src/modal/modal'\nimport Popover from './src/popover/popover'\nimport ScrollSpy from './src/scrollspy/scrollspy'\nimport Tab from './src/tab/tab'\nimport Toast from './src/toast/toast'\nimport Tooltip from './src/tooltip/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file
+{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/data.js","../../js/src/dom/polyfill.js","../../js/src/dom/event-handler.js","../../js/src/dom/selector-engine.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["storeData","id","e","TRANSITION_END","getUID","prefix","Math","random","document","getElementById","getSelector","element","selector","getAttribute","hrefAttr","trim","getSelectorFromElement","querySelector","getElementFromSelector","getTransitionDurationFromElement","_window$getComputedSt","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","evt","createEvent","initEvent","dispatchEvent","isElement","obj","nodeType","emulateTransitionEnd","duration","called","emulatedDuration","addEventListener","listener","removeEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","Error","toUpperCase","makeArray","nodeList","slice","isVisible","style","parentNode","display","visibility","noop","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","mapData","set","key","data","get","keyProperties","delete","Data","setData","instance","getData","removeData","Element","prototype","matches","closest","find","querySelectorAll","findOne","createCustomEvent","eventName","params","CustomEvent","bubbles","cancelable","detail","initCustomEvent","preventDefault","defaultPrevented","origPreventDefault","Event","this","defineProperty","configurable","defaultPreventedPreservedOnDispatch","createElement","msMatchesSelector","webkitMatchesSelector","parentElement","scopeSelectorRegex","_","hasId","Boolean","replace","removeAttribute","$","namespaceRegex","stripNameRegex","keyEventRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","uid","getEvent","fixEvent","event","which","type","charCode","keyCode","delegateTarget","findHandler","events","handler","delegationSelector","uidEventList","i","len","length","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","indexOf","addHandler","oneOff","_normalizeParams","handlers","previousFn","fn","domElements","target","EventHandler","off","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","on","one","_normalizeParams2","inNamespace","isNamespace","charAt","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","keyHandlers","trigger","args","jQueryEvent","isNative","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","SelectorEngine","documentElement","findFn","children","_this","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","siblings","previous","previousSibling","DATA_KEY","EVENT_KEY","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","dispose","parent","classList","remove","contains","_destroyElement","removeChild","jQueryInterface","each","handleDismiss","alertInstance","getInstance","JQUERY_NO_CONFLICT","Constructor","noConflict","Selector","FOCUS_DATA_API","BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","NAME","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","ACTIVE","ACTIVE_ITEM","ITEM","ITEM_IMG","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","pointerType","clientX","touches","end","clearTimeout","itemImg","move","tagName","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","from","_setActiveIndicatorElement","indicators","nextIndicator","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","nextElementInterval","parseInt","defaultInterval","carouselInterface","action","TypeError","ride","dataApiClickHandler","slideIndex","carousels","SHOW","SHOWN","HIDE","HIDDEN","Dimension","ACTIVES","DATA_TOGGLE","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","container","tempActiveData","elemActive","collapseInterface","dimension","_getDimension","setTransitioning","scrollSize","triggerArrayLength","isTransitioning","jquery","selected","triggerArray","isOpen","triggerData","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","flip","boundary","reference","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","clearMenus","getParentFromElement","Popper","referenceElement","_getPopperConfig","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","dropdownInterface","toggles","context","clickEvent","dropdownMenu","dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","DIALOG","MODAL_BODY","DATA_DISMISS","FIXED_CONTENT","STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","modalBody","appendChild","_enforceFocus","transitionComplete","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","currentTarget","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","right","innerWidth","_getScrollbarWidth","_this9","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","width","clientWidth","_this10","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","concat","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","fallbackPlacement","sanitize","AUTO","TOP","RIGHT","BOTTOM","LEFT","HoverState","INSERTED","FOCUSOUT","Trigger","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","root","ShadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","innerText","textContent","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","CLASS_PREFIX","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","map","token","tClass","popperData","popperInstance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_TOGGLE","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","join","listGroup","navItem","node","spy","Tab","listElement","itemSelector","hideEvent","active","_transitionComplete","dropdownChild","dropdown","autohide","Toast"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => ({}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase())\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element)\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n const evt = document.createEvent('HTMLEvents')\n\n evt.initEvent(TRANSITION_END, true, true)\n element.dispatchEvent(evt)\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes)\n .forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' :\n toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n })\n}\n\nconst makeArray = nodeList => {\n if (!nodeList) {\n return []\n }\n\n return [].slice.call(nodeList)\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n return element.style.display !== 'none' &&\n element.parentNode.style.display !== 'none' &&\n element.style.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nexport {\n getjQuery,\n TRANSITION_END,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n makeArray,\n isVisible,\n findShadowRoot,\n noop,\n reflow\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst mapData = (() => {\n const storeData = {}\n let id = 1\n return {\n set(element, key, data) {\n if (typeof element.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\n }\n }\n }\n})()\n\nconst Data = {\n setData(instance, key, data) {\n mapData.set(instance, key, data)\n },\n getData(instance, key) {\n return mapData.get(instance, key)\n },\n removeData(instance, key) {\n mapData.delete(instance, key)\n }\n}\n\nexport default Data\n","/* istanbul ignore file */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getUID } from '../util/index'\n\nlet { matches, closest } = Element.prototype\nlet find = Element.prototype.querySelectorAll\nlet findOne = Element.prototype.querySelector\nlet createCustomEvent = (eventName, params) => {\n const cEvent = new CustomEvent(eventName, params)\n\n return cEvent\n}\n\nif (typeof window.CustomEvent !== 'function') {\n createCustomEvent = (eventName, params) => {\n params = params || { bubbles: false, cancelable: false, detail: null }\n\n const evt = document.createEvent('CustomEvent')\n\n evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n}\n\nconst workingDefaultPrevented = (() => {\n const e = document.createEvent('CustomEvent')\n\n e.initEvent('Bootstrap', true, true)\n e.preventDefault()\n return e.defaultPrevented\n})()\n\nif (!workingDefaultPrevented) {\n const origPreventDefault = Event.prototype.preventDefault\n\n Event.prototype.preventDefault = function () {\n if (!this.cancelable) {\n return\n }\n\n origPreventDefault.call(this)\n Object.defineProperty(this, 'defaultPrevented', {\n get() {\n return true\n },\n configurable: true\n })\n }\n}\n\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\nconst defaultPreventedPreservedOnDispatch = (() => {\n const e = createCustomEvent('Bootstrap', {\n cancelable: true\n })\n\n const element = document.createElement('div')\n element.addEventListener('Bootstrap', () => null)\n\n e.preventDefault()\n element.dispatchEvent(e)\n return e.defaultPrevented\n})()\n\nif (!matches) {\n matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector\n}\n\nif (!closest) {\n closest = function (selector) {\n let element = this\n\n do {\n if (matches.call(element, selector)) {\n return element\n }\n\n element = element.parentElement || element.parentNode\n } while (element !== null && element.nodeType === 1)\n\n return null\n }\n}\n\nconst scopeSelectorRegex = /:scope\\b/\nconst supportScopeQuery = (() => {\n const element = document.createElement('div')\n\n try {\n element.querySelectorAll(':scope *')\n } catch (_) {\n return false\n }\n\n return true\n})()\n\nif (!supportScopeQuery) {\n find = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelectorAll(selector)\n }\n\n const hasId = Boolean(this.id)\n\n if (!hasId) {\n this.id = getUID('scope')\n }\n\n let nodeList = null\n try {\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`)\n nodeList = this.querySelectorAll(selector)\n } finally {\n if (!hasId) {\n this.removeAttribute('id')\n }\n }\n\n return nodeList\n }\n\n findOne = function (selector) {\n if (!scopeSelectorRegex.test(selector)) {\n return this.querySelector(selector)\n }\n\n const matches = find.call(this, selector)\n\n if (typeof matches[0] !== 'undefined') {\n return matches[0]\n }\n\n return null\n }\n}\n\nexport {\n createCustomEvent,\n find,\n findOne,\n matches,\n closest,\n defaultPreventedPreservedOnDispatch\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\nimport { createCustomEvent, defaultPreventedPreservedOnDispatch } from './polyfill'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst $ = getjQuery()\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst keyEventRegex = /^key/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = [\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n]\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction fixEvent(event, element) {\n // Add which for key events\n if (event.which === null && keyEventRegex.test(event.type)) {\n event.which = event.charCode === null ? event.keyCode : event.charCode\n }\n\n event.delegateTarget = element\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n fixEvent(event, element)\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n fixEvent(event, target)\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent)\n .forEach(handlerKey => {\n if (handlerKey.indexOf(namespace) > -1) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.charAt(0) === '.'\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.indexOf(typeEvent) > -1\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = createCustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n\n if (!defaultPreventedPreservedOnDispatch) {\n Object.defineProperty(evt, 'defaultPrevented', {\n get: () => true\n })\n }\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { find as findFn, findOne, matches, closest } from './polyfill'\nimport { makeArray } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n matches(element, selector) {\n return matches.call(element, selector)\n },\n\n find(selector, element = document.documentElement) {\n return findFn.call(element, selector)\n },\n\n findOne(selector, element = document.documentElement) {\n return findOne.call(element, selector)\n },\n\n children(element, selector) {\n const children = makeArray(element.children)\n\n return children.filter(child => this.matches(child, selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (this.matches(ancestor, selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n closest(element, selector) {\n return closest.call(element, selector)\n },\n\n prev(element, selector) {\n const siblings = []\n\n let previous = element.previousSibling\n\n while (previous && previous.nodeType === Node.ELEMENT_NODE && previous.nodeType !== NODE_TEXT) {\n if (this.matches(previous, selector)) {\n siblings.push(previous)\n }\n\n previous = previous.previousSibling\n }\n\n return siblings\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n}\n\nconst Event = {\n CLOSE: `close${EVENT_KEY}`,\n CLOSED: `closed${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n SHOW: 'show'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n\n if (this._element) {\n Data.setData(element, DATA_KEY, this)\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent === null || customEvent.defaultPrevented) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n let parent = getElementFromSelector(element)\n\n if (!parent) {\n parent = SelectorEngine.closest(element, `.${ClassName.ALERT}`)\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n return EventHandler.trigger(element, Event.CLOSE)\n }\n\n _removeElement(element) {\n element.classList.remove(ClassName.SHOW)\n\n if (!element.classList.contains(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = getTransitionDurationFromElement(element)\n\n EventHandler\n .one(element, TRANSITION_END, () => this._destroyElement(element))\n emulateTransitionEnd(element, transitionDuration)\n }\n\n _destroyElement(element) {\n if (element.parentNode) {\n element.parentNode.removeChild(element)\n }\n\n EventHandler.trigger(element, Event.CLOSED)\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DISMISS, Alert.handleDismiss(new Alert()))\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .alert to jQuery only if jQuery is present\n */\n\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Alert.jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert.jQueryInterface\n }\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n}\n\nconst Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input:not([type=\"hidden\"])',\n ACTIVE: '.active',\n BUTTON: '.btn'\n}\n\nconst Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_DATA_API: `focus${EVENT_KEY}${DATA_API_KEY}`,\n BLUR_DATA_API: `blur${EVENT_KEY}${DATA_API_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = SelectorEngine.closest(\n this._element,\n Selector.DATA_TOGGLE\n )\n\n if (rootElement) {\n const input = SelectorEngine.findOne(Selector.INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(ClassName.ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n event.preventDefault()\n\n let button = event.target\n if (!button.classList.contains(ClassName.BUTTON)) {\n button = SelectorEngine.closest(button, Selector.BUTTON)\n }\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, Event.FOCUS_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.add(ClassName.FOCUS)\n }\n})\n\nEventHandler.on(document, Event.BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, event => {\n const button = SelectorEngine.closest(event.target, Selector.BUTTON)\n\n if (button) {\n button.classList.remove(ClassName.FOCUS)\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .button to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Button.jQueryInterface\n $.fn[NAME].Constructor = Button\n\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button.jQueryInterface\n }\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => chr.toLowerCase())\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {\n ...element.dataset\n }\n\n Object.keys(attributes).forEach(key => {\n attributes[key] = normalizeData(attributes[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + document.body.scrollTop,\n left: rect.left + document.body.scrollLeft\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n },\n\n toggleClass(element, className) {\n if (!element) {\n return\n }\n\n if (element.classList.contains(className)) {\n element.classList.remove(className)\n } else {\n element.classList.add(className)\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst Direction = {\n NEXT: 'next',\n PREV: 'prev',\n LEFT: 'left',\n RIGHT: 'right'\n}\n\nconst Event = {\n SLIDE: `slide${EVENT_KEY}`,\n SLID: `slid${EVENT_KEY}`,\n KEYDOWN: `keydown${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\n TOUCHSTART: `touchstart${EVENT_KEY}`,\n TOUCHMOVE: `touchmove${EVENT_KEY}`,\n TOUCHEND: `touchend${EVENT_KEY}`,\n POINTERDOWN: `pointerdown${EVENT_KEY}`,\n POINTERUP: `pointerup${EVENT_KEY}`,\n DRAG_START: `dragstart${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'carousel-item-right',\n LEFT: 'carousel-item-left',\n NEXT: 'carousel-item-next',\n PREV: 'carousel-item-prev',\n ITEM: 'carousel-item',\n POINTER_EVENT: 'pointer-event'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n ITEM_IMG: '.carousel-item img',\n NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n}\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = SelectorEngine.findOne(Selector.INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(Selector.NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n Data.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler\n .on(this._element, Event.KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, Event.MOUSEENTER, event => this.pause(event))\n EventHandler\n .on(this._element, Event.MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const start = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.touches && event.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n makeArray(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach(itemImg => {\n EventHandler.on(itemImg, Event.DRAG_START, e => e.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, Event.POINTERDOWN, event => start(event))\n EventHandler.on(this._element, Event.POINTERUP, event => end(event))\n\n this._element.classList.add(ClassName.POINTER_EVENT)\n } else {\n EventHandler.on(this._element, Event.TOUCHSTART, event => start(event))\n EventHandler.on(this._element, Event.TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, Event.TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n makeArray(SelectorEngine.find(Selector.ITEM, element.parentNode)) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = (isPrevDirection && activeIndex === 0) ||\n (isNextDirection && activeIndex === lastItemIndex)\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] :\n this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = SelectorEngine.find(Selector.ACTIVE, this._indicatorsElement)\n for (let i = 0; i < indicators.length; i++) {\n indicators[i].classList.remove(ClassName.ACTIVE)\n }\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n nextIndicator.classList.add(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || (activeElement &&\n this._getItemByDirection(direction, activeElement))\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && nextElement.classList.contains(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n if (this._element.classList.contains(ClassName.SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10)\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = nextElementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n\n const transitionDuration = getTransitionDurationFromElement(activeElement)\n\n EventHandler\n .one(activeElement, TRANSITION_END, () => {\n nextElement.classList.remove(directionalClassName)\n nextElement.classList.remove(orderClassName)\n nextElement.classList.add(ClassName.ACTIVE)\n\n activeElement.classList.remove(ClassName.ACTIVE)\n activeElement.classList.remove(orderClassName)\n activeElement.classList.remove(directionalClassName)\n\n this._isSliding = false\n\n setTimeout(() => {\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }, 0)\n })\n\n emulateTransitionEnd(activeElement, transitionDuration)\n } else {\n activeElement.classList.remove(ClassName.ACTIVE)\n nextElement.classList.add(ClassName.ACTIVE)\n\n this._isSliding = false\n EventHandler.trigger(this._element, Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static carouselInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n let _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element)\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(element, _config)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Data.getData(target, DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n const carousels = makeArray(SelectorEngine.find(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY))\n }\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .carousel to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Carousel.jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel.jQueryInterface\n }\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst Event = {\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SHOW: 'show',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n}\n\nconst Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n}\n\nconst Selector = {\n ACTIVES: '.show, .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = makeArray(SelectorEngine.find(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = makeArray(SelectorEngine.find(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = makeArray(SelectorEngine.find(Selector.ACTIVES, this._parent))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(ClassName.COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.filter(elem => container !== elem)\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.setData(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(ClassName.COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n this._element.classList.add(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, Event.HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(ClassName.COLLAPSING)\n this._element.classList.remove(ClassName.COLLAPSE)\n this._element.classList.remove(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(ClassName.SHOW)) {\n trigger.classList.add(ClassName.COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(ClassName.COLLAPSING)\n this._element.classList.add(ClassName.COLLAPSE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = this._element.classList.contains(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${parent}\"]`\n\n makeArray(SelectorEngine.find(selector, parent))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = element.classList.contains(ClassName.SHOW)\n\n if (triggerArray.length) {\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(ClassName.COLLAPSED)\n } else {\n elem.classList.add(ClassName.COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n }\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A') {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = makeArray(SelectorEngine.find(selector))\n\n selectorElements.forEach(element => {\n const data = Data.getData(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .collapse to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Collapse.jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse.jQueryInterface\n }\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getElementFromSelector,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API: `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API: `keyup${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DISABLED: 'disabled',\n SHOW: 'show',\n DROPUP: 'dropup',\n DROPRIGHT: 'dropright',\n DROPLEFT: 'dropleft',\n MENURIGHT: 'dropdown-menu-right',\n POSITION_STATIC: 'position-static'\n}\n\nconst Selector = {\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n MENU: '.dropdown-menu',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n}\n\nconst AttachmentMap = {\n TOP: 'top-start',\n TOPEND: 'top-end',\n BOTTOM: 'bottom-start',\n BOTTOMEND: 'bottom-end',\n RIGHT: 'right-start',\n RIGHTEND: 'right-end',\n LEFT: 'left-start',\n LEFTEND: 'left-end'\n}\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const isActive = this._menu.classList.contains(ClassName.SHOW)\n\n Dropdown.clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show()\n }\n\n show() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(parent, Event.SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n parent.classList.add(ClassName.POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !makeArray(SelectorEngine.closest(parent, Selector.NAVBAR_NAV)).length) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', null, noop()))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.SHOWN, relatedTarget)\n }\n\n hide() {\n if (this._element.disabled || this._element.classList.contains(ClassName.DISABLED) || !this._menu.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n Manipulator.toggleClass(this._menu, ClassName.SHOW)\n Manipulator.toggleClass(parent, ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._element, EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._element, Event.CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n const parent = Dropdown.getParentFromElement(this._element)\n\n return SelectorEngine.findOne(Selector.MENU, parent)\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if (parentDropdown.classList.contains(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if (parentDropdown.classList.contains(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if (parentDropdown.classList.contains(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if (this._menu.classList.contains(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return Boolean(SelectorEngine.closest(this._element, '.navbar'))\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets, this._element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static dropdownInterface(element, config) {\n let data = Data.getData(element, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Dropdown.dropdownInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n (event.type === 'keyup' && event.which !== TAB_KEYCODE))) {\n return\n }\n\n const toggles = makeArray(SelectorEngine.find(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown.getParentFromElement(toggles[i])\n const context = Data.getData(toggles[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!parent.classList.contains(ClassName.SHOW)) {\n continue\n }\n\n if (event && ((event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName)) ||\n (event.type === 'keyup' && event.which === TAB_KEYCODE)) &&\n parent.contains(event.target)) {\n continue\n }\n\n const hideEvent = EventHandler.trigger(parent, Event.HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', null, noop()))\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n dropdownMenu.classList.remove(ClassName.SHOW)\n parent.classList.remove(ClassName.SHOW)\n EventHandler.trigger(parent, Event.HIDDEN, relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE &&\n ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) ||\n SelectorEngine.closest(event.target, Selector.MENU))) :\n !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || this.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this)\n const isActive = parent.classList.contains(ClassName.SHOW)\n\n if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) {\n if (event.which === ESCAPE_KEYCODE) {\n SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus()\n }\n\n Dropdown.clearMenus()\n return\n }\n\n const items = makeArray(SelectorEngine.find(Selector.VISIBLE_ITEMS, parent))\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, Event.CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown.dropdownInterface(this, 'toggle')\n})\nEventHandler\n .on(document, Event.CLICK_DATA_API, Selector.FORM_CHILD, e => e.stopPropagation())\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .dropdown to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Dropdown.jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown.jQueryInterface\n }\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isVisible,\n makeArray,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n RESIZE: `resize${EVENT_KEY}`,\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS: `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS: `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS: `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n SCROLLABLE: 'modal-dialog-scrollable',\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DIALOG: '.modal-dialog',\n MODAL_BODY: '.modal-body',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = SelectorEngine.findOne(Selector.DIALOG, element)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget\n })\n\n if (this._isShown || showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n event => this.hide(event)\n )\n\n EventHandler.on(this._dialog, Event.MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, Event.MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const transition = this._element.classList.contains(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.off(document, Event.FOCUSIN)\n\n this._element.classList.remove(ClassName.SHOW)\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n EventHandler.off(this._dialog, Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, event => this._hideModal(event))\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n /**\n * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `Event.CLICK_DATA_API` event that should remain\n */\n EventHandler.off(document, Event.FOCUSIN)\n\n Data.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = this._element.classList.contains(ClassName.FADE)\n const modalBody = SelectorEngine.findOne(Selector.MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n\n if (this._dialog.classList.contains(ClassName.SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n reflow(this._element)\n }\n\n this._element.classList.add(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget\n })\n }\n\n if (transition) {\n const transitionDuration = getTransitionDurationFromElement(this._dialog)\n\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete)\n emulateTransitionEnd(this._dialog, transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n EventHandler.off(document, Event.FOCUSIN) // guard against infinite focus loop\n EventHandler.on(document, Event.FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n !this._element.contains(event.target)) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n EventHandler.on(this._element, Event.KEYDOWN_DISMISS, event => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else {\n EventHandler.off(this._element, Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, Event.RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._isTransitioning = false\n this._showBackdrop(() => {\n document.body.classList.remove(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n EventHandler.trigger(this._element, Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n this._backdrop.parentNode.removeChild(this._backdrop)\n this._backdrop = null\n }\n\n _showBackdrop(callback) {\n const animate = this._element.classList.contains(ClassName.FADE) ?\n ClassName.FADE :\n ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n document.body.appendChild(this._backdrop)\n\n EventHandler.on(this._element, Event.CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n reflow(this._backdrop)\n }\n\n this._backdrop.classList.add(ClassName.SHOW)\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n\n EventHandler.one(this._backdrop, TRANSITION_END, callback)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n this._backdrop.classList.remove(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n callback()\n }\n\n if (this._element.classList.contains(ClassName.FADE)) {\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop)\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove)\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = window.getComputedStyle(element)['padding-right']\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding)\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n })\n\n // Adjust sticky content margin\n makeArray(SelectorEngine.find(Selector.STICKY_CONTENT))\n .forEach(element => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = window.getComputedStyle(element)['margin-right']\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin)\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right']\n\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding)\n document.body.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`\n }\n\n document.body.classList.add(ClassName.OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n makeArray(SelectorEngine.find(Selector.FIXED_CONTENT))\n .forEach(element => {\n const padding = Manipulator.getDataAttribute(element, 'padding-right')\n if (typeof padding !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'padding-right')\n element.style.paddingRight = padding\n }\n })\n\n // Restore sticky content and navbar-toggler margin\n makeArray(SelectorEngine.find(`${Selector.STICKY_CONTENT}`))\n .forEach(element => {\n const margin = Manipulator.getDataAttribute(element, 'margin-right')\n if (typeof margin !== 'undefined') {\n Manipulator.removeDataAttribute(element, 'margin-right')\n element.style.marginRight = margin\n }\n })\n\n // Restore body padding\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right')\n if (typeof padding === 'undefined') {\n document.body.style.paddingRight = ''\n } else {\n Manipulator.removeDataAttribute(document.body, 'padding-right')\n document.body.style.paddingRight = padding\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(this),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n EventHandler.one(target, Event.SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, Event.HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n let data = Data.getData(target, DATA_KEY)\n if (!data) {\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n\n data = new Modal(target, config)\n }\n\n data.show(this)\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .modal to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Modal.jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal.jQueryInterface\n }\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { makeArray } from './index'\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, l = regExp.length; i < l; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = makeArray(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = makeArray(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n findShadowRoot,\n getTransitionDurationFromElement,\n getUID,\n isElement,\n makeArray,\n noop,\n typeCheckConfig\n} from './util/index'\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"tooltip-arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HoverState = {\n SHOW: 'show',\n OUT: 'out'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TOOLTIP_INNER: '.tooltip-inner'\n}\n\nconst Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n Data.setData(element, this.constructor.DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n Data.removeData(this.element, this.constructor.DATA_KEY)\n\n EventHandler.off(this.element, this.constructor.EVENT_KEY)\n EventHandler.off(SelectorEngine.closest(this.element, '.modal'), 'hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n this.tip.parentNode.removeChild(this.tip)\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if (this.element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (this.isWithContent() && this._isEnabled) {\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this.element)\n const isInTheDom = shadowRoot === null ?\n this.element.ownerDocument.documentElement.contains(this.element) :\n shadowRoot.contains(this.element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n tip.classList.add(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const container = this._getContainer()\n Data.setData(tip, this.constructor.DATA_KEY, this)\n\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\n container.appendChild(tip)\n }\n\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n tip.classList.add(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop())\n })\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(this.tip)\n EventHandler.one(this.tip, TRANSITION_END, complete)\n emulateTransitionEnd(this.tip, transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide() {\n const tip = this.getTipElement()\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN)\n this._popper.destroy()\n }\n\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n makeArray(document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (this.tip.classList.contains(ClassName.FADE)) {\n const transitionDuration = getTransitionDurationFromElement(tip)\n\n EventHandler.one(tip, TRANSITION_END, complete)\n emulateTransitionEnd(tip, transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this.config.template\n\n this.tip = element.children[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent(SelectorEngine.findOne(Selector.TOOLTIP_INNER, tip), this.getTitle())\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (typeof content === 'object' && isElement(content)) {\n if (content.jquery) {\n content = content[0]\n }\n\n // content is a DOM node or a jQuery\n if (this.config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.appendChild(content)\n }\n } else {\n element.innerText = content.textContent\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.innerText = content\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: `.${this.constructor.NAME}-arrow`\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (isElement(this.config.container)) {\n return this.config.container\n }\n\n return SelectorEngine.findOne(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this.element,\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this.element,\n eventIn,\n this.config.selector,\n event => this._enter(event)\n )\n EventHandler.on(this.element,\n eventOut,\n this.config.selector,\n event => this._leave(event)\n )\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n EventHandler.on(SelectorEngine.closest(this.element, '.modal'),\n 'hide.bs.modal',\n this._hideModalHandler\n )\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || Data.getData(event.delegateTarget, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.delegateTarget,\n this._getDelegateConfig()\n )\n Data.setData(event.delegateTarget, dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this.element)\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n if (config && typeof config.container === 'object' && config.container.jquery) {\n config.container = config.container[0]\n }\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n tabClass\n .map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n tip.classList.remove(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tooltip to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tooltip.jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip.jQueryInterface\n }\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from './util/index'\nimport Data from './dom/data'\nimport SelectorEngine from './dom/selector-engine'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' +\n '<div class=\"popover-arrow\"></div>' +\n '<h3 class=\"popover-header\"></h3>' +\n '<div class=\"popover-body\"></div></div>'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent() {\n const tip = this.getTipElement()\n\n // we use append for html objects to maintain js events\n this.setElementContent(SelectorEngine.findOne(Selector.TITLE, tip), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent(SelectorEngine.findOne(Selector.CONTENT, tip), content)\n\n tip.classList.remove(ClassName.FADE)\n tip.classList.remove(ClassName.SHOW)\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n Data.setData(this, DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Popover.jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover.jQueryInterface\n }\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n getSelectorFromElement,\n getUID,\n makeArray,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst Event = {\n ACTIVATE: `activate${EVENT_KEY}`,\n SCROLL: `scroll${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} .${ClassName.DROPDOWN_ITEM}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, Event.SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n OffsetMethod.OFFSET :\n OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = makeArray(SelectorEngine.find(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n EventHandler.off(this._scrollElement, EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let { id } = config.target\n if (!id) {\n id = getUID(NAME)\n config.target.id = id\n }\n\n config.target = `#${id}`\n }\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector.split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','))\n\n if (link.classList.contains(ClassName.DROPDOWN_ITEM)) {\n SelectorEngine\n .findOne(Selector.DROPDOWN_TOGGLE, SelectorEngine.closest(link, Selector.DROPDOWN))\n .classList.add(ClassName.ACTIVE)\n\n link.classList.add(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n link.classList.add(ClassName.ACTIVE)\n\n SelectorEngine\n .parents(link, Selector.NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n SelectorEngine.prev(listGroup, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n\n // Handle special case when .nav-link is inside .nav-item\n SelectorEngine.prev(listGroup, Selector.NAV_ITEMS)\n .forEach(navItem => {\n SelectorEngine.children(navItem, Selector.NAV_LINKS)\n .forEach(item => item.classList.add(ClassName.ACTIVE))\n })\n })\n }\n\n EventHandler.trigger(this._scrollElement, Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n makeArray(SelectorEngine.find(this._selector))\n .filter(node => node.classList.contains(ClassName.ACTIVE))\n .forEach(node => node.classList.remove(ClassName.ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, Event.LOAD_DATA_API, () => {\n makeArray(SelectorEngine.find(Selector.DATA_SPY))\n .forEach(spy => new ScrollSpy(spy, Manipulator.getDataAttributes(spy)))\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = ScrollSpy.jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy.jQueryInterface\n }\n}\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getElementFromSelector,\n getTransitionDurationFromElement,\n makeArray,\n reflow\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport SelectorEngine from './dom/selector-engine'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tab'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n DISABLED: 'disabled',\n FADE: 'fade',\n SHOW: 'show'\n}\n\nconst Selector = {\n DROPDOWN: '.dropdown',\n NAV_LIST_GROUP: '.nav, .list-group',\n ACTIVE: '.active',\n ACTIVE_UL: ':scope > li > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: ':scope > .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n constructor(element) {\n this._element = element\n\n Data.setData(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n show() {\n if ((this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n this._element.classList.contains(ClassName.ACTIVE)) ||\n this._element.classList.contains(ClassName.DISABLED)) {\n return\n }\n\n let previous\n const target = getElementFromSelector(this._element)\n const listElement = SelectorEngine.closest(this._element, Selector.NAV_LIST_GROUP)\n\n if (listElement) {\n const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n previous = makeArray(SelectorEngine.find(itemSelector, listElement))\n previous = previous[previous.length - 1]\n }\n\n let hideEvent = null\n\n if (previous) {\n hideEvent = EventHandler.trigger(previous, Event.HIDE, {\n relatedTarget: this._element\n })\n }\n\n const showEvent = EventHandler.trigger(this._element, Event.SHOW, {\n relatedTarget: previous\n })\n\n if (showEvent.defaultPrevented ||\n (hideEvent !== null && hideEvent.defaultPrevented)) {\n return\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n EventHandler.trigger(previous, Event.HIDDEN, {\n relatedTarget: this._element\n })\n EventHandler.trigger(this._element, Event.SHOWN, {\n relatedTarget: previous\n })\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _activate(element, container, callback) {\n const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ?\n SelectorEngine.find(Selector.ACTIVE_UL, container) :\n SelectorEngine.children(container, Selector.ACTIVE)\n\n const active = activeElements[0]\n const isTransitioning = callback &&\n (active && active.classList.contains(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n callback\n )\n\n if (active && isTransitioning) {\n const transitionDuration = getTransitionDurationFromElement(active)\n active.classList.remove(ClassName.SHOW)\n\n EventHandler.one(active, TRANSITION_END, complete)\n emulateTransitionEnd(active, transitionDuration)\n } else {\n complete()\n }\n }\n\n _transitionComplete(element, active, callback) {\n if (active) {\n active.classList.remove(ClassName.ACTIVE)\n\n const dropdownChild = SelectorEngine.findOne(Selector.DROPDOWN_ACTIVE_CHILD, active.parentNode)\n\n if (dropdownChild) {\n dropdownChild.classList.remove(ClassName.ACTIVE)\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false)\n }\n }\n\n element.classList.add(ClassName.ACTIVE)\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true)\n }\n\n reflow(element)\n\n if (element.classList.contains(ClassName.FADE)) {\n element.classList.add(ClassName.SHOW)\n }\n\n if (element.parentNode && element.parentNode.classList.contains(ClassName.DROPDOWN_MENU)) {\n const dropdownElement = SelectorEngine.closest(element, Selector.DROPDOWN)\n\n if (dropdownElement) {\n makeArray(SelectorEngine.find(Selector.DROPDOWN_TOGGLE))\n .forEach(dropdown => dropdown.classList.add(ClassName.ACTIVE))\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const data = Data.getData(this, DATA_KEY) || new Tab(this)\n data.show()\n})\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .tab to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Tab.jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab.jQueryInterface\n }\n}\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n getjQuery,\n TRANSITION_END,\n emulateTransitionEnd,\n getTransitionDurationFromElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.3.1'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst Event = {\n CLICK_DISMISS: `click.dismiss${EVENT_KEY}`,\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n}\n\nconst ClassName = {\n FADE: 'fade',\n HIDE: 'hide',\n SHOW: 'show',\n SHOWING: 'showing'\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst Selector = {\n DATA_DISMISS: '[data-dismiss=\"toast\"]'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n Data.setData(element, DATA_KEY, this)\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show() {\n const showEvent = EventHandler.trigger(this._element, Event.SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n if (this._config.animation) {\n this._element.classList.add(ClassName.FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(ClassName.SHOWING)\n this._element.classList.add(ClassName.SHOW)\n\n EventHandler.trigger(this._element, Event.SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(ClassName.HIDE)\n reflow(this._element)\n this._element.classList.add(ClassName.SHOWING)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(ClassName.SHOW)) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, Event.HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(ClassName.HIDE)\n EventHandler.trigger(this._element, Event.HIDDEN)\n }\n\n this._element.classList.remove(ClassName.SHOW)\n if (this._config.animation) {\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, TRANSITION_END, complete)\n emulateTransitionEnd(this._element, transitionDuration)\n } else {\n complete()\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n this._timeout = null\n\n if (this._element.classList.contains(ClassName.SHOW)) {\n this._element.classList.remove(ClassName.SHOW)\n }\n\n EventHandler.off(this._element, Event.CLICK_DISMISS)\n Data.removeData(this._element, DATA_KEY)\n\n this._element = null\n this._config = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...typeof config === 'object' && config ? config : {}\n }\n\n typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n () => this.hide()\n )\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n let data = Data.getData(this, DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n\n static getInstance(element) {\n return Data.getData(element, DATA_KEY)\n }\n}\n\nconst $ = getjQuery()\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .toast to jQuery only if jQuery is present\n */\n/* istanbul ignore if */\nif ($) {\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n $.fn[NAME] = Toast.jQueryInterface\n $.fn[NAME].Constructor = Toast\n $.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast.jQueryInterface\n }\n}\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert'\nimport Button from './src/button'\nimport Carousel from './src/carousel'\nimport Collapse from './src/collapse'\nimport Dropdown from './src/dropdown'\nimport Modal from './src/modal'\nimport Popover from './src/popover'\nimport ScrollSpy from './src/scrollspy'\nimport Tab from './src/tab'\nimport Toast from './src/toast'\nimport Tooltip from './src/tooltip'\n\nexport default {\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n ScrollSpy,\n Tab,\n Toast,\n Tooltip\n}\n"]} \ No newline at end of file