From 032cf13a59f389a5a211aeaf5f8c4c0584c323b9 Mon Sep 17 00:00:00 2001
From: ZERBIB TIMOTHEE <timothee.zerbib@etu.unistra.fr>
Date: Tue, 11 Feb 2020 16:12:09 +0100
Subject: [PATCH] Delete website from master branch

---
 .../BDD/INITS/PW2_categorie.sql               |    13 -
 .../BDD/INITS/PW2_commentaire.sql             |    35 -
 .../BDD/INITS/PW2_commentaire_note.sql        |    18 -
 web/osthoffen-master/BDD/INITS/PW2_droit.sql  |     4 -
 web/osthoffen-master/BDD/INITS/PW2_topic.sql  |    12 -
 .../BDD/INITS/PW2_topic_note.sql              |     6 -
 .../BDD/INITS/PW2_utilisateurs.sql            |     8 -
 .../BDD/TABLES/PW2_categorie.sql              |    38 -
 .../BDD/TABLES/PW2_commentaire.sql            |    38 -
 .../BDD/TABLES/PW2_commentaire_note.sql       |    33 -
 web/osthoffen-master/BDD/TABLES/PW2_droit.sql |    24 -
 web/osthoffen-master/BDD/TABLES/PW2_topic.sql |    38 -
 .../BDD/TABLES/PW2_topic_note.sql             |    36 -
 .../BDD/TABLES/PW2_utilisateurs.sql           |    38 -
 .../WEB/Controllers/accueil_controller.php    |    70 -
 .../WEB/Controllers/categorie_controller.php  |    98 -
 .../Controllers/commentaire_controller.php    |   151 -
 .../WEB/Controllers/forum_controller.php      |    19 -
 .../WEB/Controllers/topic_controller.php      |   187 -
 .../WEB/Controllers/user_controller.php       |   455 -
 .../WEB/Models/categorie_model.php            |   194 -
 .../WEB/Models/commentaire_model.php          |   138 -
 .../WEB/Models/model_base.php                 |     8 -
 .../WEB/Models/topic_model.php                |   311 -
 .../WEB/Models/user_model.php                 |   456 -
 web/osthoffen-master/WEB/PUBLIC/bdd.php       |    10 -
 .../PUBLIC/medias/avatars/avatar_user_-1.png  |   Bin 233666 -> 0 bytes
 .../WEB/PUBLIC/medias/favicon.ico             |   Bin 1150 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/arrow-left.png   |   Bin 303 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/arrow-right.png  |   Bin 280 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/bas.png          |   Bin 7682 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/bas_vote.png     |   Bin 2926 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/editeur/bold.png |   Bin 290 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/centrer.png  |   Bin 179 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/exposant.png |   Bin 341 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/indent.png   |   Bin 241 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/indice.png   |   Bin 329 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/italic.png   |   Bin 255 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/justify.png  |   Bin 157 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/editeur/left.png |   Bin 168 -> 0 bytes
 .../medias/icones/editeur/ordered_list.png    |   Bin 306 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/outdent.png  |   Bin 240 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/editeur/redo.png |   Bin 206 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/right.png    |   Bin 167 -> 0 bytes
 .../PUBLIC/medias/icones/editeur/stroke.png   |   Bin 344 -> 0 bytes
 .../medias/icones/editeur/underline.png       |   Bin 291 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/editeur/undo.png |   Bin 202 -> 0 bytes
 .../medias/icones/editeur/unordered_list.png  |   Bin 220 -> 0 bytes
 .../medias/icones/etoiles/star_clear.gif      |   Bin 626 -> 0 bytes
 .../medias/icones/etoiles/star_clear2.gif     |   Bin 344 -> 0 bytes
 .../PUBLIC/medias/icones/etoiles/star_in.gif  |   Bin 1050 -> 0 bytes
 .../PUBLIC/medias/icones/etoiles/star_out.gif |   Bin 338 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/haut.png         |   Bin 7912 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/haut_vote.png    |   Bin 2519 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/supprimer.png    |   Bin 32139 -> 0 bytes
 .../WEB/PUBLIC/medias/icones/user.png         |   Bin 60006 -> 0 bytes
 .../WEB/PUBLIC/medias/images/blason.png       |   Bin 55093 -> 0 bytes
 .../WEB/PUBLIC/medias/images/fond-chateau.jpg |   Bin 303052 -> 0 bytes
 .../WEB/PUBLIC/overall/aside_left.php         |    44 -
 .../WEB/PUBLIC/overall/aside_right.php        |    39 -
 .../PUBLIC/overall/aside_right_categorie.php  |    53 -
 .../WEB/PUBLIC/overall/aside_right_forum.php  |    51 -
 .../WEB/PUBLIC/overall/aside_right_topic.php  |    72 -
 .../WEB/PUBLIC/overall/editor.php             |   115 -
 .../WEB/PUBLIC/overall/footer.php             |    18 -
 .../WEB/PUBLIC/overall/header.php             |    16 -
 .../WEB/PUBLIC/overall/last_com.php           |    34 -
 .../WEB/PUBLIC/overall/menu.php               |    43 -
 .../WEB/PUBLIC/script/check_role.php          |    38 -
 .../WEB/PUBLIC/script/js/bootstrap.bundle.js  |  7013 -----------
 .../PUBLIC/script/js/bootstrap.bundle.js.map  |     1 -
 .../PUBLIC/script/js/bootstrap.bundle.min.js  |     7 -
 .../script/js/bootstrap.bundle.min.js.map     |     1 -
 .../WEB/PUBLIC/script/js/bootstrap.js         |  4435 -------
 .../WEB/PUBLIC/script/js/bootstrap.js.map     |     1 -
 .../WEB/PUBLIC/script/js/bootstrap.min.js     |     7 -
 .../WEB/PUBLIC/script/js/bootstrap.min.js.map |     1 -
 .../WEB/PUBLIC/style/css/bootstrap-grid.css   |  3719 ------
 .../PUBLIC/style/css/bootstrap-grid.css.map   |     1 -
 .../PUBLIC/style/css/bootstrap-grid.min.css   |     7 -
 .../style/css/bootstrap-grid.min.css.map      |     1 -
 .../WEB/PUBLIC/style/css/bootstrap-reboot.css |   331 -
 .../PUBLIC/style/css/bootstrap-reboot.css.map |     1 -
 .../PUBLIC/style/css/bootstrap-reboot.min.css |     8 -
 .../style/css/bootstrap-reboot.min.css.map    |     1 -
 .../WEB/PUBLIC/style/css/bootstrap.css        | 10038 ----------------
 .../WEB/PUBLIC/style/css/bootstrap.css.map    |     1 -
 .../WEB/PUBLIC/style/css/bootstrap.min.css    |     7 -
 .../PUBLIC/style/css/bootstrap.min.css.map    |     1 -
 .../WEB/PUBLIC/style/style.css                |   237 -
 .../WEB/Views/accueil/about_view.php          |    41 -
 .../WEB/Views/accueil/accueil_view.php        |    21 -
 .../WEB/Views/accueil/contact_view.php        |    95 -
 .../WEB/Views/accueil/village_view.php        |   106 -
 .../WEB/Views/categorie/delete_view.php       |    60 -
 .../WEB/Views/categorie/edit_view.php         |    66 -
 .../WEB/Views/categorie/index_view.php        |    72 -
 .../WEB/Views/categorie/new_view.php          |    47 -
 .../WEB/Views/commentaire/edit_view.php       |   123 -
 web/osthoffen-master/WEB/Views/errors/404.php |    19 -
 .../WEB/Views/errors/not_connected_error.php  |    18 -
 .../WEB/Views/errors/not_yours.php            |    18 -
 .../WEB/Views/errors/permission_error.php     |    18 -
 .../WEB/Views/forum/index_view.php            |    57 -
 .../WEB/Views/topic/delete_view.php           |    60 -
 .../WEB/Views/topic/edit_view.php             |    66 -
 .../WEB/Views/topic/index_view.php            |   226 -
 .../WEB/Views/topic/new_view.php              |    42 -
 .../WEB/Views/user/delete_member_view.php     |    49 -
 .../WEB/Views/user/delete_view.php            |    49 -
 .../WEB/Views/user/edit_psw_view.php          |    62 -
 .../WEB/Views/user/edit_view.php              |    70 -
 .../WEB/Views/user/infos_member_view.php      |    79 -
 .../WEB/Views/user/infos_view.php             |    64 -
 .../WEB/Views/user/login_view.php             |    53 -
 .../WEB/Views/user/manage_view.php            |    58 -
 .../WEB/Views/user/signup_view.php            |    80 -
 web/osthoffen-master/index.php                |    40 -
 118 files changed, 30539 deletions(-)
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_categorie.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_commentaire.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_commentaire_note.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_droit.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_topic.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_topic_note.sql
 delete mode 100644 web/osthoffen-master/BDD/INITS/PW2_utilisateurs.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_categorie.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_commentaire.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_commentaire_note.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_droit.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_topic.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_topic_note.sql
 delete mode 100644 web/osthoffen-master/BDD/TABLES/PW2_utilisateurs.sql
 delete mode 100644 web/osthoffen-master/WEB/Controllers/accueil_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Controllers/categorie_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Controllers/commentaire_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Controllers/forum_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Controllers/topic_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Controllers/user_controller.php
 delete mode 100644 web/osthoffen-master/WEB/Models/categorie_model.php
 delete mode 100644 web/osthoffen-master/WEB/Models/commentaire_model.php
 delete mode 100644 web/osthoffen-master/WEB/Models/model_base.php
 delete mode 100644 web/osthoffen-master/WEB/Models/topic_model.php
 delete mode 100644 web/osthoffen-master/WEB/Models/user_model.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/bdd.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/avatars/avatar_user_-1.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/favicon.ico
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-left.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-right.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/bas.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/bas_vote.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/bold.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/centrer.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/exposant.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indent.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indice.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/italic.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/justify.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/left.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/ordered_list.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/outdent.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/redo.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/right.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/stroke.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/underline.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/undo.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/unordered_list.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_in.gif
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_out.gif
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/haut.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/haut_vote.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/supprimer.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/icones/user.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/images/blason.png
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/medias/images/fond-chateau.jpg
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/aside_left.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/aside_right.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/aside_right_categorie.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/aside_right_forum.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/aside_right_topic.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/editor.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/footer.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/header.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/last_com.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/overall/menu.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/check_role.php
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css.map
 delete mode 100644 web/osthoffen-master/WEB/PUBLIC/style/style.css
 delete mode 100644 web/osthoffen-master/WEB/Views/accueil/about_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/accueil/accueil_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/accueil/contact_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/accueil/village_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/categorie/delete_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/categorie/edit_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/categorie/index_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/categorie/new_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/commentaire/edit_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/errors/404.php
 delete mode 100644 web/osthoffen-master/WEB/Views/errors/not_connected_error.php
 delete mode 100644 web/osthoffen-master/WEB/Views/errors/not_yours.php
 delete mode 100644 web/osthoffen-master/WEB/Views/errors/permission_error.php
 delete mode 100644 web/osthoffen-master/WEB/Views/forum/index_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/topic/delete_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/topic/edit_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/topic/index_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/topic/new_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/delete_member_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/delete_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/edit_psw_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/edit_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/infos_member_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/infos_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/login_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/manage_view.php
 delete mode 100644 web/osthoffen-master/WEB/Views/user/signup_view.php
 delete mode 100644 web/osthoffen-master/index.php

diff --git a/web/osthoffen-master/BDD/INITS/PW2_categorie.sql b/web/osthoffen-master/BDD/INITS/PW2_categorie.sql
deleted file mode 100644
index df3ebc8..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_categorie.sql
+++ /dev/null
@@ -1,13 +0,0 @@
---
--- Déchargement des données de la table `PW2_categorie`
---
-
-INSERT INTO `PW2_categorie` (`ID`, `Intitule`, `ID_Creator`) VALUES
-(14, 'Actualités', 17),
-(15, 'évènements', 17),
-(16, 'Transports', 17),
-(17, 'Associations', 17),
-(18, 'Sport', 17),
-(19, 'Ecoles', 17),
-(20, 'Commerces', 17),
-(21, 'La taverne', 17);
diff --git a/web/osthoffen-master/BDD/INITS/PW2_commentaire.sql b/web/osthoffen-master/BDD/INITS/PW2_commentaire.sql
deleted file mode 100644
index 990adc5..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_commentaire.sql
+++ /dev/null
@@ -1,35 +0,0 @@
---
--- Déchargement des données de la table `PW2_commentaire`
---
-
-INSERT INTO `PW2_commentaire` (`ID`, `Intitule`, `Note`, `Date`, `ID_User`, `ID_Topic`) VALUES
-(116, '<div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">En raison de la construction du</span><b style=\\\"font-size: 1rem;\\\"> Grand Contournement Ouest </b><span style=\\\"font-size: 1rem;\\\">de Strasbourg, la </span><i style=\\\"font-size: 1rem;\\\">RD118</i><span style=\\\"font-size: 1rem;\\\"> est fermée à la circulation durant le mois d\\\'avril 2019.</span></div><div style=\\\"text-align: justify;\\\"><br></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">Une déviation est mise en place via Ergersheim.</span></div><div style=\\\"text-align: justify;\\\"><br></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">La ligne interurbaine <b>240</b> est également perturbée.</span></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">L\\\'arrêt<b> Tilleul </b>n\\\'est pas desservi, un arrêt provisoire est mis en place en face du restaurant, route du<b> Kochersberg.</b></span></div><div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">Les arrêts <b>Mairie</b> et <b>Vignes</b> sont desservis exceptionnellement dans les deux sens de circulation des autocars.</span></div><div style=\\\"text-align: justify;\\\"><br></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">En direction de Strasbourg, les bus passeront avec <u>10 minutes</u> d\\\'avance sur les horaires habituels.</span></div></div>', 0, 1556467478, 17, 24),
-(117, 'Les entrainement jeunes ont lieu l<span style=\\\"font-size: 1rem;\\\">e samedi :</span><div><ul><li><span style=\\\"font-size: 1rem;\\\">&nbsp;de 10h30 à 12h pour le groupe 1</span></li><li>&nbsp;de 13h30 à 15h pour le groupe 2.</li></ul><div><br>Les créneaux adultes ont lieu :<div><ul><li>le mercredi soir dès 18h</li><li>le dimanche soir dès 17h</li></ul></div></div></div>', 0, 1556467614, 17, 25),
-(118, 'Venez voter le 26 mai 2019 dans la salle d\\\'activité de l\\\'école primaire pour votre équipe européenne préférée !<br><br>Tirage au sors à l\\\'issue des vote.', 0, 1556467687, 17, 26),
-(119, 'Achencraft est une association domiciliée à Osthoffen, et présidée par Lucas LETT.<div><br></div><div>Cette association a pour objectif de reproduire le centre-ville de Strasbourg dans Minecraft.</div><div><br></div><div>Vous pouvez admirer leur travail sur leur site internet : www.achencraft.fr !</div>', 1, 1556467798, 17, 27),
-(120, 'Prochain voyage : on sait pas mais ça sera chouette !', 0, 1556467834, 17, 28),
-(121, 'oui, c\\\'est un sport !<br>Et c\\\'est le lundi soir à 19h.<br><br><b>On vous attend ^^</b>', 0, 1556467878, 17, 29),
-(122, '<div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">On a entendu parler d\\\'un étudiant en informatique à Strasbourg qui a fait un super forum sur notre village.</span></div><div style=\\\"text-align: justify;\\\"><br></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">Alors on s\\\'est dit qu\\\'on allait l\\\'embaucher !</span></div>', 0, 1556467935, 17, 30),
-(123, 'On a une boulangerie.<br>Parfois.<br>ça dépend des jours.<div>et des repreneurs.<br><br></div>', -3, 1556468036, 17, 31),
-(124, 'Sabine, t\\\'es la meilleure<br>change pas !', -1, 1556468059, 17, 32),
-(125, '<div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">Et oui, on a aussi du miel chez nous, pasque on est les meilleurs !</span></div><div style=\\\"text-align: justify;\\\"><br></div><div style=\\\"text-align: justify;\\\"><span style=\\\"font-size: 1rem;\\\">Venez acheter votre sucre préféré chez le papa de Lucas (ben je fais de la pub si déjà je suis là)</span></div><div style=\\\"text-align: justify;\\\"><br></div><b><div style=\\\"text-align: justify;\\\"><b style=\\\"font-size: 1rem;\\\">PRIX</b><span style=\\\"font-size: 1rem; font-weight: 400;\\\"> :</span></div></b><div><ul><li style=\\\"text-align: justify;\\\">Fleurs : 5.5€</li><li style=\\\"text-align: justify;\\\">Sapin : 7.5€</li><li style=\\\"text-align: justify;\\\">Tilleul : 6.5€</li><li style=\\\"text-align: justify;\\\">Châtaigner : 6.5€</li><li style=\\\"text-align: justify;\\\">Forêt : 6.5€</li><li style=\\\"text-align: justify;\\\">Acacia : 6.5€</li><li style=\\\"text-align: justify;\\\">Crémeux : 7.5€</li></ul></div>', 1, 1556468219, 17, 33),
-(128, 'et ouai !', 0, 1556526079, 17, 36),
-(129, 'Bonjour.<br><div style=\\\"text-align: right;\\\">Comment allez vous?</div>', 1, 1556526658, 28, 36),
-(130, 'Je peux venir sur le serveur pour voir? Je veux venir', 0, 1556526734, 28, 27),
-(131, 'ouai<br><br><b>Achencraft.fr</b> en version 1.12 ^^<div><br></div>', 1, 1556526763, 17, 27),
-(132, 'C\\\'est q<i>uan</i>d q<b>u\\\'il&nbsp; y </b>aura <u>un<strike> clu</strike></u>b<u> échecs?</u>', 0, 1556526796, 28, 25),
-(133, 'Tu ne me verras jamais<div><br></div>', 2, 1556526816, 28, 24),
-(134, 'je te vois', 0, 1556526859, 17, 24),
-(135, 'Sois maudit Lex Luthor! :-o', 0, 1556526882, 28, 24),
-(136, 'Je vote Morgane pour son summer body', 0, 1556527205, 28, 26),
-(137, 'J\\\'aimerais bien mais je ne suis pas assez souple !', 1, 1556527586, 29, 29),
-(138, 'Allez à <b>Prague</b>, c\\\'est super sympa !', 1, 1556527613, 29, 28),
-(139, 'Vives les pains au <u>chocolat&nbsp;</u>', 1, 1556527645, 29, 31),
-(140, 'Intéressée !', 0, 1556527706, 29, 33),
-(141, 'La conférence à Drusenheim était archi bien surtout celui qui est venu à la fin en renfort&nbsp;', 1, 1556527868, 30, 27),
-(142, '<div style=\\\"text-align: right;\\\"><span style=\\\"font-size: 1rem;\\\">J\\\'ai trouvé ça un peu lent comme pratique mais pourquoi pas</span></div>', 0, 1556527950, 30, 29),
-(143, 'Strasbourg, c\\\'est mieux.&nbsp;', 0, 1556528001, 28, 28),
-(144, 'Pain au chocolat ou chocolatine ? :-o', -1, 1556528029, 28, 31),
-(145, 'Cb de personne dans le \\\"on\\\"?', 0, 1556528198, 28, 30),
-(146, 'Je viens<sub style=\\\"vertical-align: sub;\\\">detrouver</sub><sup>un<sup>jouet</sup></sup>', 0, 1556528220, 28, 30),
-(147, 'D\\\'ailleurs, ouais ne prend-t-il pas un s? Wesh en prend bien un, alors fait un effort sur l\\\'aurtografe stp', 0, 1556528392, 28, 36);
diff --git a/web/osthoffen-master/BDD/INITS/PW2_commentaire_note.sql b/web/osthoffen-master/BDD/INITS/PW2_commentaire_note.sql
deleted file mode 100644
index 7a15e26..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_commentaire_note.sql
+++ /dev/null
@@ -1,18 +0,0 @@
-INSERT INTO `PW2_commentaire_note` (`ID`, `Note`, `ID_User`, `ID_Commentaire`) VALUES
-(19, 1, 28, 119),
-(20, 1, 17, 129),
-(21, 1, 17, 133),
-(22, -1, 17, 135),
-(23, 1, 28, 133),
-(24, 1, 28, 135),
-(25, -1, 29, 124),
-(26, 1, 29, 138),
-(27, 1, 29, 139),
-(28, -1, 29, 123),
-(29, 1, 29, 125),
-(30, 1, 30, 141),
-(31, 1, 30, 137),
-(32, 1, 28, 131),
-(33, -1, 28, 123),
-(34, -1, 17, 144),
-(35, -1, 17, 123);
diff --git a/web/osthoffen-master/BDD/INITS/PW2_droit.sql b/web/osthoffen-master/BDD/INITS/PW2_droit.sql
deleted file mode 100644
index dbcba53..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_droit.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-INSERT INTO `PW2_droit` (`ID`, `Signification`) VALUES
-(4, 'Administrateur'),
-(3, 'Modérateur'),
-(2, 'Utilisateur');
diff --git a/web/osthoffen-master/BDD/INITS/PW2_topic.sql b/web/osthoffen-master/BDD/INITS/PW2_topic.sql
deleted file mode 100644
index c6abc0b..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_topic.sql
+++ /dev/null
@@ -1,12 +0,0 @@
-INSERT INTO `PW2_topic` (`ID`, `Intitule`, `Note_Moyenne`, `Derniere_Modif`, `ID_Creator`, `ID_Categorie`) VALUES
-(24, 'Déviation GCO', 3, 1556526882, 17, 16),
-(25, 'Badminton Club', -1, 1556526796, 17, 18),
-(26, 'élections', -1, 1556527205, 17, 15),
-(27, 'Achencraft', -1, 1556527868, 17, 17),
-(28, 'Voyages', 5, 1556528001, 17, 19),
-(29, 'Yoga', 5, 1556527950, 17, 18),
-(30, 'Nouveau site', -1, 1556528220, 17, 14),
-(31, 'Boulangerie', 4, 1556528029, 17, 20),
-(32, 'Coiffeur', -1, 1556468059, 17, 20),
-(33, 'Apiculteur', -1, 1556527706, 17, 20),
-(36, 'ici on parle de tout', 5, 1556528392, 17, 21);
diff --git a/web/osthoffen-master/BDD/INITS/PW2_topic_note.sql b/web/osthoffen-master/BDD/INITS/PW2_topic_note.sql
deleted file mode 100644
index a13a772..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_topic_note.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-INSERT INTO `PW2_topic_note` (`ID`, `Note`, `ID_User`, `ID_Topic`) VALUES
-(20, 3, 17, 24),
-(21, 5, 28, 36),
-(22, 5, 29, 28),
-(23, 5, 30, 29),
-(24, 4, 28, 31);
diff --git a/web/osthoffen-master/BDD/INITS/PW2_utilisateurs.sql b/web/osthoffen-master/BDD/INITS/PW2_utilisateurs.sql
deleted file mode 100644
index ae1a491..0000000
--- a/web/osthoffen-master/BDD/INITS/PW2_utilisateurs.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-INSERT INTO `PW2_utilisateurs` (`ID`, `Login`, `Password`, `Pseudo`, `Mail`, `Avatar`, `ID_Droit`) VALUES
-(17, 'l_lett', '$2y$10$NHOuNXdHwW3ajZSuUUreAu9Q8iZFsyEDzfupqTcEh3VzKzHPni.DC', 'frimousse', 'lll@ppp.com', 'https://images.ecosia.org/BJPEo0GNY7umcVa_SlX1QpMzyVU=/0x390/smart/http%3A%2F%2F2.bp.blogspot.com%2F-RJDhyMR03v8%2FT-QSpLJH_qI%2FAAAAAAAAANw%2FUf5VtV72uwk%2Fs1600%2FXANA%2BLogo.GIF', 4),
-(22, 'Morgane', '$2y$10$Esc1Hx2qMGcDxLJoqO/E7u6hmb/d6nsjM9RtsR0X67AUYhdUDMwL6', 'Morgane', 'hjfdks@gbfdjs.com', 'https://imgfast.net/users/3814/42/78/37/smiles/1230968668.gif', 4),
-(23, 'kiwi', '$2y$10$4EQ3zFuQTnZYCP1NmV9Laujlu5JQeSZ5hx6QWA5ucJCYkOxb5kQSi', 'kiwi', 'kiwi@gmail.com', 'https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/avatars/avatar_user_-1.png', 2),
-(27, 'test', '$2y$10$9Fr.HDeryO9PqWrVuLPuQeeBRwO6mL3gl4bjOfPsj25MiQCkq2sXS', 'test', 'lucas.lett@etu.unistra.fr', 'https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/avatars/avatar_user_-1.png', 2),
-(28, 'ahaller', '$2y$10$DcrRFfoWpgv/kaVwr6vEu.dfgbGKXB1k9WHOVKdv3HY4BpF.yik9G', 'l3mateux', 'minuzo@hotmail.fr', 'https://www.best-of-poker.fr/wp-content/uploads/2017/08/autocollant-poker-jeu-de-cartes-1.jpg', 2),
-(29, 'Eve', '$2y$10$w5lQ4kaTLdeJNT3r5fC8Bun7Gc5HkvGqJOwk/rlOn32FDJjVYjvbG', 'Eve', 'eve@hotmail.com', 'https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/avatars/avatar_user_-1.png', 2),
-(30, 'baptiste', '$2y$10$eIoq9xdQnXvoQpBHpHaFBukZtqS/enOeLhV.6jo006/vhKU.k8tn.', 'Bat', 'baptiste.bgtlt@gmail.com', 'https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/avatars/avatar_user_-1.png', 2);
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_categorie.sql b/web/osthoffen-master/BDD/TABLES/PW2_categorie.sql
deleted file mode 100644
index 23ab410..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_categorie.sql
+++ /dev/null
@@ -1,38 +0,0 @@
---
--- Structure de la table `PW2_categorie`
---
-
-
-CREATE TABLE `PW2_categorie` (
-  `ID` int(11) NOT NULL,
-  `Intitule` varchar(300) NOT NULL,
-  `ID_Creator` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-
---
--- Index pour la table `PW2_categorie`
---
-
-
-ALTER TABLE `PW2_categorie`
-  ADD PRIMARY KEY (`ID`),
-  ADD UNIQUE KEY `Intitule` (`Intitule`),
-  ADD KEY `ID_creator` (`ID_Creator`);
-
-
-
- --
- -- AUTO_INCREMENT pour la table `PW2_categorie`
- --
- ALTER TABLE `PW2_categorie`
-   MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;
-
-
-
- --
- -- Contraintes pour la table `PW2_categorie`
- --
- ALTER TABLE `PW2_categorie`
-  ADD CONSTRAINT `PW2_categorie_ibfk_1` FOREIGN KEY (`ID_Creator`) REFERENCES `PW2_utilisateurs` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_commentaire.sql b/web/osthoffen-master/BDD/TABLES/PW2_commentaire.sql
deleted file mode 100644
index a859b3f..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_commentaire.sql
+++ /dev/null
@@ -1,38 +0,0 @@
---
--- Structure de la table `PW2_commentaire`
---
-
-CREATE TABLE `PW2_commentaire` (
-  `ID` int(11) NOT NULL,
-  `Intitule` longtext NOT NULL,
-  `Note` int(11) NOT NULL DEFAULT '0',
-  `Date` int(11) DEFAULT NULL,
-  `ID_User` int(11) DEFAULT NULL,
-  `ID_Topic` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-
---
--- Index pour la table `PW2_commentaire`
---
-ALTER TABLE `PW2_commentaire`
-  ADD PRIMARY KEY (`ID`),
-  ADD KEY `ID_Topic` (`ID_Topic`),
-  ADD KEY `ID_User` (`ID_Topic`) USING BTREE,
-  ADD KEY `PW2_commentaire_ibfk_3` (`ID_User`);
-
- --
- -- AUTO_INCREMENT pour la table `PW2_commentaire`
- --
- ALTER TABLE `PW2_commentaire`
-   MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=126;
-
-
-
- --
- -- Contraintes pour la table `PW2_commentaire`
- --
- ALTER TABLE `PW2_commentaire`
-   ADD CONSTRAINT `PW2_commentaire_ibfk_2` FOREIGN KEY (`ID_Topic`) REFERENCES `PW2_topic` (`ID`) ON DELETE CASCADE ON UPDATE SET NULL,
-   ADD CONSTRAINT `PW2_commentaire_ibfk_3` FOREIGN KEY (`ID_User`) REFERENCES `PW2_utilisateurs` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_commentaire_note.sql b/web/osthoffen-master/BDD/TABLES/PW2_commentaire_note.sql
deleted file mode 100644
index bda8085..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_commentaire_note.sql
+++ /dev/null
@@ -1,33 +0,0 @@
---
--- Structure de la table `PW2_commentaire_note`
---
-
-CREATE TABLE `PW2_commentaire_note` (
-  `ID` int(11) NOT NULL,
-  `Note` int(11) NOT NULL,
-  `ID_User` int(11) DEFAULT NULL,
-  `ID_Commentaire` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
---
--- Index pour la table `PW2_commentaire_note`
---
-ALTER TABLE `PW2_commentaire_note`
-  ADD PRIMARY KEY (`ID`),
-  ADD KEY `ID_User` (`ID_User`,`ID_Commentaire`),
-  ADD KEY `ID_Commentaire` (`ID_Commentaire`);
-
- --
- -- AUTO_INCREMENT pour la table `PW2_commentaire_note`
- --
- ALTER TABLE `PW2_commentaire_note`
-   MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;
-
-
- --
- -- Contraintes pour la table `PW2_commentaire_note`
- --
- ALTER TABLE `PW2_commentaire_note`
-   ADD CONSTRAINT `PW2_commentaire_note_ibfk_1` FOREIGN KEY (`ID_User`) REFERENCES `PW2_utilisateurs` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL,
-   ADD CONSTRAINT `PW2_commentaire_note_ibfk_2` FOREIGN KEY (`ID_Commentaire`) REFERENCES `PW2_commentaire` (`ID`) ON DELETE CASCADE ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_droit.sql b/web/osthoffen-master/BDD/TABLES/PW2_droit.sql
deleted file mode 100644
index 8e9b370..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_droit.sql
+++ /dev/null
@@ -1,24 +0,0 @@
-
---
--- Structure de la table `PW2_droit`
---
-
-CREATE TABLE `PW2_droit` (
-  `ID` int(11) NOT NULL,
-  `Signification` varchar(255) NOT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-
---
--- Index pour la table `PW2_droit`
---
-ALTER TABLE `PW2_droit`
-  ADD PRIMARY KEY (`ID`),
-  ADD UNIQUE KEY `Signification` (`Signification`);
-
- --
- -- AUTO_INCREMENT pour la table `PW2_droit`
- --
- ALTER TABLE `PW2_droit`
-  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_topic.sql b/web/osthoffen-master/BDD/TABLES/PW2_topic.sql
deleted file mode 100644
index 540ae45..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_topic.sql
+++ /dev/null
@@ -1,38 +0,0 @@
---
--- Structure de la table `PW2_topic`
---
-
-CREATE TABLE `PW2_topic` (
-  `ID` int(11) NOT NULL,
-  `Intitule` varchar(300) NOT NULL,
-  `Note_Moyenne` int(11) DEFAULT '-1',
-  `Derniere_Modif` int(11) NOT NULL,
-  `ID_Creator` int(11) DEFAULT NULL,
-  `ID_Categorie` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
-
-
---
--- Index pour la table `PW2_topic`
---
-ALTER TABLE `PW2_topic`
-  ADD PRIMARY KEY (`ID`),
-  ADD KEY `ID_Creator` (`ID_Creator`,`ID_Categorie`),
-  ADD KEY `ID_Categorie` (`ID_Categorie`);
-
-
- --
- -- AUTO_INCREMENT pour la table `PW2_topic`
- --
- ALTER TABLE `PW2_topic`
-   MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;
-
-
- --
- -- Contraintes pour la table `PW2_topic`
- --
- ALTER TABLE `PW2_topic`
-   ADD CONSTRAINT `PW2_topic_ibfk_2` FOREIGN KEY (`ID_Categorie`) REFERENCES `PW2_categorie` (`ID`) ON DELETE CASCADE ON UPDATE SET NULL,
-   ADD CONSTRAINT `PW2_topic_ibfk_3` FOREIGN KEY (`ID_Creator`) REFERENCES `PW2_utilisateurs` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_topic_note.sql b/web/osthoffen-master/BDD/TABLES/PW2_topic_note.sql
deleted file mode 100644
index d912a4c..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_topic_note.sql
+++ /dev/null
@@ -1,36 +0,0 @@
---
--- Structure de la table `PW2_topic_note`
---
-
-CREATE TABLE `PW2_topic_note` (
-  `ID` int(11) NOT NULL,
-  `Note` int(11) DEFAULT NULL,
-  `ID_User` int(11) DEFAULT NULL,
-  `ID_Topic` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
---
--- Index pour la table `PW2_topic_note`
---
-ALTER TABLE `PW2_topic_note`
-  ADD PRIMARY KEY (`ID`),
-  ADD KEY `ID_User` (`ID_User`,`ID_Topic`),
-  ADD KEY `ID_Topic` (`ID_Topic`);
-
-
-
- --
- -- AUTO_INCREMENT pour la table `PW2_topic_note`
- --
- ALTER TABLE `PW2_topic_note`
-  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;
-
-
-
- --
- -- Contraintes pour la table `PW2_topic_note`
- --
- ALTER TABLE `PW2_topic_note`
-   ADD CONSTRAINT `PW2_topic_note_ibfk_1` FOREIGN KEY (`ID_User`) REFERENCES `PW2_utilisateurs` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
-   ADD CONSTRAINT `PW2_topic_note_ibfk_2` FOREIGN KEY (`ID_Topic`) REFERENCES `PW2_topic` (`ID`) ON DELETE CASCADE ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/BDD/TABLES/PW2_utilisateurs.sql b/web/osthoffen-master/BDD/TABLES/PW2_utilisateurs.sql
deleted file mode 100644
index 519e2a8..0000000
--- a/web/osthoffen-master/BDD/TABLES/PW2_utilisateurs.sql
+++ /dev/null
@@ -1,38 +0,0 @@
-
---
--- Structure de la table `PW2_utilisateur`
---
-
-CREATE TABLE `PW2_utilisateurs` (
-  `ID` int(11) NOT NULL,
-  `Login` varchar(50) NOT NULL,
-  `Password` varchar(100) NOT NULL,
-  `Pseudo` varchar(50) NOT NULL,
-  `Mail` varchar(255) NOT NULL,
-  `Avatar` varchar(200) DEFAULT NULL,
-  `ID_Droit` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
-
---
--- Index pour la table `PW2_utilisateur`
---
-ALTER TABLE `PW2_utilisateurs`
-  ADD PRIMARY KEY (`ID`),
-  ADD UNIQUE KEY `Login` (`Login`,`Pseudo`,`Mail`),
-  ADD KEY `PW2_utilisateurs_ibfk_1` (`ID_Droit`);
-
-
- --
- -- AUTO_INCREMENT pour la table `PW2_utilisateur`
- --
- ALTER TABLE `PW2_utilisateurs`
-   MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;
-
-
-
- --
- -- Contraintes pour la table `PW2_utilisateur`
- --
- ALTER TABLE `PW2_utilisateurs`
-   ADD CONSTRAINT `PW2_utilisateurs_ibfk_1` FOREIGN KEY (`ID_Droit`) REFERENCES `PW2_droit` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL;
diff --git a/web/osthoffen-master/WEB/Controllers/accueil_controller.php b/web/osthoffen-master/WEB/Controllers/accueil_controller.php
deleted file mode 100644
index 24a9b95..0000000
--- a/web/osthoffen-master/WEB/Controllers/accueil_controller.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-
-class Controller_Accueil
-{
-     public function std()
-     {
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-         require('./WEB/Views/accueil/accueil_view.php') ;
-     }
-     public function contact()
-     {
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-                  require('./WEB/Views/accueil/contact_view.php') ;
-     }
-     public function about()
-      {
-          $role_page = "all";
-          require("./WEB/PUBLIC/script/check_role.php");
-
-           require('./WEB/Views/accueil/about_view.php') ;
-      }
-      public function village()
-       {
-           $role_page = "all";
-           require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-            require('./WEB/Views/accueil/village_view.php') ;
-       }
-
-       public function mail()
-       {
-           $role_page = all;
-           require("./WEB/PUBLIC/script/check_role.php");
-
-
-          if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['email'],$_POST['objet'],$_POST['message'])){
-              $objet = (string) htmlspecialchars($_POST['email']);
-              $email = (string) htmlspecialchars($_POST['objet']);
-              $message = (string) htmlspecialchars($_POST['message']);
-
-              $to      = 'lucas.lett@gmail.com';
-              $headers = 'From: '.$email.' ' . "\r\n" .
-                'Reply-To: '.$email.' ' . "\r\n" .
-                'X-Mailer: PHP/' . phpversion();
-
-                if(mail($to, $sujet, $message, $headers) == true){
-                    $_SESSION['message'] = "message envoyé";
-                    header('Location: '.$adresse_site.'/accueil/contact');
-                } else {
-                    $_SESSION['message'] = "echec à l'envoi";
-                    header('Location: '.$adresse_site.'/accueil/contact');
-                }
-          }
-
-
-
-
-       }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Controllers/categorie_controller.php b/web/osthoffen-master/WEB/Controllers/categorie_controller.php
deleted file mode 100644
index 1278aac..0000000
--- a/web/osthoffen-master/WEB/Controllers/categorie_controller.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-
-class Controller_Categorie
-{
-     public function list($params)
-     {
-
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-         $liste_categorie = $categorie->list_topic($params);
-         $nom_categorie = $categorie->get_nom($params);
-
-         require('./WEB/Views/categorie/index_view.php');
-     }
-
-     public function new()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-         require('./WEB/Views/categorie/new_view.php');
-     }
-
-     public function delete()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         $liste_categorie = $categorie->list_categorie();
-         require('./WEB/Views/categorie/delete_view.php');
-     }
-
-     public function edit()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         $liste_categorie = $categorie->list_categorie();
-         require('./WEB/Views/categorie/edit_view.php');
-     }
-
-     public function new_cat()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-        if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['name'])){
-            $name = (string) htmlspecialchars($_POST['name']);
-
-            if($categorie->new($name) == true){
-                   header('Location: '.$adresse_site.'/forum/index');
-            } else {
-                   header('Location: '.$adresse_site.'/categorie/new');
-            }
-        }
-     }
-
-     public function delete_cat()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])){
-             $id = (string) htmlspecialchars($_POST['id']);
-
-
-             if($categorie->delete($id) == true){
-                    header('Location: '.$adresse_site.'/forum/index');
-             } else {
-                    header('Location: '.$adresse_site.'/categorie/delete');
-             }
-         }
-     }
-
-     public function edit_cat()
-     {
-         $role_page = 4;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'], $_POST['new_name'])){
-             $id = (string) htmlspecialchars($_POST['id']);
-             $new_name = (string) htmlspecialchars($_POST['new_name']);
-
-             if($categorie->edit($id,$new_name) == true){
-                    header('Location: '.$adresse_site.'/forum/index');
-             } else {
-                    header('Location: '.$adresse_site.'/categorie/edit');
-             }
-         }
-     }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Controllers/commentaire_controller.php b/web/osthoffen-master/WEB/Controllers/commentaire_controller.php
deleted file mode 100644
index 989a055..0000000
--- a/web/osthoffen-master/WEB/Controllers/commentaire_controller.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-
-
-class Controller_commentaire
-{
-
-
-
-
-     public function delete($cat,$com)
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-         require("./WEB/Models/commentaire_model.php");
-          $cat = (string) htmlspecialchars($cat);
-          $com = (string) htmlspecialchars($com);
-
-          $commentaire = new commentaire();
-          $commentaire->set_db($db);
-
-         if($commentaire->is_author($com) == false && $_SESSION['droit'] < 3){
-             include "WEB/Views/errors/not_yours.php";
-             exit;
-         }
-
-
-         if($commentaire->delete($com) == true){
-                header('Location: '.$adresse_site.'/topic/view/'.$cat);
-         } else {
-                header('Location: '.$adresse_site.'/topic/view/'.$cat.'?com='.$com);
-         }
-
-     }
-
-     public function edit($params,$comm)
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-         require("./WEB/Models/commentaire_model.php");
-          $cat = (string) htmlspecialchars($cat);
-          $comm = (string) htmlspecialchars($comm);
-
-          $commentaire = new commentaire();
-          $commentaire->set_db($db);
-
-         if($commentaire->is_author($comm) == false){
-             include "WEB/Views/errors/not_yours.php";
-             exit;
-         }
-
-         $info_comm = $commentaire->get_infos($comm);
-
-         require('./WEB/Views/commentaire/edit_view.php');
-     }
-
-
-     public function delete_com()
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])){
-             $id = (string) htmlspecialchars($_POST['id']);
-
-
-             if($categorie->delete($id) == true){
-                    header('Location: '.$adresse_site.'/forum/index');
-             } else {
-                    header('Location: '.$adresse_site.'/categorie/delete');
-             }
-         }
-     }
-
-     public function edit_com($params,$comm)
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         require("./WEB/Models/commentaire_model.php");
-          $cat = (string) htmlspecialchars($cat);
-          $comm = (string) htmlspecialchars($comm);
-
-          $commentaire = new commentaire();
-          $commentaire->set_db($db);
-          $topic = new topic();
-          $topic->set_db($db);
-
-         if($commentaire->is_author($comm) == false){
-             include "WEB/Views/errors/not_yours.php";
-             exit;
-         }
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['new_com']){
-             $new_com = (string)addslashes($_POST['new_com']);
-
-
-             if(empty($new_com)){
-                 $_SESSION['message'] = "Commentaire vide";
-
-                 header('Location: '.$adresse_site.'/topic/view/'.$params);
-                 exit;
-             }
-
-             if($topic->edit_com($comm,$new_com) == true){
-                    header('Location: '.$adresse_site.'/topic/view/'.$params."?com=".$comm);
-             } else {
-                    header('Location: '.$adresse_site.'/topic/view/'.$params);
-             }
-         }
-     }
-
-     public function noter($params,$com,$note){
-
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-         require("./WEB/Models/commentaire_model.php");
-         $commentaire = new commentaire();
-         $commentaire->set_db($db);
-
-
-         $params = (string) htmlspecialchars($params);
-         $com = (string) htmlspecialchars($com);
-         $note = (string) htmlspecialchars($note);
-
-
-
-             if($note == '+'){
-                 $note = 1;
-             }
-             if($note == '-'){
-                 $note = -1;
-             }
-
-
-             if($commentaire->noter($note,$com,$_SESSION['user_id']) == true){
-                 if($commentaire->maj_note_com($com) == true){
-                    header('Location: '.$adresse_site.'/topic/view/'.$params.'?com='.$com);
-                } else {
-                    header('Location: '.$adresse_site.'/topic/view/'.$params.'?com='.$com);
-                }
-             } else {
-                    //header('Location: '.$adresse_site.'/topic/view/'.$params.'?com='.$com);
-             }
-
-
-
-     }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Controllers/forum_controller.php b/web/osthoffen-master/WEB/Controllers/forum_controller.php
deleted file mode 100644
index 2fab3b7..0000000
--- a/web/osthoffen-master/WEB/Controllers/forum_controller.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-
-class Controller_Forum
-{
-     public function index()
-     {
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         
-         $liste_categorie = $categorie->list_categorie();
-
-         require('./WEB/Views/forum/index_view.php');
-     }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Controllers/topic_controller.php b/web/osthoffen-master/WEB/Controllers/topic_controller.php
deleted file mode 100644
index 283da33..0000000
--- a/web/osthoffen-master/WEB/Controllers/topic_controller.php
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-
-
-class Controller_Topic
-{
-     public function view($params)
-     {
-
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-         require("./WEB/Models/commentaire_model.php"); 
-
-
-         $commentaire = new commentaire();
-         $commentaire->set_db($db);
-
-         $topic = new topic();
-         $topic->set_db($db);
-
-         $liste_com = $topic->list_com($params);
-         $nom_com = $topic->get_nom($params);
-
-         require('./WEB/Views/topic/index_view.php');
-     }
-
-     public function add_com($params)
-     {
-
-         $role_page = "2";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-         $topic = new topic();
-         $topic->set_db($db);
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new_com'])){
-             $new_com = (string)addslashes($_POST['new_com']);
-
-
-             if(empty($new_com)){
-                 $_SESSION['message'] = "Commentaire vide";
-
-                 header('Location: '.$adresse_site.'/topic/view/'.$params);
-                 exit;
-             }
-
-             if($topic->add_com($params,$new_com,$_SESSION['user_id']) == true){
-                 $id_com = $topic->last_com($params);
-                    header('Location: '.$adresse_site.'/topic/view/'.$params."?com=".$id_com);
-             } else {
-                    header('Location: '.$adresse_site.'/topic/view/'.$params);
-             }
-         }
-
-
-     }
-
-
-     public function new($params)
-     {
-
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         require('./WEB/Views/topic/new_view.php');
-     }
-
-     public function delete($params)
-     {
-         $role_page = 3;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         $liste_topic = $categorie->list_topic($params);
-         require('./WEB/Views/topic/delete_view.php');
-     }
-
-     public function edit($params)
-     {
-         $role_page = 3;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         $liste_topic = $categorie->list_topic($params);
-         require('./WEB/Views/topic/edit_view.php');
-     }
-
-     public function new_topic($params)
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-         $topic = new topic();
-         $topic->set_db($db);
-
-
-
-        if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['name'],$_POST['new_com'])){
-            $name = (string) htmlspecialchars($_POST['name']);
-            $new_com = (string)addslashes($_POST['new_com']);
-
-            if(empty($new_com)){
-                $_SESSION['message'] = "Commentaire vide";
-
-                header('Location: '.$adresse_site.'/categorie/list/'.$params);
-                exit;
-            }
-
-
-
-            if($topic->new($name,$params) == true ){
-                $topicId = $topic->getTopicId($name);
-                if($topic->add_com($topicId,$new_com,$_SESSION['user_id']) == true){
-                   header('Location: '.$adresse_site.'/topic/view/'.$topicId);
-               }
-            } else {
-                   header('Location: '.$adresse_site.'/topic/new/'.$params);
-            }
-        }
-     }
-
-     public function delete_topic($params)
-     {
-         $role_page = 3;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-      $topic = new topic();
-      $topic->set_db($db);
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])){
-             $id = (string) htmlspecialchars($_POST['id']);
-
-
-             if($topic->delete_topic($id) == true){
-                 if($topic->delete_topic_msg($id) == true){
-                    header('Location: '.$adresse_site.'/categorie/list/'.$params);
-                }
-             } else {
-                    header('Location: '.$adresse_site.'/topic/delete'.$params);
-             }
-         }
-     }
-
-     public function edit_topic($params)
-     {
-         $role_page = 3;
-         require("./WEB/PUBLIC/script/check_role.php");
-         $topic = new topic();
-         $topic->set_db($db);
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'], $_POST['new_name'])){
-             $id = (string) htmlspecialchars($_POST['id']);
-             $new_name = (string) htmlspecialchars($_POST['new_name']);
-
-             if($topic->edit($id,$new_name) == true){
-                    header('Location: '.$adresse_site.'/categorie/list/'.$params);
-             } else {
-                    header('Location: '.$adresse_site.'/topic/edit/'.$params);
-             }
-         }
-     }
-
-    public function notation($params)
-    {
-        $role_page = 2;
-        require("./WEB/PUBLIC/script/check_role.php");
-
-        $topic = new topic();
-        $topic->set_db($db);
-
-        if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['note'])){
-            $note = (string) htmlspecialchars($_POST['note']);
-
-            if($topic->noter($note,$params,$_SESSION['user_id']) == true){
-                if($topic->maj_note_moyenne($params) == true){
-                   header('Location: '.$adresse_site.'/topic/view/'.$params);
-               }
-            } else {
-                   header('Location: '.$adresse_site.'/topic/view/'.$params);
-            }
-
-        }
-
-    }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Controllers/user_controller.php b/web/osthoffen-master/WEB/Controllers/user_controller.php
deleted file mode 100644
index d04079c..0000000
--- a/web/osthoffen-master/WEB/Controllers/user_controller.php
+++ /dev/null
@@ -1,455 +0,0 @@
-<?php
-
-
-class Controller_User
-{
-     public function infos()
-     {
-         $role_page = 2;
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-         require("./WEB/Models/user_model.php");
-
-         $user = new user("","");
-         $user->set_db($db);
-
-         $infos_user = $user->get_infos($_SESSION['user_id']);
-         $role_user = $user->get_role($_SESSION['user_id']);
-
-
-
-         require('./WEB/Views/user/infos_view.php') ;
-     }
-     public function adduser()
-     {
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-         require("./WEB/Models/user_model.php");
-
-
-         if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['user'],$_POST['psw'],$_POST['confirm_psw'],$_POST['mail'],$_POST['pseudo'],$_POST['avatar'])){
-
-             $username = (string) htmlspecialchars($_POST['user']);
-             $password = (string) htmlspecialchars($_POST['psw']);
-             $confirm_password = (string) htmlspecialchars($_POST['confirm_psw']);
-             $mail = (string) htmlspecialchars($_POST['mail']);
-             $pseudo = (string) htmlspecialchars($_POST['pseudo']);
-             $avatar = (string) htmlspecialchars($_POST['avatar']);
-
-             if(empty($pseudo)){
-                 $pseudo = $username;
-             }
-             if(empty($avatar)){
-                 $avatar = $adresse_racine."/WEB/PUBLIC/medias/avatars/avatar_user_-1.png";
-             }
-
-
-
-             if($password == $confirm_password){
-
-                 // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-                 // } catch(Exception $e){
-                 //     echo "erreur bdd";
-                 //     exit;
-                 // }
-                 $password = password_hash($password, PASSWORD_DEFAULT);
-
-                 $user = new user($username,$password);
-                 $user->set_db($db);
-
-
-                //$id_image = $user->traitement_image(); //désactivé sur OSR
-
-
-                if($user->already_exists($pseudo,$mail) == false){
-
-                    if($user->create($pseudo,$mail,$avatar) == true){
-                         header('Location: '.$adresse_site.'/user/login');
-                         $_SESSION['message'] = "";
-                         exit;
-                     } else {
-                         header('Location: '.$adresse_site.'/user/signup');
-                     }
-                 } else {
-                      header('Location: '.$adresse_site.'/user/signup');
-                 }
-
-
-             }  else {
-                 $_SESSION['message'] = "Les mots de passe ne correspondent pas !";
-                 header('Location: '.$adresse_site.'/user/signup');
-             }
-
-
-
-
-
-
-         }
-         else
-         {
-             header('Location: '.$adresse_site.'/user/signup');
-         }
-     }
-     public function signup()
-     {
-         $role_page = "all";
-         require("./WEB/PUBLIC/script/check_role.php");
-
-
-         require('./WEB/Views/user/signup_view.php') ;
-     }
-     public function delete()
-      {
-          $role_page = 2;
-          require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-
-           require('./WEB/Views/user/delete_view.php') ;
-      }
-
-      public function delete_confirm()
-       {
-           $role_page = 2;
-           require("./WEB/PUBLIC/script/check_role.php");
-
-
-           require("./WEB/Models/user_model.php");
-
-           if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['psw'])){
-
-           $password = (string) htmlspecialchars($_POST['psw']);
-
-           // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-           // } catch(Exception $e){
-           //     echo "erreur bdd";
-           //     exit;
-           // }
-
-           $user = new user($_SESSION['user_id'],$password);
-           $user->set_db($db);
-
-           if($user->delete() == true){
-                header('Location: '.$adresse_site.'/user/logout');
-           } else {
-               header('Location: '.$adresse_site.'/user/delete');
-           }
-
-           }
-
-       }
-      public function edit()
-      {
-          $role_page = 2;
-          require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-          require("./WEB/Models/user_model.php");
-
-
-          $user = new user("","");
-          $user->set_db($db);
-
-          $infos_user = $user->get_infos($_SESSION['user_id']);
-
-
-          require('./WEB/Views/user/edit_view.php') ;
-      }
-
-      public function save_edit(){
-
-          $role_page = 2;
-          require("./WEB/PUBLIC/script/check_role.php");
-
-
-          require("./WEB/Models/user_model.php");
-
-
-           if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['user'],$_POST['mail'],$_POST['pseudo'],$_POST['avatar'])){
-
-               $username = (string) htmlspecialchars($_POST['user']);
-               $mail = (string) htmlspecialchars($_POST['mail']);
-               $pseudo = (string) htmlspecialchars($_POST['pseudo']);
-               $avatar = (string) htmlspecialchars($_POST['avatar']);
-
-               if(empty($pseudo)){
-                   $pseudo = $username;
-               }
-               if(empty($avatar)){
-                   $avatar = NULL;
-               }
-
-               // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-               // } catch(Exception $e){
-               //     echo "erreur bdd";
-               //     exit;
-               // }
-
-               $user = new user($username,"");
-               $user->set_db($db);
-
-               if($user->already_exists($pseudo,$mail) == true){
-
-                  if($user->save_edit($pseudo,$mail,$avatar) == true){
-                       header('Location: '.$adresse_site.'/user/infos');
-                       exit;
-                   } else {
-                       header('Location: '.$adresse_site.'/user/edit');
-                   }
-               } else {
-                    header('Location: '.$adresse_site.'/user/edit');
-               }
-           }
-      }
-
-
-      public function login()
-      {
-          $role_page = "all";
-          require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-          require('./WEB/Views/user/login_view.php') ;
-      }
-      public function logout()
-       {
-           $role_page = 2;
-           require("./WEB/PUBLIC/script/check_role.php");
-           unset($_SESSION['user_id']);
-           unset($_SESSION['pseudo']);
-           unset($_SESSION['message']);
-           unset($_SESSION['droit']);
-           header('Location: '.$adresse_site);
-       }
-       public function role()
-       {
-           echo "je suis là";
-            require('./WEB/Views/accueil/accueil_view.php') ;
-       }
-
-       public function authentification()
-       {
-
-           $role_page = "all";
-           require("./WEB/PUBLIC/script/check_role.php");
-
-
-           require("./WEB/Models/user_model.php");
-
-           if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['user'],$_POST['psw'])){
-
-               $username = (string) htmlspecialchars($_POST['user']);
-               $password = (string) htmlspecialchars($_POST['psw']);
-
-               // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-               // } catch(Exception $e){
-               //     echo "erreur bdd - ".$e;
-               //     exit;
-               // }
-
-               $user = new user($username,$password);
-               $user->set_db($db);
-
-               if($user->exists() == true){
-                   header('Location: '.$adresse_site);
-               } else {
-                   header('Location: '.$adresse_site.'/user/login');
-               }
-
-
-           }
-           else
-           {
-               header('Location: '.$adresse_site.'/user/login');
-           }
-
-       }
-
-       public function edit_psw()
-       {
-           $role_page = 2;
-           require("./WEB/PUBLIC/script/check_role.php");
-
-           require("./WEB/Models/user_model.php");
-
-
-           $categorie = new categorie();
-           $categorie->set_db($db);
-
-           $user = new user("","");
-           $user->set_db($db);
-
-
-           require('./WEB/Views/user/edit_psw_view.php') ;
-       }
-
-       public function save_psw(){
-           $role_page = 2;
-           require("./WEB/PUBLIC/script/check_role.php");
-
-
-
-           require("./WEB/Models/user_model.php");
-
-
-            if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['old_psw'],$_POST['new_psw'],$_POST['confirm_psw'])){
-
-                $old_psw = (string) htmlspecialchars($_POST['old_psw']);
-                $new_psw = (string) htmlspecialchars($_POST['new_psw']);
-                $confirm_psw = (string) htmlspecialchars($_POST['confirm_psw']);
-
-
-                if($new_psw == $confirm_psw){
-
-                    // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-                    // } catch(Exception $e){
-                    //     echo "erreur bdd";
-                    //     exit;
-                    // }
-
-                    $user = new user($_SESSION['user_id'],$password);
-                    $user->set_db($db);
-
-                    if($user->save_psw($old_psw,$new_psw) == true){
-                        header('Location: '.$adresse_site.'/user/infos');
-                    } else {
-                        header('Location: '.$adresse_site.'/user/edit_psw');
-                    }
-
-                } else {
-                    $_SESSION['message'] = "Les mots de passe ne correspondent pas !";
-                    header('Location: '.$adresse_site.'/user/edit_psw');
-                }
-
-            }
-        }
-
-        public function manage(){
-            $role_page = 4;
-            require("./WEB/PUBLIC/script/check_role.php");
-
-
-            //require("./WEB/PUBLIC/overall/header.php");
-            //require("./WEB/Models/categorie_model.php");
-            require("./WEB/Models/user_model.php");
-            //require("./WEB/PUBLIC/bdd.php");
-            // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-            // } catch(Exception $e){
-            //     echo "erreur bdd";
-            //     exit;
-            // }
-            //
-            // $categorie = new categorie();
-            // $categorie->set_db($db);
-
-            $user = new user("","");
-            $user->set_db($db);
-
-            $liste_users = $user->list_user();
-
-            require('./WEB/Views/user/manage_view.php') ;
-        }
-
-        public function delete_member($user_id)
-         {
-             $role_page = 4;
-             require("./WEB/PUBLIC/script/check_role.php");
-
-             require('./WEB/Views/user/delete_member_view.php') ;
-         }
-
-         public function delete_member_confirm($user_id)
-          {
-              $role_page = 4;
-              require("./WEB/PUBLIC/script/check_role.php");
-
-
-              require("./WEB/Models/user_model.php");
-
-              if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['psw'])){
-
-              $password = (string) htmlspecialchars($_POST['psw']);
-
-              // try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-              // } catch(Exception $e){
-              //     echo "erreur bdd";
-              //     exit;
-              // }
-
-              $user = new user($_SESSION['user_id'],$password);
-              $user->set_db($db);
-              $id = $user->get_id($user_id);
-
-              if($user->delete_member($id) == true){
-
-                  if($id == $_SESSION['user_id']){
-                   header('Location: '.$adresse_site.'/user/logout');
-               } else {
-                   header('Location: '.$adresse_site.'/user/manage');
-               }
-              } else {
-                  header('Location: '.$adresse_site.'/user/delete_member/'.$user_id);
-              }
-
-              }
-
-          }
-
-          public function infos_member($member_id)
-          {
-              $role_page = 4;
-              require("./WEB/PUBLIC/script/check_role.php");
-
-
-              require("./WEB/Models/user_model.php");
-
-              $user = new user("","");
-              $user->set_db($db);
-
-              $infos_user = $user->get_infos($user->get_id($member_id));
-              $role_user = $user->get_role($user->get_id($member_id));
-
-              $liste_droits = $user->get_list_droit();
-
-              require('./WEB/Views/user/infos_member_view.php') ;
-          }
-
-
-          public function save_infos_member(){
-              $role_page = 4;
-              require("./WEB/PUBLIC/script/check_role.php");
-
-              if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['user_id'],$_POST['new_role'])){
-
-              $user_id = (string) htmlspecialchars($_POST['user_id']);
-              $new_role = (string) htmlspecialchars($_POST['new_role']);
-
-               require("./WEB/Models/user_model.php");
-               $user = new user("","");
-               $user->set_db($db);
-
-               if($user->already_exists($user->get_nom($user_id),"") == true){
-
-                  if($user->save_edit_member($user_id,$new_role) == true){
-                   header('Location: '.$adresse_site.'/user/infos_member/'.$user->get_nom($user_id));
-                       exit;
-                   } else {
-                       header('Location: '.$adresse_site.'/user/infos_member/'.$user->get_nom($user_id));
-                   }
-               } else {
-                    header('Location: '.$adresse_site.'/user/infos_member/'.$user->get_nom($user_id));
-               }
-
-           }
-
-
-          }
-
-}
-
- ?>
diff --git a/web/osthoffen-master/WEB/Models/categorie_model.php b/web/osthoffen-master/WEB/Models/categorie_model.php
deleted file mode 100644
index 7e38776..0000000
--- a/web/osthoffen-master/WEB/Models/categorie_model.php
+++ /dev/null
@@ -1,194 +0,0 @@
-<?php
-
-
-class Categorie extends Model_Base{
-
-
-    public function get_nbr_topic($cat){
-        $bdd_cat = self::$_db->prepare("SELECT COUNT(t.ID) AS nbr FROM PW2_categorie c jOIN PW2_topic t ON t.ID_Categorie = c.ID WHERE c.Intitule = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nbr = $bdd_cat->fetch();
-        return $nbr['nbr'];
-    }
-
-    public function get_nbr_commentaire($cat){
-        $bdd_cat = self::$_db->prepare("SELECT COUNT(t.ID) AS nbr FROM PW2_topic t jOIN PW2_commentaire c ON t.ID = c.ID_Topic WHERE c.Intitule = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nbr = $bdd_cat->fetch();
-        return $nbr['nbr'];
-    }
-
-
-    public function list_categorie(){
-
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_categorie");
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-        if($nbr['nbr'] == 0)
-        {
-            return false;
-        }
-        else
-        {
-            $bdd_cat = self::$_db->prepare("SELECT Intitule, ID FROM PW2_categorie ");
-            $bdd_cat->execute();
-            return $bdd_cat;
-        }
-    }
-
-    public function list_topic($cat){
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_topic WHERE ID_Categorie = :c ");
-        $bdd_cat1->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-
-        if($nbr['nbr'] == 0)
-        {
-            return false;
-        }
-        else
-        {
-            $bdd_cat = self::$_db->prepare("SELECT Intitule, Note_Moyenne, ID FROM PW2_topic WHERE ID_Categorie = :c ORDER BY Derniere_Modif DESC");
-            $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-            $bdd_cat->execute();
-            return $bdd_cat;
-        }
-    }
-
-    public function get_nom($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Intitule FROM PW2_categorie WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Intitule'];
-    }
-
-    public function get_id($cat){
-        $bdd_cat = self::$_db->prepare("SELECT ID FROM PW2_categorie WHERE Intitule = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $id = $bdd_cat->fetch();
-        return $id['ID'];
-    }
-
-    public function get_auteur($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Pseudo FROM PW2_utilisateurs u join PW2_topic t ON t.ID_Creator = u.ID WHERE t.ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $id = $bdd_cat->fetch();
-        return $id['Pseudo'];
-    }
-
-    public function new($name){
-
-                $bdd_psw = self::$_db->prepare("INSERT INTO PW2_categorie (Intitule, ID_Creator) VALUES(:n , :i)");
-                $bdd_psw->bindValue(':n',$name, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':i',$_SESSION['user_id'], PDO::PARAM_STR);
-
-
-                if($bdd_psw->execute()){
-                    $_SESSION['message'] = "";
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-                    return false;
-                }
-
-    }
-
-    public function edit($id,$name){
-
-                $bdd_psw = self::$_db->prepare("UPDATE PW2_categorie SET Intitule = :n WHERE ID = :i");
-                $bdd_psw->bindValue(':n',$name, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':i',$id, PDO::PARAM_STR);
-
-
-                if($bdd_psw->execute()){
-                    $_SESSION['message'] = "";
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Erreur rencontrée lors de la modification :'(";
-                    return false;
-                }
-
-    }
-
-    public function delete($id){
-
-                $bdd_psw = self::$_db->prepare("DELETE FROM PW2_categorie WHERE ID = :i");
-                $bdd_psw->bindValue(':i',$id, PDO::PARAM_STR);
-
-
-                if($bdd_psw->execute()){
-                    $_SESSION['message'] = "";
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Erreur rencontrée lors de la suppression :'(";
-                    return false;
-                }
-
-    }
-
-    public function get_avatar(){
-        $bdd_cat = self::$_db->prepare("SELECT Avatar FROM PW2_utilisateurs  WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$_SESSION['user_id'], PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-
-        if($nom['Avatar'] == NULL){
-            return false;
-        } else {
-            return $nom['Avatar'];
-        }
-    }
-
-    public function get_last_com(){
-        $bdd_cat = self::$_db->prepare("SELECT * FROM PW2_commentaire ORDER BY Date DESC LIMIT 5");
-        $bdd_cat->execute();
-        return  $bdd_cat;
-
-    }
-
-    public function last_com($topic){
-        $bdd_cat = self::$_db->prepare("SELECT * FROM PW2_commentaire WHERE ID_Topic = :t ORDER BY Date DESC LIMIT 1");
-        $bdd_cat->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $bdd_cat1 = $bdd_cat->fetch();
-        return $bdd_cat1;
-
-    }
-
-    public function last_cat_com($cat){
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_commentaire c Join PW2_topic t ON t.ID = c.ID_Topic WHERE t.ID_Categorie = :t ORDER BY c.Date DESC LIMIT 1");
-        $bdd_cat1->bindValue(':t',$cat, PDO::PARAM_STR);
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-
-        if($nbr['nbr'] == 0)
-        {
-            return false;
-        }
-        else
-        {
-
-
-        $bdd_cat = self::$_db->prepare("SELECT c.ID_Topic, c.Date, c.ID FROM PW2_commentaire c Join PW2_topic t ON t.ID = c.ID_Topic WHERE t.ID_Categorie = :t ORDER BY c.Date DESC LIMIT 1");
-        $bdd_cat->bindValue(':t',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $bdd_cat2 = $bdd_cat->fetch();
-        return $bdd_cat2;
-        }
-
-    }
-
-
-}
-
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/Models/commentaire_model.php b/web/osthoffen-master/WEB/Models/commentaire_model.php
deleted file mode 100644
index 669d04e..0000000
--- a/web/osthoffen-master/WEB/Models/commentaire_model.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-
-class Commentaire extends Model_Base{
-
-
-
-
-
-    public function is_author($com){
-        $bdd_cat = self::$_db->prepare("SELECT u.ID FROM PW2_commentaire t JOIN PW2_utilisateurs u ON t.Id_User = u.ID WHERE t.ID = :c");
-        $bdd_cat->bindValue(':c',$com, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-
-        if($nom['ID'] == $_SESSION['user_id']){
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    public function delete($com){
-        $bdd_cat = self::$_db->prepare("DELETE FROM PW2_commentaire WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$com, PDO::PARAM_STR);
-
-        if($bdd_cat->execute()){
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    public function get_infos($com){
-        $bdd_cat = self::$_db->prepare("SELECT * FROM PW2_commentaire WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$com, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $tmp = $bdd_cat->fetch();
-        return $tmp;
-    }
-
-    public function get_note($user,$com){
-        $bdd_cat = self::$_db->prepare("SELECT Note FROM PW2_commentaire_note WHERE ID_User = :u AND ID_Commentaire = :c");
-        $bdd_cat->bindValue(':u',$user, PDO::PARAM_STR);
-        $bdd_cat->bindValue(':c',$com, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $tmp = $bdd_cat->fetch();
-        return $tmp['Note'];
-    }
-
-    public function noter($note, $com, $user){
-
-        if($this->note_already_exists($com,$user)==true){
-            $bdd_psw = self::$_db->prepare("UPDATE PW2_commentaire_note SET Note = :n WHERE ID_User = :u AND ID_Commentaire = :t");
-            $bdd_psw->bindValue(':n',$note, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':t',$com, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-        } else {
-            $bdd_psw = self::$_db->prepare("INSERT INTO PW2_commentaire_note (Note, ID_User, ID_Commentaire) VALUES (:n, :u, :t)");
-            $bdd_psw->bindValue(':n',$note, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':t',$com, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-        }
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-            return false;
-        }
-    }
-
-    public function note_already_exists($com,$user)
-    {
-        $bdd_psw = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_commentaire_note WHERE ID_User = :u AND ID_Commentaire = :t");
-        $bdd_psw->bindValue(':t',$com, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-
-        if($bdd_psw->execute()){
-            $nbr = $bdd_psw->fetch();
-
-            if($nbr['nbr'] == 0)
-            {
-                $_SESSION['message'] = "";
-                return false;
-
-            }
-            else
-            {
-                $_SESSION['message'] = "";
-                return true;
-            }
-
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée";
-            return false;
-        }
-    }
-
-    public function maj_note_com($com)
-    {
-
-        $somme = 0;
-
-        $bdd_psw = self::$_db->prepare("SELECT Note FROM PW2_commentaire_note WHERE ID_Commentaire = :t");
-        $bdd_psw->bindValue(':t',$com, PDO::PARAM_STR);
-        $bdd_psw->execute();
-
-        while($note = $bdd_psw->fetch()){
-            $somme = $somme + $note['Note'];
-        }
-        $bdd_psw->closeCursor();
-
-
-
-        $bdd_psw = self::$_db->prepare("UPDATE PW2_commentaire SET Note = :n WHERE ID = :t");
-        $bdd_psw->bindValue(':t',$com, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':n',$somme, PDO::PARAM_STR);
-        if($bdd_psw->execute()){
-            return true;
-        } else {
-            return false;
-        }
-
-
-
-
-
-    }
-
-
-}
-
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/Models/model_base.php b/web/osthoffen-master/WEB/Models/model_base.php
deleted file mode 100644
index a8b1862..0000000
--- a/web/osthoffen-master/WEB/Models/model_base.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-class Model_Base
-{
-protected static $_db;
-public static function set_db(PDO $db) {
-self::$_db = $db;
-}
-}
diff --git a/web/osthoffen-master/WEB/Models/topic_model.php b/web/osthoffen-master/WEB/Models/topic_model.php
deleted file mode 100644
index 51a6cb9..0000000
--- a/web/osthoffen-master/WEB/Models/topic_model.php
+++ /dev/null
@@ -1,311 +0,0 @@
-<?php
-
-
-class Topic extends Model_Base{
-
-
-
-    public function list_com($id_cat){
-
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_commentaire WHERE ID_Topic = :i ORDER BY Date");
-        $bdd_cat1->bindValue(':i',$id_cat, PDO::PARAM_STR);
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-        if($nbr['nbr'] == 0)
-        {
-            return false;
-        }
-        else
-        {
-            $bdd_cat = self::$_db->prepare("SELECT Intitule, Note, Date, ID, ID_User FROM PW2_commentaire WHERE ID_Topic = :i");
-            $bdd_cat->bindValue(':i',$id_cat, PDO::PARAM_STR);
-            $bdd_cat->execute();
-            return $bdd_cat;
-        }
-    }
-
-
-
-    public function get_nom($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Intitule FROM PW2_topic WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Intitule'];
-    }
-
-    public function get_auteur($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Pseudo FROM PW2_commentaire t JOIN PW2_utilisateurs u ON t.Id_User = u.ID WHERE t.ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Pseudo'];
-    }
-
-    public function get_avatar($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Avatar FROM PW2_commentaire t JOIN PW2_utilisateurs u ON t.Id_User = u.ID WHERE t.ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-
-        if($nom['Avatar'] == NULL){
-            return false;
-        } else {
-            return $nom['Avatar'];
-        }
-    }
-
-    public function get_role($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Signification FROM PW2_droit d JOIN PW2_utilisateurs u ON d.ID = u.ID_Droit JOIN PW2_commentaire t ON t.Id_User = u.ID WHERE t.ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Signification'];
-    }
-
-    public function add_com($topic,$msg,$id_user){
-
-        $bdd_psw = self::$_db->prepare("INSERT INTO PW2_commentaire (Intitule, Note, Date, ID_User, ID_Topic) VALUES(:i , 0, :d, :u, :t)");
-        $bdd_psw->bindValue(':i',$msg, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':d',time(), PDO::PARAM_STR);
-        $bdd_psw->bindValue(':u',$id_user, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-
-
-        $bdd_psw1 = self::$_db->prepare("UPDATE PW2_topic SET Derniere_Modif = :d WHERE ID = :i");
-        $bdd_psw1->bindValue(':i',$topic, PDO::PARAM_STR);
-        $bdd_psw1->bindValue(':d',time(), PDO::PARAM_STR);
-
-        if($bdd_psw->execute()){
-            if($bdd_psw1->execute()){
-                $_SESSION['message'] = "";
-                return true;
-            }
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-            return false;
-        }
-
-    }
-
-    public function edit_com($com,$msg){
-
-        $bdd_psw = self::$_db->prepare("UPDATE PW2_commentaire SET Intitule = :i WHERE ID = :c");
-        $bdd_psw->bindValue(':i',$msg, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':c',$com, PDO::PARAM_STR);
-
-
-        $bdd_psw1 = self::$_db->prepare("UPDATE PW2_topic SET Derniere_Modif = :d WHERE ID = :i");
-        $bdd_psw1->bindValue(':i',$topic, PDO::PARAM_STR);
-        $bdd_psw1->bindValue(':d',time(), PDO::PARAM_STR);
-
-        if($bdd_psw->execute()){
-            if($bdd_psw1->execute()){
-                $_SESSION['message'] = "";
-                return true;
-            }
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-            return false;
-        }
-
-    }
-
-    public function last_com($topic){
-        $bdd_psw = self::$_db->prepare("SELECT ID FROM PW2_commentaire WHERE ID_Topic = :t ORDER BY ID DESC LIMIT 1 ");
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_psw->execute();
-        $nom = $bdd_psw->fetch();
-        return $nom['ID'];
-
-    }
-
-    public function get_categorie($cat){
-        $bdd_cat = self::$_db->prepare("SELECT t.Intitule FROM PW2_topic t JOIN PW2_commentaire c ON c.ID_Topic = t.ID WHERE c.ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Intitule'];
-    }
-
-
-    public function new($name, $cat){
-        $bdd_psw = self::$_db->prepare("INSERT INTO PW2_topic (Intitule, Note_Moyenne, Derniere_Modif, ID_Creator, ID_Categorie) VALUES(:i , -1, :m, :u, :c)");
-        $bdd_psw->bindValue(':i',$name, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':m',time(), PDO::PARAM_STR);
-        $bdd_psw->bindValue(':u',$_SESSION['user_id'], PDO::PARAM_STR);
-        $bdd_psw->bindValue(':c',$cat, PDO::PARAM_STR);
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-            return false;
-        }
-
-    }
-    public function getTopicId($name){
-        $bdd_cat = self::$_db->prepare("SELECT ID FROM PW2_topic WHERE Intitule = :i");
-        $bdd_cat->bindValue(':i',$name, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['ID'];
-    }
-
-    public function delete_topic($id){
-        $bdd_psw = self::$_db->prepare("DELETE FROM  PW2_topic WHERE ID = :i");
-        $bdd_psw->bindValue(':i',$id, PDO::PARAM_STR);
-
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de la suppression :'(";
-            return false;
-        }
-
-    }
-
-    public function delete_topic_msg($id){
-        $bdd_psw = self::$_db->prepare("DELETE FROM  PW2_commentaire WHERE ID_Topic = :i");
-        $bdd_psw->bindValue(':i',$id, PDO::PARAM_STR);
-
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de la suppression :'(";
-            return false;
-        }
-
-    }
-
-    public function get_note($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Note FROM PW2_topic_note WHERE ID_User = :u AND ID_Topic = :t");
-        $bdd_cat->bindValue(':u',$_SESSION['user_id'], PDO::PARAM_STR);
-        $bdd_cat->bindValue(':t',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Note'];
-    }
-
-    public function noter($note, $topic, $user){
-
-        if($this->note_already_exists($topic,$user)==true){
-            $bdd_psw = self::$_db->prepare("UPDATE PW2_topic_note SET Note = :n WHERE ID_User = :u AND ID_Topic = :t");
-            $bdd_psw->bindValue(':n',$note, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-        } else {
-            $bdd_psw = self::$_db->prepare("INSERT INTO PW2_topic_note (Note, ID_User, ID_Topic) VALUES (:n, :u, :t)");
-            $bdd_psw->bindValue(':n',$note, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-            $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-        }
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'ajout' :'(";
-            return false;
-        }
-    }
-
-    public function note_already_exists($topic,$user)
-    {
-        $bdd_psw = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_topic_note WHERE ID_User = :u AND ID_Topic = :t");
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':u',$user, PDO::PARAM_STR);
-
-        if($bdd_psw->execute()){
-            $nbr = $bdd_psw->fetch();
-
-            if($nbr['nbr'] == 0)
-            {
-                $_SESSION['message'] = "";
-                return false;
-
-            }
-            else
-            {
-                $_SESSION['message'] = "";
-                return true;
-            }
-
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée";
-            return false;
-        }
-    }
-
-    public function maj_note_moyenne($topic)
-    {
-        $bdd_psw = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_topic_note WHERE ID_Topic = :t");
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_psw->execute();
-        $tmp = $bdd_psw->fetch();
-        $nbr_vote = $tmp['nbr'];
-        $bdd_psw->closeCursor();
-
-
-        $moyenne = 0;
-        if($nbr_vote != 0){
-
-
-        $bdd_psw = self::$_db->prepare("SELECT Note FROM PW2_topic_note WHERE ID_Topic = :t");
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_psw->execute();
-
-        while($note = $bdd_psw->fetch()){
-            $moyenne = $moyenne + $note['Note'];
-        }
-        $bdd_psw->closeCursor();
-        $moyenne = $moyenne/$nbr_vote;
-        echo $moyenne;
-        }
-
-        $bdd_psw = self::$_db->prepare("UPDATE PW2_topic SET Note_Moyenne = :n WHERE ID = :t");
-        $bdd_psw->bindValue(':t',$topic, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':n',$moyenne, PDO::PARAM_STR);
-        if($bdd_psw->execute()){
-            return true;
-        } else {
-            return false;
-        }
-
-
-
-
-
-    }
-
-    public function edit($id,$new_name){
-        $bdd_psw = self::$_db->prepare("UPDATE PW2_topic SET Intitule = :n WHERE ID = :i");
-        $bdd_psw->bindValue(':n',$new_name, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':i',$id, PDO::PARAM_STR);
-
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de la modification :'(";
-            return false;
-        }
-    }
-
-
-}
-
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/Models/user_model.php b/web/osthoffen-master/WEB/Models/user_model.php
deleted file mode 100644
index e95a9fc..0000000
--- a/web/osthoffen-master/WEB/Models/user_model.php
+++ /dev/null
@@ -1,456 +0,0 @@
-<?php
-
-
-class User extends Model_Base{
-
-
-    private $_login;
-    private $_password;
-
-
-
-    public function __construct($login,$psw){
-        $this->setLogin($login);
-        $this->setPassword($psw);
-    }
-
-    public function setLogin($login){
-        $this->_login = $login;
-    }
-
-    public function setPassword($psw){
-        $this->_password = $psw;
-    }
-
-    public function getLogin(){
-        return $this->_login;
-    }
-
-    public function getPassword(){
-        return $this->_password;
-    }
-
-
-
-    public function exists(){
-
-        $bdd_psw = self::$_db->prepare("SELECT Password, Pseudo, ID, ID_Droit FROM PW2_utilisateurs WHERE Login = :u");
-        $bdd_psw->bindValue(':u',$this->getLogin(), PDO::PARAM_STR);
-        $bdd_psw->execute();
-
-
-        $mdp = $bdd_psw->fetch();
-
-
-        if($mdp != FALSE){
-
-
-            if(password_verify($this->getPassword(),$mdp['Password'])){
-
-                $_SESSION['droit'] = $mdp['ID_Droit'];
-                $_SESSION['user_id'] = $mdp['ID'];
-                $_SESSION['userame'] = "zbeub";
-                $_SESSION['pseudo'] = $mdp['Pseudo'];
-                $_SESSION['message'] = "";
-
-                return true;
-            } else {
-                $_SESSION['message'] = "Mot de passe incorect";
-                return false;
-            }
-        } else {
-            $_SESSION['message'] = "Votre identifiant n'existe pas";
-            return false;
-        }
-
-
-
-    }
-
-    public function create($pseudo, $mail, $image){
-
-
-        $bdd_psw = self::$_db->prepare("INSERT INTO PW2_utilisateurs (Login, Password, Pseudo, Mail, ID_Droit, Avatar) VALUES(:u , :p, :n, :m, 2, :i)");
-        $bdd_psw->bindValue(':u',$this->getLogin(), PDO::PARAM_STR);
-        $bdd_psw->bindValue(':p',$this->getPassword(), PDO::PARAM_STR);
-        $bdd_psw->bindValue(':n',$pseudo, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':m',$mail, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':i',$image, PDO::PARAM_STR);
-
-
-        session_start();
-
-        if($bdd_psw->execute()){
-            $_SESSION['message'] = "";
-            return true;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'inscription :'(";
-            return false;
-        }
-
-    }
-
-    public function already_exists($pseudo, $mail){
-
-        $bdd_psw = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_utilisateurs WHERE Login = :u OR Pseudo = :p OR Mail = :m");
-        $bdd_psw->bindValue(':u',$this->getLogin(), PDO::PARAM_STR);
-        $bdd_psw->bindValue(':p',$pseudo, PDO::PARAM_STR);
-        $bdd_psw->bindValue(':m',$mail, PDO::PARAM_STR);
-
-        if($bdd_psw->execute()){
-            $nbr = $bdd_psw->fetch();
-
-            if($nbr['nbr'] == 0)
-            {
-                $_SESSION['message'] = "";
-                return false;
-
-            }
-            else
-            {
-                $_SESSION['message'] = "Ce compte existe déjà";
-                return true;
-            }
-
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'inscription 2";
-            return false;
-        }
-
-    }
-
-    public function get_infos($user_id){
-        $bdd_psw = self::$_db->prepare("SELECT * FROM PW2_utilisateurs WHERE ID = :i");
-        $bdd_psw->bindValue(':i',$user_id, PDO::PARAM_STR);
-        if($bdd_psw->execute()){
-            $infos = $bdd_psw->fetch();
-            $_SESSION['message'] = "";
-            return $infos;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'inscription 2";
-            return false;
-        }
-    }
-
-    public function get_list_droit(){
-        $bdd_psw = self::$_db->prepare("SELECT * FROM PW2_droit");
-        $bdd_psw->execute();
-        return $bdd_psw;
-    }
-
-    public function get_role($user_id){
-        $bdd_psw = self::$_db->prepare("SELECT * FROM PW2_utilisateurs u join PW2_droit d ON u.Id_Droit = d.ID WHERE u.ID = :i");
-        $bdd_psw->bindValue(':i',$user_id, PDO::PARAM_STR);
-        if($bdd_psw->execute()){
-            $infos = $bdd_psw->fetch();
-             $_SESSION['message'] = "";
-            return $infos;
-        } else {
-            $_SESSION['message'] = "Erreur rencontrée lors de l'inscription 2";
-            return false;
-        }
-    }
-
-    public function save_psw($old_psw,$new_psw){
-
-        $bdd_psw = self::$_db->prepare("SELECT Password FROM PW2_utilisateurs WHERE ID = :i");
-        $bdd_psw->bindValue(':i',$this->getLogin(), PDO::PARAM_STR);
-        $bdd_psw->execute();
-
-        $mdp = $bdd_psw->fetch();
-        if($mdp != FALSE){
-
-
-            if(password_verify($old_psw,$mdp['Password'])){
-
-                $new_psw = password_hash($new_psw, PASSWORD_DEFAULT);
-
-                $bdd_psw = self::$_db->prepare("UPDATE PW2_utilisateurs SET Password = :p WHERE ID = :i");
-                $bdd_psw->bindValue(':p',$new_psw, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':i',$_SESSION['user_id'], PDO::PARAM_INT);
-
-
-                if($bdd_psw->execute()){
-                    $_SESSION['message'] = "";
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Erreur rencontrée lors de la modification :'(";
-                    return false;
-                }
-
-            } else {
-                $_SESSION['message'] = "Mot de passe incorect";
-                return false;
-            }
-
-        } else {
-            $_SESSION['message'] = "Votre identifiant n'existe pas";
-            return false;
-        }
-
-
-    }
-
-
-
-    public function save_edit($pseudo,$mail,$avatar){
-
-
-                $bdd_psw = self::$_db->prepare("UPDATE PW2_utilisateurs SET Login = :l, Mail = :m, Pseudo = :p, Avatar = :a WHERE ID = :i");
-                $bdd_psw->bindValue(':l',$this->getLogin(), PDO::PARAM_STR);
-                $bdd_psw->bindValue(':m',$mail, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':p',$pseudo, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':a',$avatar, PDO::PARAM_STR);
-                $bdd_psw->bindValue(':i',$_SESSION['user_id'], PDO::PARAM_INT);
-
-
-                if($bdd_psw->execute()){
-                    $_SESSION['message'] = "";
-                    $_SESSION['pseudo'] = $pseudo;
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Erreur rencontrée lors de la modification :'(";
-                    return false;
-                }
-
-
-
-    }
-
-    public function save_edit_member($user_id,$new_role)
-    {
-
-            if($this->nbr_of_admin() < 2 && $user_id == $_SESSION['user_id']){
-
-                $_SESSION['message'] = "Il doit rester au moins un administrateur";
-                return false;
-
-
-        } else {
-
-                        $bdd_psw = self::$_db->prepare("UPDATE PW2_utilisateurs SET ID_Droit = :l WHERE ID = :i");
-                        $bdd_psw->bindValue(':l',$new_role, PDO::PARAM_STR);
-                        $bdd_psw->bindValue(':i',$user_id, PDO::PARAM_INT);
-
-
-                        if($bdd_psw->execute()){
-                            $_SESSION['message'] = "";
-                            if($_SESSION['user_id'] == $user_id){
-                                $_SESSION['droit'] = $new_role;
-                            }
-                            $_SESSION['message'] = "ok";
-                            return true;
-                        } else {
-                            $_SESSION['message'] = "Erreur rencontrée lors de la modification :'(";
-                            return false;
-                        }
-        }
-
-
-    }
-
-    public function delete(){
-
-
-
-        if($this->nbr_of_admin() >= 2 || $_SESSION['droit'] != 4){
-
-        $bdd_psw = self::$_db->prepare("SELECT Password FROM  PW2_utilisateurs WHERE ID = :i");
-        $bdd_psw->bindValue(':i',$this->getLogin(), PDO::PARAM_STR);
-        $bdd_psw->execute();
-
-        $mdp = $bdd_psw->fetch();
-        if($mdp != FALSE){
-
-
-            if(password_verify($this->getPassword(),$mdp['Password'])){
-                $bdd_psw1 = self::$_db->prepare("DELETE FROM  PW2_utilisateurs WHERE ID = :i");
-                $bdd_psw1->bindValue(':i',$this->getLogin(), PDO::PARAM_STR);
-
-
-                if($bdd_psw1->execute()){
-                    return true;
-                } else {
-                    $_SESSION['message'] = "Une erreur est survenue";
-                    return false;
-                }
-
-            } else {
-                $_SESSION['message'] = "Mauvais mot de passe";
-                return false;
-                }
-            } else {
-                $_SESSION['message'] = "Votre identifiant n'existe pas";
-                return false;
-            }
-
-        } else {
-            $_SESSION['message'] = "Il doit rester au moins un administrateur";
-            return false;
-        }
-
-    }
-
-    public function delete_member($member_id){
-
-        $droit = $this->get_role($member_id);
-
-        if($this->nbr_of_admin() >= 2 || $droit['ID_Droit'] != 4){
-
-            echo $droit['ID_Droit'];
-            echo $this->nbr_of_admin();
-
-            $bdd_psw = self::$_db->prepare("SELECT Password FROM  PW2_utilisateurs WHERE ID = :i");
-            $bdd_psw->bindValue(':i',$this->getLogin(), PDO::PARAM_STR);
-            $bdd_psw->execute();
-
-            $mdp = $bdd_psw->fetch();
-            if($mdp != FALSE){
-
-
-                if(password_verify($this->getPassword(),$mdp['Password'])){
-                    $bdd_psw1 = self::$_db->prepare("DELETE FROM  PW2_utilisateurs WHERE ID = :i");
-                    $bdd_psw1->bindValue(':i',$member_id, PDO::PARAM_STR);
-
-
-                    if($bdd_psw1->execute()){
-
-                        return true;
-                    } else {
-                        $_SESSION['message'] = "Une erreur est survenue";
-                        return false;
-                    }
-
-                } else {
-                    $_SESSION['message'] = "Mauvais mot de passe";
-                    return false;
-                }
-            } else {
-                $_SESSION['message'] = "Votre identifiant n'existe pas";
-                return false;
-            }
-
-        } else {
-            $_SESSION['message'] = "Il doit rester au moins un administrateur";
-            return false;
-        }
-
-    }
-
-    public function list_user(){
-
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_utilisateurs");
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-        if($nbr['nbr'] == 0)
-        {
-            return false;
-        }
-        else
-        {
-            $bdd_cat = self::$_db->prepare("SELECT ID, Login, Pseudo, Mail FROM PW2_utilisateurs");
-            $bdd_cat->execute();
-            return $bdd_cat;
-        }
-    }
-
-    public function nbr_comm_by_user($id){
-
-        $bdd_cat1 = self::$_db->prepare("SELECT COUNT(*) AS nbr FROM PW2_commentaire WHERE ID_User = :i");
-        $bdd_cat1->bindValue(':i',$id, PDO::PARAM_STR);
-        $bdd_cat1->execute();
-        $nbr = $bdd_cat1->fetch();
-
-        return $nbr['nbr'];
-
-
-    }
-
-    public function get_nom($cat){
-        $bdd_cat = self::$_db->prepare("SELECT Pseudo FROM PW2_utilisateurs WHERE ID = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['Pseudo'];
-    }
-
-    public function get_id($cat){
-        $bdd_cat = self::$_db->prepare("SELECT ID FROM PW2_utilisateurs WHERE Pseudo = :c OR Login = :c");
-        $bdd_cat->bindValue(':c',$cat, PDO::PARAM_STR);
-        $bdd_cat->execute();
-        $id = $bdd_cat->fetch();
-        return $id['ID'];
-    }
-
-    public function nbr_of_admin(){
-        $bdd_cat = self::$_db->prepare("SELECT COUNT(*) AS admin_nbr FROM PW2_utilisateurs WHERE ID_Droit = 4");
-        $bdd_cat->execute();
-        $nom = $bdd_cat->fetch();
-        return $nom['admin_nbr'];
-    }
-
-
-    /*public function traitement_image(){  //désactivé sur OSR
-
-             $image_max_size = 1000000; //1 Mo
-             $image_max_width = 1000;
-             $image_max_height = 1000;
-             $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
-             echo $_FILES['image']['name'] ;
-             echo "ici";
-
-             if(!empty($_FILES['image']['name'])){
-                 echo "ici2";
-                 $bdd_id = self::$_db->prepare("SELECT MAX(ID_Image) AS max_id FROM PW2_utilisateurs");
-                 $bdd_id->execute();
-                 $max_id = $bdd_id->fetch();
-
-                 $max_id = $max_id['max_id']+1;
-                 $image_ok = 1;
-
-                 if($_FILES['image']['error'] == 2){
-                     $_SESSION['message'] = "Le fichier est trop gros ! Taille Maximale : 1Mo";
-                     $image_ok = 0;
-                 }
-
-                 //taille physique
-                 if ($_FILES['image']['size'] > $image_max_size) {
-                      $_SESSION['message'] = "Le fichier est trop gros ! Taille Maximale : 1Mo";
-                      $image_ok = 0;
-                 }
-
-                 //format du fichier
-                 $extension_upload = strtolower(  substr(  strrchr($_FILES['image']['name'], '.')  ,1)  );
-                 if (!in_array($extension_upload,$extensions_valides) ){
-                     $_SESSION['message'] = "Extension incorrecte : Les extensions autorisées sont 'jpg' , 'jpeg' , 'gif' , 'png'";
-                     $image_ok = 0;
-                 }
-
-                 //dimension de l'image
-                 $image_sizes = getimagesize($_FILES['image']['tmp_name']);
-                 if ($image_sizes[0] > $image_max_width OR $image_sizes[1] > $image_max_height){
-                     $_SESSION['message'] = "Image trop grande : Dimensions maximales ".$image_max_width."x".$image_max_height."px";
-                     $image_ok = 0;
-                 }
-
-                 if($image_ok == 1){
-                     $nom = $adresse_racine."/WEB/PUBLIC/medias/avatars/avatar_user_".$id.".".$extension_upload;
-                     echo $nom;
-                     $resultat = move_uploaded_file($_FILES['image']['tmp_name'],$nom);
-                     if (!$resultat){
-                         $_SESSION['message'] =  "déplacement fichier echoué";
-                         $image_ok = 0;
-                     }
-                 }
-
-             } else {
-                 return -1;
-             }
-    }*/
-
-}
-
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/PUBLIC/bdd.php b/web/osthoffen-master/WEB/PUBLIC/bdd.php
deleted file mode 100644
index 5a548d9..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/bdd.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-//constantes et variables
-
-define('SQL_DSN', 'mysql:host=osr-mysql.unistra.fr;dbname=*****');
-define('SQL_USERNAME', '*****');
-define('SQL_PASSWORD', '*****');
-
-
-?>
diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/avatars/avatar_user_-1.png b/web/osthoffen-master/WEB/PUBLIC/medias/avatars/avatar_user_-1.png
deleted file mode 100644
index aa509fc50df4da7776dedcfd632563b264676f91..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 233666
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%0A?x~3-F)rVO#?jCO6oxQ|CIPMv%ht@p5CO6J
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

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/favicon.ico b/web/osthoffen-master/WEB/PUBLIC/medias/favicon.ico
deleted file mode 100644
index 3fa333c5039052135c06d94ddbdb3ca36881d14c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1150
zcmchSOAde_5JPL?0a&?q>CwFZ1+Wv-#7v4}{EUIZqf-zV_>}_AGu9E904y9tBs-_r
zsy`Gjt})K4buKQAjN@9F!R`$8NnNJSvO2G0xleoNbxi)Oz25Nkdh;Ezf71I#zkAaa
dbN}pEE5~^q`>MZ{+r#xvY4m6<%{k<cY6GyPZTtWL

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-left.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-left.png
deleted file mode 100644
index 753f428b11b328e6c3fd33a03f994f6301f4f1f1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 303
zcmeAS@N?(olHy`uVBq!ia0vp^3P3Ev!3HGXOtkk0Qk(@Ik;M!Q+(IDCc<FB4AE4kv
zPZ!4!kItjhF7h@R2sp?e(-%@!wqP_ZWc-%EX?9WY&jRKhjD<{+2V_kI_xYUTpRgcg
zf=j>muZvG6eZLe}-QHoarOSk;%fx5jN!i_LJT95O3@Hb;ZAmkqVsBQ(8dbm?)3|q5
z1GC)E!nz>A3r*InCJ$v9bANOn5c%Mipk>hzz9dn)j=ku?GDh|p%#0hd-kL`hF!;M@
ztc_%LPhgzW$g(u}gA2<8&54ZOtFk-(SnU53y`Yk{^rCBsYevHwJwMsTl`2;D3%9jw
x7SHgidD9jpwD)s^vs1Z3<z$P1zx?*S?3dh6u<e}U&k6J_gQu&X%Q~loCIDm8Y;gbp

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-right.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/arrow-right.png
deleted file mode 100644
index 4adb616e7e8279dc1f50bae53e122237f4a9e497..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 280
zcmeAS@N?(olHy`uVBq!ia0vp^3P3Ev!3HGXOtkk0Qk(@Ik;M!Q+(IDCc<FB4AE4kV
zPZ!4!kIuc9_wqIy2sk`+cWKp-Pz<W7Zkb>i(d2uGLo=Zv=K#kB$1n%MEz1tLuKF>d
z#_r_YrQc85TRiXBd+pwq?0l`0_qZpfOXslLG!{zdh~AQyW!Tfex<SaL#Npx@;Q((z
zDfI%bg-jOB0n8qPs~9+)WCfg3vh$CLaM&+pe{z85ie-U6$B((%0Z$Jo2X0`odcaoG
zxGUqC|Fb#4`oDk6S@zX`{KzR}bEv+s)Inn%*MuWi87}SMdf*eodf?+#mqJ|!?meo7
a4YCRWhZg7l_t*&Z6@#a%pUXO@geCxlUuJax

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/bas.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/bas.png
deleted file mode 100644
index e7b4c5c67e0e45ef772c261e7ae83ccb8b23d8d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7682
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

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/bas_vote.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/bas_vote.png
deleted file mode 100644
index eefd2bdfa2e26ccd930e4f7edd62c23e220972e0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2926
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
Y9~{2bF*|SIxc~qF07*qoM6N<$g5+9{_W%F@

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/bold.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/bold.png
deleted file mode 100644
index 29f4d27a8001b5855d849086ffc07a4cc6c24465..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 290
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BQ1FVU
zi(^Q|t+!VV`I;OASOfY}GkD7lu3TERbfU4x>S=A4GFEPL;#WUly+Zth`fMMw4CjxE
ziuN<JxaB_2lx;fy+th=#iIrPSr(#V(Y-nZOnN7N{Hr&6PA8z$0XI9B(zQdlYKd`w-
z^txTVvO#6$;yaw;Y>z!mdawNze>JO&U7~-RTeYlS%gcnGsdIlEZPHEm-f9}JQ?WIM
zhdKJnjve*qBMTyJWEy@y?l+PBcDaq0e`fqS_21us21<R7{u0~!y5(AK>(P%qzgu=V
ke6bhPiP(^E(Dtf$ff@Ia*s{Z$fc|6fboFyt=akR{09s6RjQ{`u

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/centrer.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/centrer.png
deleted file mode 100644
index 99eb7ce02e1ac4c7601a9e2737116772fa0a3f77..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP%zcg
z#WAGfR`QQOFCRB3v;}s%>&k7dxbi5ldu4iIc6M=A7MCZ-idHT${kT0F)~}zg!g9q(
z>bUdyM~B<_geI?PIJF|@<Im#f9iCwhsf!D3qKbN_#Vi)<2NIpxAX7lbNiZ;Q@yqP0
SKYs>jA%mx@pUXO@geCx2Oh2ap

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/exposant.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/exposant.png
deleted file mode 100644
index 20c6b78c16055fa5b7f965187674e7aa82e9dd14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 341
zcmV-b0jmCqP)<h;3K|Lk000e1NJLTq001Ze001Zm0ssI21Dr2900009a7bBm000id
z000id0mpBsWB>pG2T4RhRCwBB`26YPfFOoZi$^UUwRqIx0k=43!!64h7Y(Ld=sEC!
zt`@I2{}f09ZFQY@c>sdCY}=iPW!LF#G0;|EXkUKxn%;2?^ed6JQqy9&?z4$&ZUU`u
z*nN-s78m5_rKYCr*uD+I1u}r#>Z%GLd)Bc>5ClnORJM5LjOkWZ7C_4&+^DDsAQ$cq
z+U8@Rtw77xtzEr%@j@V@wY8Z}1<3hx=YaMF`1?Z8y}NhmS8@S;3A7vHZ~7IPKraG4
z>gwu@9NF}+7?`kuRstg!!T=^WdRPn$TewFdkqz`ZkU?9Efq@JOVR-)O>+2;uz(*Sb
nqZW@^JZkZ%#iJIFS`0@3d=OclzlLfL00000NkvXXu0mjf9wLw)

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indent.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indent.png
deleted file mode 100644
index a69ced7e27ab8e46bd403cb03390f923df72a05f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 241
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP;jxQ
zi(^Q|t>hnnUOsM6XbbFi*Ol8^aplp&%);#K;;bw#PmUF>Tw?lhdp4|JKV608ijmZD
z=c|wA@NU<$uktl`8K_=(Q1F7+X-V-$j+=RFJo~LWvyc8<zPZn~X~8^Z{wu%FFTCly
zdO_LT^2l|+b)=ZuEMp%_yr^E#uRJYwdG;eFHvMI5zj(wru=J!Qo!WYFQudZ8nYCh2
fM}S;&te4@Hl~BpKx+g+F=Q4P@`njxgN@xNAO^#i!

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indice.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/indice.png
deleted file mode 100644
index d60ecf16af6622876d955c76365daff276f86e7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 329
zcmV-P0k-~$P)<h;3K|Lk000e1NJLTq001Ze001Zm0ssI21Dr2900009a7bBm000id
z000id0mpBsWB>pF`$<GWRCwBB`26YPfFOoZi$^UUwRqIxQHzI@#Rd6!si`SDwr_)Q
zfeawGx~hWa7SEh9-O9=WXc>eX6%_&G!rejJpa$9sv~1nl)r%J|1TtD%o9PtC=g*x3
z+85yO3qkkp-lbpS0{RkYH^krcOVvOx0zK;L>Wm!O^spG1uz^+rBN)N}CO3Lm3=CVi
zM<J07^g56Mk)3ty(Tej=sc$hbkRc%q&p&;Ay>NF#EW4h#=BDM0i#Z!^(Y55d{OC2r
z)2{O_4?vL#^!EVx*mu!YpvCmAB!IS-ZM!o7wUb=;Szzn}5ip63*2kk3k6Jux@u<b4
b7E_7<>MvT1qp{2(00000NkvXXu0mjf47rbV

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/italic.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/italic.png
deleted file mode 100644
index e371246117cddbcc0e39c9e4053047b34fbee5b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP;jHC
zi(^Q|t+!Wg`I;OA+7kOxGtN$P^LFB0TgC3Axi)Ij-sW4Yo;O%4h<{l7jX@%Pmj2A7
z?NysTZ@>9xW{i@sPQ-?Uga6ytPcObcH>l@u0^{);*GsqF&U1<=evmaQ>%`;4_W{ZC
zybrB?`2F?F=c|wZP2&v?PiSA4cYB!*H~WlphsqjGes0qICAw^R!%O|_8JbDce8SaM
zPkg?~{Dlsm+vAol_esGzdYkvT9&BRe7SpjfD$c`JyD>T3J00kF22WQ%mvv4FO#m6X
BXrBN8

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/justify.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/justify.png
deleted file mode 100644
index 0222da905150d6486c464075e6fa805269b1d125..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 157
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP|)Ag
z#WAGf*4s-5IT;i<+!EW*dLBxCC*T{QJ3*VnQGoy7>KgX>Z%pU=G&D9g+P9otmF21H
xr*|N^<omR!IUkZADd{BuF^Eb?crgC~^J}Zmh25fY3xP&6c)I$ztaD0e0st#IGw}cb

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/left.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/left.png
deleted file mode 100644
index 500a861b4d6436abfdd195a9c3cc170c7081d955..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 168
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP%z5V
z#WAGf*4rxwIT;jqoG<cas|)t;YPMLotD$c}fZ!MBbx&obl=fcL7EAyEYYUe3ueKTa
z^E?PD@+#E++#<g}Y~55dS<UNSvws+#K3Wv0H?6yfk(v2FGyjUK{Fg5K)IJ2-!r<xZ
K=d#Wzp$Pz1#W!F8

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/ordered_list.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/ordered_list.png
deleted file mode 100644
index 184a47f390104c430a3836e89c3bef265f0faf08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 306
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BQ1FST
zi(^Q|t>hnnUOsM6XbbFi*Ol8^aplp&w2xh%{bQfUp1WDleNXJX)wdJn7eiCJqoZdB
z2M2#pULd8#VtOGgrCVG-?#A`&-SUiA1MVmNQeDTmxuPXiJz*7FTk-iu_AlFZ<lLUy
zcK7?0-{%>PO<bOQSlDd6E&p(TL)Hp`E7Rrox^0t~;k$N?4%oygF>Jwl47R@S7qH#p
z(%e}VU+);+tvIuSK}W9gr$yme-_w%fji!$oen`xi`()SoOS_|5Qq&U;$u(pNPFmTJ
ysvg^Hm2|VzLx!2T#>Bce$|mdMilfa(k{FV>)VBmh<#ho4%i!ti=d#Wzp$Py29(^YO

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/outdent.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/outdent.png
deleted file mode 100644
index 901618ff9f43aebd4fdf5dfdb4c4404fe85c6097..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 240
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP;il_
zi(^Q|t>hnnUOsM6XbbFi*Ol8^aph5BMqze#aaI<WC&!9bE;0SMJsZ}qpRU4k#YpP7
z^Z7@o`{SPH>~KxFwAk-a(~T_4$4UZ>l1Ef*U#aMItbO(Oc@>|{jM6uPENd<PPkH9Z
z%ageC-R6uFrT0>+jual*^x8o__?>r=kob|jGZxEoA2lf?ToH;~*E=m{@zqBeTP?Ca
kt~k0_tUt;o%P@|GVNIJ*iI=#)3DC6+p00i_>zopr0Go1NF8}}l

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/redo.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/redo.png
deleted file mode 100644
index 6210c73ec13a736e0becb28a8e2ed6ecc7c3836d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 206
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP_V(%
z#WAGf*4t~2d<_abE*J0p-}Z|2j<mwkzpX2rZ#aI|FlmT=zH#a7go912^^)8Cvi%Mx
zNN>~HF+HZZqkZn_Lk}ExowYQuiDr5Ipgoq``t_f=8;Z9-oW1(cv(;?-Ru@|T@K{qP
z=2&etZ<F%D4%wbFw>wpzzqw=iw(09$QJo+6Kkz#4P4=F_bygVY76wmOKbLh*2~7aY
Cic_@!

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/right.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/right.png
deleted file mode 100644
index 9130b034261ebc4ff4785ca31156448ac8fd56fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 167
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP%zTd
z#WAGf*4rxwIT;jqoCDjhdLCJP*Ktlj?18=oK>{D0*FBY$dgPWL{-~i52z(z-N#dx}
zu1aFK9_8{W>`RNhJ<s}*v&&-GV;9Hhh@WOXQxvF|knmvsL(VI&`7gaKJ?ad!gu&C*
K&t;ucLK6V~ZaR4Y

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/stroke.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/stroke.png
deleted file mode 100644
index 83a7e3e758d7fb8a0b4b53a7990381f9d9ab5dca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 344
zcmV-e0jK_nP)<h;3K|Lk000e1NJLTq001Ze001Zm0ssI21Dr2900009a7bBm000id
z000id0mpBsWB>pG3Q0skRCwC$l`#s!KoCW9EJ-UVMN3I-TD24{C8cTAQc{YRYOD6~
z1n~~)1$;2DgrJz<##jstVfJsBm-#zkoyYxFOE?Nvu!0q=;GcjG`&~U?*KH`c3h?=K
zjH20cF~1~97R(YctJ?$*2Ymu?7*0K}$wvq{j#oj@GdfGl;A}TACgYKSB{7!3zNTqa
zXT064=~BSbx(Rf4Er2PM4d3qqBj}7JN$v&oPP--fS6~j0;B=`dIf1=YCjo3k33PTP
zw_tUy5Ci<qYBP6s&RDvXoY}!}1I7$9O}zHe;c{R~<Du|md<>ZXM|61>9O-gX&6V)-
qRse=x&|$rg6|7(dD_FsQ41NMqr5VEg($%m40000<MNUMnLSTY9&WpPM

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/underline.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/underline.png
deleted file mode 100644
index 0d169f8e38fd92291a8db05b60059f349121433b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 291
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BQ1Gg!
zi(^Q|t>hnnUOsM6XbbFi*Ol8^aph59cV^DVhtBN3e^oVRe0<dU{QTU-laH=ksTmd~
z78ocfz;>akD#E7tSjmD^2YKfm-{0M9-JF?icwxGO2}5B_Y^dOa_uOAJ_Uf{+ty#U=
z_`>BUOEtTM#4qG6Sgv@oD`)-WnR6SyG3K@|$^G<Z*$Re6mTJekdkj-z)~-G4P=EPw
z(w2r+l_IOB$qP~sOe#A5Emz?ErIk;jwwIYMS<<pZX90Ix>01^}{X#{lD4vyEg$pl=
nomg>nu~>hUP1Z+)%@Pd7*FswYx#!jcJ;>nc>gTe~DWM4fIH`JQ

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/undo.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/undo.png
deleted file mode 100644
index 4b56c596572845cdb81b3901764464bd6da470dd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP_V|+
z#WAGf*4t~2d<PUbSRDTSzkQ8=#+RtY2R13@PAm9yphIz0@9!*6VV#H#59AMhJ5uyf
zHs;2*gH7fRC;AQ^za(<w@`U}F`Z6m{G{mNRy!x@D|NY^OzgHCOkjPS%nRifZD_fea
y5RYi<Wi1xvEIGETDm|+;*2FJMIM@_j#58YSviIkYS1f?;VDNPHb6Mw<&;$UP2TxuA

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/unordered_list.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/editeur/unordered_list.png
deleted file mode 100644
index 6d0cae836404fb6c3a7bad731373007190245b06..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 220
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1SFZ~=vx6P&H|6fVg?4j!ywFfJby(BP_WO_
z#WAGfR`QQOFCRB3v;}s%>&k7dxbi45V`I$sNRFbp<&_P(dAYfMzP<<h8?sj9e|&V5
z`}eP^kID<AymZ-au{(BV=k+an^)R#WTwAojl?}h|F{Cd)+|Kvz#y(zqrd12~9X*hf
zm73Zp&v=#R=A`Uv8{GxAJo<C_;v17F-M+By#aAD#IJ#J@KguS{&{Tjyp;3tKgn@W0
P&}9ssu6{1-oD!M<bh}pr

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif b/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif
deleted file mode 100644
index 4a32d78c4a6d4f0496bf30f1861c80c419733a4e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 626
zcmb`D%TE(g6vn6Rlt<~~PMOk~Nky^s5koq2??A0_AtJqV=TRt3MMcH(l$CMm5<1YB
zux9VZn6xHJ;ve9~jT>DVmn{$|Mfzmp3Wxu}Z}FYv%lYMeIf{ytcNSQRrB*3w=r8S{
zs5NSsvUQOa?3rZ*li|$^=l)1I%kWKEp8{MPrDyCM2n}eQB5elnN06LIdJ7U0@P`tv
zNqQBMmaOl^Ne8L0H<0p$&Tr4QA!*u(gb(86P*e{@toR4oNY4TR`$IK|>qxCb<Je}A
z+Cu5wSh9nRnoS|?V>B@t;7id&!UI0Vk{Q6CK(&FiV@Ycvtp$x1vJ0e}h}57`M<fHn
zb)=m^wQ8@)dNwF@AgRk*2ayKSi?I>O<DU$0#n@;XaOcVCQdBmBLMb|Wo-`{GE{k}=
zA8JB13;2qN_v2(w!uujg`B@woz<%~r)=a=Pk-jG?`=W9n*+-Q#q+UGmf2jM%`dZ%F
z+$!+t$wI-<^!$uDFuiScaZ{OmPxpff=Z-TnI6h{%?gzR(1)8`c^p;BvDXGmaW)KIr
zJ-(tN@8sOf!p@pwF_fEsvFd)=^*!(Mtt>6~KYIMjn$128KNHH<^QTY3b4S(Sz5b!g
zSG=yW^Vann*RI}VXT2qQ_}kl!Sg@Qc=a`L1;+2<W*B$gFUoTUwEGc-r?@gxqIhXPE
n#pl=OzPxj7(mnL<@1Kh+@2TFzS1@8><277f9{Vs1sJs6FV{Ein

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif b/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif
deleted file mode 100644
index 22d5220239f46c6533116487386b77134d44947a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 344
zcmZ?wbhEHb<Y(Y#2xVYU{K>+|z+l9n!vF*zu~s0h#?GzE&aK48rNG9i%*Le-VsmP6
za4WEKs<3gZv2$s#^Qf|MYp`(}bMmXOb05;Mo2y`?&d#O4$~8yc=%9w31($##8^=rq
z11)ym1M0R~>^z6nZD%SNsj>4YvT+{OuvTH`(&FHmEw4XI!C=3-^$Z0)MK&&ZHcoSH
zfvIwO8tmK(Y+Q=0oLU^*do^tKs#}4aM;u@)b(mS;p>rzCpgAzDV{XebA*}!&84tyU
zj4INOZHuO#*($*&u&Kd;ZJ`z0Q6}eWK}%EC913!fP+Q?`#P8hP$i(T)lI_Oo#Ud_Z
y#8c(Mo{?q5n^)i@EMX+W<;*2z#KP+&Ey>>CEYB<_>m($Y>c%K0+SusGU=09(`8_89

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_in.gif b/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_in.gif
deleted file mode 100644
index 967c46a095c325876ab43038e8fe24ca54044463..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1050
zcmeHE+e?!H9Q|$k+NHI*=GQiJ&VAQysby9=Ghv(C%ra53sD}t=+70cVno@1vA}w#V
zytJ#<5+dlOdWdKxC4^AWm7WB%r08PVh4y`4>tE=(!{Hn_59i^W!Xl?Rw*mze>Hx4`
z2oJyu=@7@?tUd0mpWxyQ5L}SrhAB3Hb0I2rF|H)z!<leAp&38H`fxTtkqd$G<1rt8
zty0E@DaJ=Q2w19tC&$%Xn0nih%mhd_-V-F)0D08Pf8|z<A69P40B)EbuR{kmiRK2e
zo4aK{hlqR~Y@mVjlf@=@-;KTSpmqYd5mS?0@TxiK*$H(`uHZ&Z0;PmP8dfak)#eKJ
z<{|58C^f;C9{rttivG<a<|57n>C4-tb6#ELD#5pN*z5(YI!Ex?t6!=HTmjsrjOQNp
z_)%q5Ht%Ysbf#N(p<I}i3}hk{8(^IQ-uLLXWWq!P%7u*%3Xa+NpS>8Ngme{@7{G?X
zZy$Mmr~Ff|ZiA7(JPBU6B~yuzrh(29k#CE*t3=F(Ob-vCgIgtRke=;NWdbyo0M)Dc
z+^~TQ(X1b5ec0JD5vAmD5##It&W*(Pp<lOYSU(x_6LSM3H@c+G%4=OeZ~BaOrc*o9
zmGY)DWls)YuYeEd^wC2LV?M*fBZ-e1&_)Mx=YaBKZz>lgCmNMck1zUr<$wI^0^%Q#
zA<>!@6G<L%qP)D%87gq^c+hY9S~@vs-alP#H%4SbIknl!+pbotDt)7N-KfnW?O*0n
zwN%`#>QIZfp|aw!T|FV&Dfy}_MKDShoj2wmL?ykK*3^H0H(C%m>CO`hUl!esSa?>q
zSf-tdBm~7gMErAw9z4PXOOwTjBkeMtwqB#xTSTa#+*oXNwRoUOfMk~O@7<T6@-**$
zOLJ?xI&+7m6pPMBkkg8W`mwbLU({wc!&J1Z-R4nPX2*(9BcfVa7S5FPQCY49Bg+L&
dscQcATUVljNqK7iVe{?D$4<ExcL)*4`vb3W3RwUE

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_out.gif b/web/osthoffen-master/WEB/PUBLIC/medias/icones/etoiles/star_out.gif
deleted file mode 100644
index f2886a8589b1c21c1c7962596d50017f190163f3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 338
zcmZ?wbhEHb6k!ly2xVYU{K>+|z+law!vF*zu~r~GEre-;AH(DTrb$7Jb3=Higmd%;
zG5D%5L|QVZ>oLsqW9SHFnd-+pCqT+yjji9GVQMf(Zy;l(4MUd~!<0Z~d45JadA3QO
z?ESuMQzKX=_%Nu6u}%nNm>14ADVU)>fI(4^b%qZ^e=zeDpk5z_PH%?(0EYfhw#k7E
zHZsgp{1|$@xhDm(_IYzo3uc)eBh>81Rc*!4Xw5Lek9~3w!_*Ltz5s?^Plk!U3=;!D
z4o3!T`3L3}c<4y=9}+3r>HOC3jB@t&E-_Z;sihfGUE6jG2)6J{@mPHAY}lHYMHW&%
zKbZL0t*@Wa>*lqO=5gcp;o|iW@Zjh3X7Q--X7%Rq;PhehV0V_1l!$PW_K<U8bdhzE
V@emdgbQ2M`7AtcWb#Y{{1^}4vRZIW?

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/haut.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/haut.png
deleted file mode 100644
index 76092522caf6b403e8193be7838644313c7069bd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7912
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
SwO8x_0000<MNUMnLSTYrMeAn(

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/haut_vote.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/haut_vote.png
deleted file mode 100644
index f0c2c2df2f0b106d6bf5e882f7760670fd0388b2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2519
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

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/supprimer.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/supprimer.png
deleted file mode 100644
index 1ae0ef1abb8089e22438ef3dbf5e5acee5223409..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32139
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

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/icones/user.png b/web/osthoffen-master/WEB/PUBLIC/medias/icones/user.png
deleted file mode 100644
index eff07ef3d18f0ea07e93c5ad803ca79bc212aafd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 60006
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
HI`aPjRO-`j

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/images/blason.png b/web/osthoffen-master/WEB/PUBLIC/medias/images/blason.png
deleted file mode 100644
index 840f7f761b82f44b77d8289ddfdfd78664efa105..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 55093
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

diff --git a/web/osthoffen-master/WEB/PUBLIC/medias/images/fond-chateau.jpg b/web/osthoffen-master/WEB/PUBLIC/medias/images/fond-chateau.jpg
deleted file mode 100644
index 893f0489a5ac15b5583ee892c4c53527854d3b7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 303052
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
X{;DcWBF;Wa64cvpfpq!YHlY96>&dBL

diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/aside_left.php b/web/osthoffen-master/WEB/PUBLIC/overall/aside_left.php
deleted file mode 100644
index 16aa29e..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/aside_left.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<aside class="aside-left">
-
-<b>Plan du Forum</b><br>
-<hr>
-
-<p style="overflow:hidden; text-overflow:ellipsis; white-space: nowrap;">
-<?php
-
-$categorie_aside = new categorie();
-$categorie_aside->set_db($db);
-
-$liste_categorie_aside = $categorie_aside->list_categorie();
-
-
-if($liste_categorie_aside == false){
-
-    ?>Forum Vide<?php
-} else {
-    while($cat = $liste_categorie_aside->fetch()){
-
-
-
-        ?>+&nbsp;<a href="<?php echo $adresse_site; ?>/categorie/list/<?php echo $cat['ID']; ?>"><?php echo $cat['Intitule']; ?></a><br><?php
-
-        $liste_topic_aside = $categorie_aside->list_topic($categorie_aside->get_id($cat['Intitule']));
-        if($liste_topic_aside == false){
-
-        } else {
-            while($cat = $liste_topic_aside->fetch()){
-                ?>&nbsp;&nbsp;&nbsp;-&nbsp;<a href="<?php echo $adresse_site; ?>/topic/view/<?php echo $cat['ID']; ?>"><?php echo $cat['Intitule']; ?></a><br><?php
-            }
-        }
-
-
-
-
-    }
-}
-
-
- ?>
-</p>
-
-</aside>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right.php b/web/osthoffen-master/WEB/PUBLIC/overall/aside_right.php
deleted file mode 100644
index 8ad06f5..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<aside class="aside-right">
-    <div class="informations">
-        <?php
-        if(isset($_SESSION['user_id']))
-        {
-            ?>
-            <b>Bienvenue <?php echo $_SESSION['pseudo']; ?>!</b><br>
-            <!-- photo de profil -->
-            <div class="image_aside">
-                <img src="<?php echo $categorie->get_avatar(); ?>" height="40px" width="40px">
-            </div>
-            <div class="liens_aside">
-                <a href="<?php echo $adresse_site; ?>/user/infos/<?php echo $_SESSION['username']; ?>">Profil</a><br>
-                <a href="<?php echo $adresse_site; ?>/user/logout">Déconnexion</a><br>
-                <?php if($_SESSION['droit'] == 4) {
-                    ?><a href="<?php echo $adresse_site; ?>/user/manage">Liste des membres</a><?php
-                } ?>
-            </div>
-            <?php
-        }
-        else
-        {
-            ?>
-            <b>Vous n'êtes pas connectés.</b><br>
-            Inscrivez-vous <a href="<?php echo $adresse_site; ?>/user/signup">ici</a><br>
-            ou<br>
-            connectez-vous <a href="<?php echo $adresse_site; ?>/user/login">ici</a>
-            <?php
-        }
-
-        ?>
-    </div>
-    <hr>
-    <div class="last-comm">
-        <b>Derniers commentaires</b>
-
-        <?php include "WEB/PUBLIC/overall/last_com.php";?>
-    </div>
-</aside>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_categorie.php b/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_categorie.php
deleted file mode 100644
index fba6e11..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_categorie.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<aside class="aside-right">
-    <div class="informations">
-        <?php
-        if(isset($_SESSION['user_id']))
-        {
-            ?>
-            <b>Bienvenue <?php echo $_SESSION['pseudo']; ?>!</b><br>
-            <!-- photo de profil -->
-
-            <div class="image_aside">
-                <img src="<?php echo $categorie->get_avatar(); ?>" height="40px" width="40px">
-            </div>
-            <div class="liens_aside">
-                <a href="<?php echo $adresse_site; ?>/user/infos/<?php echo $_SESSION['username']; ?>">Profil</a><br>
-                <a href="<?php echo $adresse_site; ?>/user/logout">Déconnexion</a><br>
-                <?php if($_SESSION['droit'] == 4) {
-                    ?><a href="<?php echo $adresse_site; ?>/user/manage">Liste des membres</a><?php
-                } ?>
-            </div>
-            <?php
-        }
-        else
-        {
-            ?>
-            <b>Vous n'êtes pas connectés.</b><br>
-            Inscrivez-vous <a href="<?php echo $adresse_site; ?>/user/signup">ici</a><br>
-            ou<br>
-            connectez-vous <a href="<?php echo $adresse_site; ?>/user/login">ici</a>
-            <?php
-        }
-
-        ?>
-    </div>
-    <hr>
-    <?php if($_SESSION['droit'] >= 2) {
-        ?>
-        <a href="<?php echo $adresse_site; ?>/topic/new/<?php echo $params ?>">Créer un topic</a><br>
-        <?php if($_SESSION['droit'] >= 3) {
-            ?>
-        <a href="<?php echo $adresse_site; ?>/topic/edit/<?php echo $params ?>">Modifier un topic</a><br>
-        <a href="<?php echo $adresse_site; ?>/topic/delete/<?php echo $params ?>">Supprimer un topic</a><br>
-
-
-        <?php
-    }  } ?>
-    <hr>
-
-    <div class="last-comm">
-        <b>Derniers commentaires</b>
-
-        <?php include "WEB/PUBLIC/overall/last_com.php";?>
-    </div>
-</aside>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_forum.php b/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_forum.php
deleted file mode 100644
index 467353c..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_forum.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<aside class="aside-right">
-    <div class="informations">
-        <?php
-        if(isset($_SESSION['user_id']))
-        {
-            ?>
-            <b>Bienvenue <?php echo $_SESSION['pseudo']; ?>!</b><br>
-            <!-- photo de profil -->
-
-            <div class="image_aside">
-                <img src="<?php echo $categorie->get_avatar(); ?>" height="40px" width="40px">
-            </div>
-            <div class="liens_aside">
-                <a href="<?php echo $adresse_site; ?>/user/infos/<?php echo $_SESSION['username']; ?>">Profil</a><br>
-                <a href="<?php echo $adresse_site; ?>/user/logout">Déconnexion</a><br>
-                <?php if($_SESSION['droit'] == 4) {
-                    ?><a href="<?php echo $adresse_site; ?>/user/manage">Liste des membres</a><?php
-                } ?>
-            </div>
-            <?php
-        }
-        else
-        {
-            ?>
-            <b>Vous n'êtes pas connectés.</b><br>
-            Inscrivez-vous <a href="<?php echo $adresse_site; ?>/user/signup">ici</a><br>
-            ou<br>
-            connectez-vous <a href="<?php echo $adresse_site; ?>/user/login">ici</a>
-            <?php
-        }
-
-        ?>
-    </div>
-    <hr>
-    <?php if($_SESSION['droit'] == 4) {
-        ?>
-        <a href="<?php echo $adresse_site; ?>/categorie/new">Créer une catégorie</a><br>
-        <a href="<?php echo $adresse_site; ?>/categorie/edit">Modifier une catégorie</a><br>
-        <a href="<?php echo $adresse_site; ?>/categorie/delete  ">Supprimer une catégorie</a>
-
-        <hr>
-        <?php
-    } ?>
-
-
-    <div class="last-comm">
-        <b>Derniers commentaires</b>
-
-        <?php include "WEB/PUBLIC/overall/last_com.php";?>
-    </div>
-</aside>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_topic.php b/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_topic.php
deleted file mode 100644
index 46976e5..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/aside_right_topic.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<aside class="aside-right">
-    <div class="informations">
-        <?php
-        if(isset($_SESSION['user_id']))
-        {
-            ?>
-            <b>Bienvenue <?php echo $_SESSION['pseudo']; ?>!</b><br>
-            <!-- photo de profil -->
-
-            <div class="image_aside">
-                <img src="<?php echo $categorie->get_avatar(); ?>" height="40px" width="40px">
-            </div>
-            <div class="liens_aside">
-                <a href="<?php echo $adresse_site; ?>/user/infos/<?php echo $_SESSION['username']; ?>">Profil</a><br>
-                <a href="<?php echo $adresse_site; ?>/user/logout">Déconnexion</a><br>
-                <?php if($_SESSION['droit'] == 4) {
-                    ?><a href="<?php echo $adresse_site; ?>/user/manage">Liste des membres</a><?php
-                } ?>
-            </div>
-            <?php
-        }
-        else
-        {
-            ?>
-            <b>Vous n'êtes pas connectés.</b><br>
-            Inscrivez-vous <a href="<?php echo $adresse_site; ?>/user/signup">ici</a><br>
-            ou<br>
-            connectez-vous <a href="<?php echo $adresse_site; ?>/user/login">ici</a>
-            <?php
-        }
-
-        ?>
-    </div>
-    <hr>
-    <?php
-
-    $topic2 = new topic();
-    $topic2->set_db($db);
-
-    $note = $topic2->get_note($params);
-    
-
-
-
-
-     if($_SESSION['droit'] >= 2) {
-        ?>
-        <center>Donnez une note à ce topic</center><br>
-
-        <form action="<?php echo $adresse_site ?>/topic/notation/<?php echo $params ?>" method="post">
-
-          <input type="hidden" name="note" value="" id="note"/>
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif" id="clear_stars" title="Sans intérêt c'est trop nul">
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif" id="star_1" class="star"/>
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif" id="star_2" class="star"/>
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif" id="star_3" class="star"/>
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif" id="star_4" class="star"/>
-          <img src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif" id="star_5" class="star"/>
-          <!-- Ajouter autant d'étoile que nécessaire !-->
-          <button  class="btn btn-outline-secondary" type="submit">Noter</button>
-        </form>
-
-        <?php
-     } ?>
-    <hr>
-
-    <div class="last-comm">
-        <b>Derniers commentaires</b>
-
-        <?php include "WEB/PUBLIC/overall/last_com.php";?>
-    </div>
-</aside>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/editor.php b/web/osthoffen-master/WEB/PUBLIC/overall/editor.php
deleted file mode 100644
index 41cc658..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/editor.php
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-    <?php if ($editor_mode == "creation"){ ?>
-        <form method="post" action="<?php echo $adresse_site ?>/topic/new_topic/<?php echo $params ?>" onsubmit="return traitement(this)">
-        <div class="form-group row">
-          <label for="InputId" class="col-sm-2 col-form-label">Nom</label>
-          <div class="col-sm-10">
-            <input type="text" class="form-control" id="InputId" placeholder="Nom du Topic" name="name" required>
-          </div>
-        </div>
-
-    <?php } else { ?>
-        <?php if ($editor_mode == "edition"){ ?>
-            <form method="post" action="<?php echo $adresse_site ?>/commentaire/edit_com/<?php echo $params ?>/<?php echo $comm ?>" onsubmit="return traitement(this)">
-            <?php } else {?>
-                <form method="post" action="<?php echo $adresse_site ?>/topic/add_com/<?php echo $params ?>" onsubmit="return traitement(this)">
-
-                <?php }
-            } ?>
-
-      <div id="bbuttons1" class="bbuttons" onclick="global_bbstyle(1,event)">
-
-           <div class="editor-commands">
-               <table class="editor-commands-line" cellspacing="0" >
-                   <tbody class="editor-commands-line">
-                      <tr class="editor-commands-line">
-                          <td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/bold.png" data-command="bold" title="Gras"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/italic.png"  data-command="italic" title="Italique"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/underline.png"  data-command="underline" title="Souligné"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/stroke.png"  data-command="strikeThrough" title="Barré"></td><!--
-
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/left.png" data-command="justifyLeft" title="Aligné à gauche"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/centrer.png"  data-command="justifyCenter" title="Centrer"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/right.png"  data-command="justifyRight" title="Aligné à droite"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/justify.png"  data-command="justifyFull" title="Justifié"></td><!--
-
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/indent.png"  data-command="indent" title="Augmenter le retrait"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/outdent.png"  data-command="outdent" title="Diminuer le retrait"></td><!--
-
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/indice.png"  data-command="subscript" title="Indice"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/exposant.png"  data-command="superscript" title="Exposant"></td><!--
-
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/ordered_list.png"  data-command="insertOrderedList" title="Liste ordonnée"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/unordered_list.png"  data-command="insertUnorderedList" title="Listre non-ordonnée"></td><!--
-
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/undo.png"  data-command="undo" title="Annuler"></td><!--
-                          --><td><img class="editor-commands-line" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editeur/redo.png"  data-command="redo" title="Rétablir"></td>
-                      </tr>
-                  </tbody>
-              </table>
-          </div>
-
-
-
-      </div>
-
-      <?php if ($editor_mode == "edition"){ ?>
-          <div id="Editor" class="editor" contenteditable="true" ><?php echo $info_comm['Intitule'] ?></div>
-      <?php } else { ?>
-      <div id="Editor" class="editor" contenteditable="true"></div>
-        <?php } ?>
-      <br>
-
-          <input id="Envoi" type="hidden" name="new_com">
-          <div class="input-group-append">
-
-              <?php if ($editor_mode == "creation"){ ?>
-                  <button  id="Envoi_button" class="btn btn-outline-secondary" type="submit">Créer le topic</button>
-              <?php } else { ?>
-                  <button  id="Envoi_button" class="btn btn-outline-secondary" type="submit">Poster le commentaire</button>
-              <?php } ?>
-          </div>
-      </form>
-
-      <script type="text/javascript">
-
-      var commandButtons = document.querySelectorAll(".editor-commands img");
-      for (var i = 0; i < commandButtons.length; i++) {
-          commandButtons[i].addEventListener("mousedown", function (e) {
-              e.preventDefault();
-              var commandName = e.target.getAttribute("data-command");
-              if (commandName === "html") {
-                  var commandArgument = e.target.getAttribute("data-command-argument");
-                  document.execCommand('formatBlock', false, commandArgument);
-              } else {
-                  document.execCommand(commandName, false);
-              }
-          });
-      }
-
-
-
-
-
-      function traitement(form)
-      {
-
-      var result = document.getElementById("Editor").innerHTML;
-
-
-      document.getElementById("Envoi").value = result;
-      return true;
-      }
-
-
-
-
-      $('a[href^="#"]').click(function(){
-            var id = $(this).attr("href");
-            console.log(id);
-            var offset = $(id).offset().top
-            $('html, body').animate({scrollTop: offset}, 'slow');
-            return false;
-        });
-      </script>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/footer.php b/web/osthoffen-master/WEB/PUBLIC/overall/footer.php
deleted file mode 100644
index b9e9462..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/footer.php
+++ /dev/null
@@ -1,18 +0,0 @@
-</div>
-
-<footer>
-
-
-<nav class="navbar fixed-bottom navbar-light bg-light">
-    <p class="center_div">Le forum d'Osthoffen
-      - <?php echo date('Y');?> &copy;
-      - <a href="<?php echo $adresse_site; ?>/accueil/about">A propos</a>
-      - <a href="<?php echo $adresse_site; ?>/accueil/contact">Contact</a></p>
-</nav>
-
-
-</footer>
-
-
-</body>
-</html>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/header.php b/web/osthoffen-master/WEB/PUBLIC/overall/header.php
deleted file mode 100644
index b9b8db8..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/header.php
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- <!DOCTYPE html>
- <html>
-     <head>
-         <meta charset="utf­8" />
-         <title>Osthoffen</title>
-         <link rel="icon" type="image/png" href="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/favicon.ico" />
-         <link href="<?php echo $adresse_racine; ?>/WEB/PUBLIC/style/css/bootstrap.css" rel="stylesheet" />
-         <script src="<?php echo $adresse_racine; ?>/WEB/PUBLIC/script/js/bootstrap.js"></script>
-         <link href="<?php echo $adresse_racine; ?>/WEB/PUBLIC/style/style.css" rel="stylesheet" />
-         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
-     </head>
-
-     <body>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/last_com.php b/web/osthoffen-master/WEB/PUBLIC/overall/last_com.php
deleted file mode 100644
index c78df56..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/last_com.php
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-<?php
-
-$last_com = $categorie->get_last_com();
-
-echo "<br>";
-$topic = new topic();
-$topic->set_db($db);
-
-while($com = $last_com->fetch()){
-
-?>
-<hr>
-<p style="overflow:hidden; text-overflow:ellipsis;white-space: nowrap;">
-&rArr;&nbsp;<a href="<?php echo $adresse_site ?>/topic/view/<?php echo $com['ID_Topic'] ?>?com=<?php echo $com['ID'] ?>"><b><?php  echo $topic->get_categorie($com['ID']); ?></a></b><br>
-<font size="1">
-Par <?php  echo $topic->get_auteur($com['ID']); ?><br>
-Le <?php echo date('d/m/Y \à H:i',$com['Date']); ?>
-</font>
-</p>
-
-
-
-
-
-<?php
-
-}
-
-
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/PUBLIC/overall/menu.php b/web/osthoffen-master/WEB/PUBLIC/overall/menu.php
deleted file mode 100644
index 584ea80..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/overall/menu.php
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-    <nav class="menu navbar navbar-expand-lg navbar-light bg-light">
-        <img height="50px" src="<?php echo $adresse_racine; ?>/WEB/PUBLIC/medias/images/blason.png">
-        <span class="navbar-brand" style="margin-left:16px;">Osthoffen</span>
-      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
-        <span class="navbar-toggler-icon"></span>
-      </button>
-      <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
-        <ul class="navbar-nav">
-          <li class="nav-item active "><a class="nav-link" href="<?php echo $adresse_site; ?>">Accueil</a></li>
-          <li class="nav-item active"><a class=" nav-link" href="<?php echo $adresse_site; ?>/forum/index">Forum</a></li>
-          <li class="nav-item active"><a class=" nav-link" href="<?php echo $adresse_site; ?>/accueil/village">Le Village</a></li>
-      </ul>
-        <div class="navbar-nav  navbar-nav-right">
-
-        <?php
-        //Si lutilisateur est connecte, on lui donne un lien pour modifier ses informations, pour voir ses messages et un pour se deconnecter
-        if(isset($_SESSION['user_id']))
-        {
-        ?>
-
-            <a class="nav-item nav-link" href="<?php echo $adresse_site; ?>/user/infos">Profil</a>
-            <a class="nav-item nav-link" href="<?php echo $adresse_site; ?>/user/logout">Deconnexion</a>
-
-        <?php
-        }
-        else
-        {
-        //Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter
-        ?>
-            <a class="nav-item nav-link" href="<?php echo $adresse_site; ?>/user/signup">Inscription</a>
-            <a class="nav-item nav-link" href="<?php echo $adresse_site; ?>/user/login">Connexion</a>
-
-        <?php
-        }
-        ?>
-
-        </div>
-      </div>
-    </nav>
-
- <div class="background">
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/check_role.php b/web/osthoffen-master/WEB/PUBLIC/script/check_role.php
deleted file mode 100644
index 3cb42cf..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/check_role.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-$adresse_site = "https://".$_SERVER['SERVER_NAME']."/~l.lett/forum/index.php";
-$adresse_racine = "https://".$_SERVER['SERVER_NAME']."/~l.lett/forum";
-session_start();
-
-
-require("./WEB/Models/model_base.php");
-require("./WEB/Models/categorie_model.php");
-require("./WEB/Models/topic_model.php");
-require("./WEB/PUBLIC/bdd.php");
-
-
-
-
-
-try{ $db = new PDO(SQL_DSN,SQL_USERNAME,SQL_PASSWORD);
-} catch(Exception $e){
-    echo "erreur bdd";
-    exit;
-}
-
-$categorie = new categorie();
-$categorie->set_db($db);
-
-if($role_page != "all"){
-
-    if(!isset($_SESSION['droit'])){
-        include "WEB/Views/errors/not_connected_error.php";
-        exit;
-    }
-    if($_SESSION['droit'] < $role_page){
-        include "WEB/Views/errors/permission_error.php";
-        exit;
-    }
-}
-
-
- ?>
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js
deleted file mode 100644
index f4f23ea..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js
+++ /dev/null
@@ -1,7013 +0,0 @@
-/*!
-  * Bootstrap v4.3.1 (https://getbootstrap.com/)
-  * 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 (global, factory) {
-  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
-  typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
-  (global = global || self, factory(global.bootstrap = {}, global.jQuery));
-}(this, function (exports, $) { 'use strict';
-
-  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-
-  function _defineProperties(target, props) {
-    for (var i = 0; i < props.length; i++) {
-      var descriptor = props[i];
-      descriptor.enumerable = descriptor.enumerable || false;
-      descriptor.configurable = true;
-      if ("value" in descriptor) descriptor.writable = true;
-      Object.defineProperty(target, descriptor.key, descriptor);
-    }
-  }
-
-  function _createClass(Constructor, protoProps, staticProps) {
-    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-    if (staticProps) _defineProperties(Constructor, staticProps);
-    return Constructor;
-  }
-
-  function _defineProperty(obj, key, value) {
-    if (key in obj) {
-      Object.defineProperty(obj, key, {
-        value: value,
-        enumerable: true,
-        configurable: true,
-        writable: true
-      });
-    } else {
-      obj[key] = value;
-    }
-
-    return obj;
-  }
-
-  function _objectSpread(target) {
-    for (var i = 1; i < arguments.length; i++) {
-      var source = arguments[i] != null ? arguments[i] : {};
-      var ownKeys = Object.keys(source);
-
-      if (typeof Object.getOwnPropertySymbols === 'function') {
-        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
-          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-        }));
-      }
-
-      ownKeys.forEach(function (key) {
-        _defineProperty(target, key, source[key]);
-      });
-    }
-
-    return target;
-  }
-
-  function _inheritsLoose(subClass, superClass) {
-    subClass.prototype = Object.create(superClass.prototype);
-    subClass.prototype.constructor = subClass;
-    subClass.__proto__ = superClass;
-  }
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): util.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-  /**
-   * ------------------------------------------------------------------------
-   * Private TransitionEnd Helpers
-   * ------------------------------------------------------------------------
-   */
-
-  var TRANSITION_END = 'transitionend';
-  var MAX_UID = 1000000;
-  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
-
-  function toType(obj) {
-    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
-  }
-
-  function getSpecialTransitionEndEvent() {
-    return {
-      bindType: TRANSITION_END,
-      delegateType: TRANSITION_END,
-      handle: function handle(event) {
-        if ($(event.target).is(this)) {
-          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
-        }
-
-        return undefined; // eslint-disable-line no-undefined
-      }
-    };
-  }
-
-  function transitionEndEmulator(duration) {
-    var _this = this;
-
-    var called = false;
-    $(this).one(Util.TRANSITION_END, function () {
-      called = true;
-    });
-    setTimeout(function () {
-      if (!called) {
-        Util.triggerTransitionEnd(_this);
-      }
-    }, duration);
-    return this;
-  }
-
-  function setTransitionEndSupport() {
-    $.fn.emulateTransitionEnd = transitionEndEmulator;
-    $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
-  }
-  /**
-   * --------------------------------------------------------------------------
-   * Public Util Api
-   * --------------------------------------------------------------------------
-   */
-
-
-  var Util = {
-    TRANSITION_END: 'bsTransitionEnd',
-    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));
-
-      return prefix;
-    },
-    getSelectorFromElement: function getSelectorFromElement(element) {
-      var selector = element.getAttribute('data-target');
-
-      if (!selector || selector === '#') {
-        var hrefAttr = element.getAttribute('href');
-        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
-      }
-
-      try {
-        return document.querySelector(selector) ? selector : null;
-      } catch (err) {
-        return null;
-      }
-    },
-    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
-      if (!element) {
-        return 0;
-      } // Get transition-duration of the element
-
-
-      var transitionDuration = $(element).css('transition-duration');
-      var transitionDelay = $(element).css('transition-delay');
-      var floatTransitionDuration = parseFloat(transitionDuration);
-      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
-
-      if (!floatTransitionDuration && !floatTransitionDelay) {
-        return 0;
-      } // If multiple durations are defined, take the first
-
-
-      transitionDuration = transitionDuration.split(',')[0];
-      transitionDelay = transitionDelay.split(',')[0];
-      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
-    },
-    reflow: function reflow(element) {
-      return element.offsetHeight;
-    },
-    triggerTransitionEnd: function triggerTransitionEnd(element) {
-      $(element).trigger(TRANSITION_END);
-    },
-    // TODO: Remove in v5
-    supportsTransitionEnd: function supportsTransitionEnd() {
-      return Boolean(TRANSITION_END);
-    },
-    isElement: function isElement(obj) {
-      return (obj[0] || obj).nodeType;
-    },
-    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
-      for (var property in configTypes) {
-        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
-          var expectedTypes = configTypes[property];
-          var value = config[property];
-          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
-
-          if (!new RegExp(expectedTypes).test(valueType)) {
-            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
-          }
-        }
-      }
-    },
-    findShadowRoot: function findShadowRoot(element) {
-      if (!document.documentElement.attachShadow) {
-        return null;
-      } // Can find the shadow root otherwise it'll return the document
-
-
-      if (typeof element.getRootNode === 'function') {
-        var root = element.getRootNode();
-        return root instanceof ShadowRoot ? root : null;
-      }
-
-      if (element instanceof ShadowRoot) {
-        return element;
-      } // when we don't find a shadow root
-
-
-      if (!element.parentNode) {
-        return null;
-      }
-
-      return Util.findShadowRoot(element.parentNode);
-    }
-  };
-  setTransitionEndSupport();
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME = 'alert';
-  var VERSION = '4.3.1';
-  var DATA_KEY = 'bs.alert';
-  var EVENT_KEY = "." + DATA_KEY;
-  var DATA_API_KEY = '.data-api';
-  var JQUERY_NO_CONFLICT = $.fn[NAME];
-  var Selector = {
-    DISMISS: '[data-dismiss="alert"]'
-  };
-  var Event = {
-    CLOSE: "close" + EVENT_KEY,
-    CLOSED: "closed" + EVENT_KEY,
-    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
-  };
-  var ClassName = {
-    ALERT: 'alert',
-    FADE: 'fade',
-    SHOW: 'show'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Alert =
-  /*#__PURE__*/
-  function () {
-    function Alert(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Alert.prototype;
-
-    // Public
-    _proto.close = function close(element) {
-      var rootElement = this._element;
-
-      if (element) {
-        rootElement = this._getRootElement(element);
-      }
-
-      var customEvent = this._triggerCloseEvent(rootElement);
-
-      if (customEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._removeElement(rootElement);
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY);
-      this._element = null;
-    } // Private
-    ;
-
-    _proto._getRootElement = function _getRootElement(element) {
-      var selector = Util.getSelectorFromElement(element);
-      var parent = false;
-
-      if (selector) {
-        parent = document.querySelector(selector);
-      }
-
-      if (!parent) {
-        parent = $(element).closest("." + ClassName.ALERT)[0];
-      }
-
-      return parent;
-    };
-
-    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
-      var closeEvent = $.Event(Event.CLOSE);
-      $(element).trigger(closeEvent);
-      return closeEvent;
-    };
-
-    _proto._removeElement = function _removeElement(element) {
-      var _this = this;
-
-      $(element).removeClass(ClassName.SHOW);
-
-      if (!$(element).hasClass(ClassName.FADE)) {
-        this._destroyElement(element);
-
-        return;
-      }
-
-      var transitionDuration = Util.getTransitionDurationFromElement(element);
-      $(element).one(Util.TRANSITION_END, function (event) {
-        return _this._destroyElement(element, event);
-      }).emulateTransitionEnd(transitionDuration);
-    };
-
-    _proto._destroyElement = function _destroyElement(element) {
-      $(element).detach().trigger(Event.CLOSED).remove();
-    } // Static
-    ;
-
-    Alert._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $element = $(this);
-        var data = $element.data(DATA_KEY);
-
-        if (!data) {
-          data = new Alert(this);
-          $element.data(DATA_KEY, data);
-        }
-
-        if (config === 'close') {
-          data[config](this);
-        }
-      });
-    };
-
-    Alert._handleDismiss = function _handleDismiss(alertInstance) {
-      return function (event) {
-        if (event) {
-          event.preventDefault();
-        }
-
-        alertInstance.close(this);
-      };
-    };
-
-    _createClass(Alert, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION;
-      }
-    }]);
-
-    return Alert;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME] = Alert._jQueryInterface;
-  $.fn[NAME].Constructor = Alert;
-
-  $.fn[NAME].noConflict = function () {
-    $.fn[NAME] = JQUERY_NO_CONFLICT;
-    return Alert._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$1 = 'button';
-  var VERSION$1 = '4.3.1';
-  var DATA_KEY$1 = 'bs.button';
-  var EVENT_KEY$1 = "." + DATA_KEY$1;
-  var DATA_API_KEY$1 = '.data-api';
-  var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
-  var ClassName$1 = {
-    ACTIVE: 'active',
-    BUTTON: 'btn',
-    FOCUS: 'focus'
-  };
-  var Selector$1 = {
-    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
-    DATA_TOGGLE: '[data-toggle="buttons"]',
-    INPUT: 'input:not([type="hidden"])',
-    ACTIVE: '.active',
-    BUTTON: '.btn'
-  };
-  var Event$1 = {
-    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
-    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Button =
-  /*#__PURE__*/
-  function () {
-    function Button(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Button.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      var triggerChangeEvent = true;
-      var addAriaPressed = true;
-      var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
-
-      if (rootElement) {
-        var input = this._element.querySelector(Selector$1.INPUT);
-
-        if (input) {
-          if (input.type === 'radio') {
-            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
-              triggerChangeEvent = false;
-            } else {
-              var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
-
-              if (activeElement) {
-                $(activeElement).removeClass(ClassName$1.ACTIVE);
-              }
-            }
-          }
-
-          if (triggerChangeEvent) {
-            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
-              return;
-            }
-
-            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
-            $(input).trigger('change');
-          }
-
-          input.focus();
-          addAriaPressed = false;
-        }
-      }
-
-      if (addAriaPressed) {
-        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
-      }
-
-      if (triggerChangeEvent) {
-        $(this._element).toggleClass(ClassName$1.ACTIVE);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$1);
-      this._element = null;
-    } // Static
-    ;
-
-    Button._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$1);
-
-        if (!data) {
-          data = new Button(this);
-          $(this).data(DATA_KEY$1, data);
-        }
-
-        if (config === 'toggle') {
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Button, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$1;
-      }
-    }]);
-
-    return Button;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
-    event.preventDefault();
-    var button = event.target;
-
-    if (!$(button).hasClass(ClassName$1.BUTTON)) {
-      button = $(button).closest(Selector$1.BUTTON);
-    }
-
-    Button._jQueryInterface.call($(button), 'toggle');
-  }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
-    var button = $(event.target).closest(Selector$1.BUTTON)[0];
-    $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$1] = Button._jQueryInterface;
-  $.fn[NAME$1].Constructor = Button;
-
-  $.fn[NAME$1].noConflict = function () {
-    $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
-    return Button._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$2 = 'carousel';
-  var VERSION$2 = '4.3.1';
-  var DATA_KEY$2 = 'bs.carousel';
-  var EVENT_KEY$2 = "." + DATA_KEY$2;
-  var DATA_API_KEY$2 = '.data-api';
-  var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
-  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
-
-  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
-
-  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
-
-  var SWIPE_THRESHOLD = 40;
-  var Default = {
-    interval: 5000,
-    keyboard: true,
-    slide: false,
-    pause: 'hover',
-    wrap: true,
-    touch: true
-  };
-  var DefaultType = {
-    interval: '(number|boolean)',
-    keyboard: 'boolean',
-    slide: '(boolean|string)',
-    pause: '(string|boolean)',
-    wrap: 'boolean',
-    touch: 'boolean'
-  };
-  var Direction = {
-    NEXT: 'next',
-    PREV: 'prev',
-    LEFT: 'left',
-    RIGHT: 'right'
-  };
-  var Event$2 = {
-    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
-  };
-  var 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'
-  };
-  var 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"]'
-  };
-  var PointerType = {
-    TOUCH: 'touch',
-    PEN: 'pen'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Carousel =
-  /*#__PURE__*/
-  function () {
-    function Carousel(element, config) {
-      this._items = null;
-      this._interval = null;
-      this._activeElement = null;
-      this._isPaused = false;
-      this._isSliding = false;
-      this.touchTimeout = null;
-      this.touchStartX = 0;
-      this.touchDeltaX = 0;
-      this._config = this._getConfig(config);
-      this._element = element;
-      this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
-      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
-      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
-
-      this._addEventListeners();
-    } // Getters
-
-
-    var _proto = Carousel.prototype;
-
-    // Public
-    _proto.next = function next() {
-      if (!this._isSliding) {
-        this._slide(Direction.NEXT);
-      }
-    };
-
-    _proto.nextWhenVisible = function nextWhenVisible() {
-      // Don't call next when the page isn't visible
-      // or the carousel or its parent isn't visible
-      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
-        this.next();
-      }
-    };
-
-    _proto.prev = function prev() {
-      if (!this._isSliding) {
-        this._slide(Direction.PREV);
-      }
-    };
-
-    _proto.pause = function pause(event) {
-      if (!event) {
-        this._isPaused = true;
-      }
-
-      if (this._element.querySelector(Selector$2.NEXT_PREV)) {
-        Util.triggerTransitionEnd(this._element);
-        this.cycle(true);
-      }
-
-      clearInterval(this._interval);
-      this._interval = null;
-    };
-
-    _proto.cycle = function cycle(event) {
-      if (!event) {
-        this._isPaused = false;
-      }
-
-      if (this._interval) {
-        clearInterval(this._interval);
-        this._interval = null;
-      }
-
-      if (this._config.interval && !this._isPaused) {
-        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
-      }
-    };
-
-    _proto.to = function to(index) {
-      var _this = this;
-
-      this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
-
-      var activeIndex = this._getItemIndex(this._activeElement);
-
-      if (index > this._items.length - 1 || index < 0) {
-        return;
-      }
-
-      if (this._isSliding) {
-        $(this._element).one(Event$2.SLID, function () {
-          return _this.to(index);
-        });
-        return;
-      }
-
-      if (activeIndex === index) {
-        this.pause();
-        this.cycle();
-        return;
-      }
-
-      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
-
-      this._slide(direction, this._items[index]);
-    };
-
-    _proto.dispose = function dispose() {
-      $(this._element).off(EVENT_KEY$2);
-      $.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;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default, config);
-      Util.typeCheckConfig(NAME$2, config, DefaultType);
-      return config;
-    };
-
-    _proto._handleSwipe = function _handleSwipe() {
-      var absDeltax = Math.abs(this.touchDeltaX);
-
-      if (absDeltax <= SWIPE_THRESHOLD) {
-        return;
-      }
-
-      var direction = absDeltax / this.touchDeltaX; // swipe left
-
-      if (direction > 0) {
-        this.prev();
-      } // swipe right
-
-
-      if (direction < 0) {
-        this.next();
-      }
-    };
-
-    _proto._addEventListeners = function _addEventListeners() {
-      var _this2 = this;
-
-      if (this._config.keyboard) {
-        $(this._element).on(Event$2.KEYDOWN, function (event) {
-          return _this2._keydown(event);
-        });
-      }
-
-      if (this._config.pause === 'hover') {
-        $(this._element).on(Event$2.MOUSEENTER, function (event) {
-          return _this2.pause(event);
-        }).on(Event$2.MOUSELEAVE, function (event) {
-          return _this2.cycle(event);
-        });
-      }
-
-      if (this._config.touch) {
-        this._addTouchEventListeners();
-      }
-    };
-
-    _proto._addTouchEventListeners = function _addTouchEventListeners() {
-      var _this3 = this;
-
-      if (!this._touchSupported) {
-        return;
-      }
-
-      var start = function start(event) {
-        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
-          _this3.touchStartX = event.originalEvent.clientX;
-        } else if (!_this3._pointerEvent) {
-          _this3.touchStartX = event.originalEvent.touches[0].clientX;
-        }
-      };
-
-      var move = function move(event) {
-        // ensure swiping with one touch and not pinching
-        if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
-          _this3.touchDeltaX = 0;
-        } else {
-          _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
-        }
-      };
-
-      var end = function end(event) {
-        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
-          _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
-        }
-
-        _this3._handleSwipe();
-
-        if (_this3._config.pause === 'hover') {
-          // If it's a touch-enabled device, mouseenter/leave are fired as
-          // part of the mouse compatibility events on first tap - the carousel
-          // would stop cycling until user tapped out of it;
-          // here, we listen for touchend, explicitly pause the carousel
-          // (as if it's the second time we tap on it, mouseenter compat event
-          // is NOT fired) and after a timeout (to allow for mouse compatibility
-          // events to fire) we explicitly restart cycling
-          _this3.pause();
-
-          if (_this3.touchTimeout) {
-            clearTimeout(_this3.touchTimeout);
-          }
-
-          _this3.touchTimeout = setTimeout(function (event) {
-            return _this3.cycle(event);
-          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
-        }
-      };
-
-      $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
-        return e.preventDefault();
-      });
-
-      if (this._pointerEvent) {
-        $(this._element).on(Event$2.POINTERDOWN, function (event) {
-          return start(event);
-        });
-        $(this._element).on(Event$2.POINTERUP, function (event) {
-          return end(event);
-        });
-
-        this._element.classList.add(ClassName$2.POINTER_EVENT);
-      } else {
-        $(this._element).on(Event$2.TOUCHSTART, function (event) {
-          return start(event);
-        });
-        $(this._element).on(Event$2.TOUCHMOVE, function (event) {
-          return move(event);
-        });
-        $(this._element).on(Event$2.TOUCHEND, function (event) {
-          return end(event);
-        });
-      }
-    };
-
-    _proto._keydown = function _keydown(event) {
-      if (/input|textarea/i.test(event.target.tagName)) {
-        return;
-      }
-
-      switch (event.which) {
-        case ARROW_LEFT_KEYCODE:
-          event.preventDefault();
-          this.prev();
-          break;
-
-        case ARROW_RIGHT_KEYCODE:
-          event.preventDefault();
-          this.next();
-          break;
-
-        default:
-      }
-    };
-
-    _proto._getItemIndex = function _getItemIndex(element) {
-      this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
-      return this._items.indexOf(element);
-    };
-
-    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
-      var isNextDirection = direction === Direction.NEXT;
-      var isPrevDirection = direction === Direction.PREV;
-
-      var activeIndex = this._getItemIndex(activeElement);
-
-      var lastItemIndex = this._items.length - 1;
-      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
-
-      if (isGoingToWrap && !this._config.wrap) {
-        return activeElement;
-      }
-
-      var delta = direction === Direction.PREV ? -1 : 1;
-      var itemIndex = (activeIndex + delta) % this._items.length;
-      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
-    };
-
-    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
-      var targetIndex = this._getItemIndex(relatedTarget);
-
-      var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
-
-      var slideEvent = $.Event(Event$2.SLIDE, {
-        relatedTarget: relatedTarget,
-        direction: eventDirectionName,
-        from: fromIndex,
-        to: targetIndex
-      });
-      $(this._element).trigger(slideEvent);
-      return slideEvent;
-    };
-
-    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
-      if (this._indicatorsElement) {
-        var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
-        $(indicators).removeClass(ClassName$2.ACTIVE);
-
-        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
-
-        if (nextIndicator) {
-          $(nextIndicator).addClass(ClassName$2.ACTIVE);
-        }
-      }
-    };
-
-    _proto._slide = function _slide(direction, element) {
-      var _this4 = this;
-
-      var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
-
-      var activeElementIndex = this._getItemIndex(activeElement);
-
-      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
-
-      var nextElementIndex = this._getItemIndex(nextElement);
-
-      var isCycling = Boolean(this._interval);
-      var directionalClassName;
-      var orderClassName;
-      var eventDirectionName;
-
-      if (direction === Direction.NEXT) {
-        directionalClassName = ClassName$2.LEFT;
-        orderClassName = ClassName$2.NEXT;
-        eventDirectionName = Direction.LEFT;
-      } else {
-        directionalClassName = ClassName$2.RIGHT;
-        orderClassName = ClassName$2.PREV;
-        eventDirectionName = Direction.RIGHT;
-      }
-
-      if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
-        this._isSliding = false;
-        return;
-      }
-
-      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
-
-      if (slideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (!activeElement || !nextElement) {
-        // Some weirdness is happening, so we bail
-        return;
-      }
-
-      this._isSliding = true;
-
-      if (isCycling) {
-        this.pause();
-      }
-
-      this._setActiveIndicatorElement(nextElement);
-
-      var slidEvent = $.Event(Event$2.SLID, {
-        relatedTarget: nextElement,
-        direction: eventDirectionName,
-        from: activeElementIndex,
-        to: nextElementIndex
-      });
-
-      if ($(this._element).hasClass(ClassName$2.SLIDE)) {
-        $(nextElement).addClass(orderClassName);
-        Util.reflow(nextElement);
-        $(activeElement).addClass(directionalClassName);
-        $(nextElement).addClass(directionalClassName);
-        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
-        if (nextElementInterval) {
-          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
-          this._config.interval = nextElementInterval;
-        } else {
-          this._config.interval = this._config.defaultInterval || this._config.interval;
-        }
-
-        var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
-        $(activeElement).one(Util.TRANSITION_END, function () {
-          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
-          $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
-          _this4._isSliding = false;
-          setTimeout(function () {
-            return $(_this4._element).trigger(slidEvent);
-          }, 0);
-        }).emulateTransitionEnd(transitionDuration);
-      } else {
-        $(activeElement).removeClass(ClassName$2.ACTIVE);
-        $(nextElement).addClass(ClassName$2.ACTIVE);
-        this._isSliding = false;
-        $(this._element).trigger(slidEvent);
-      }
-
-      if (isCycling) {
-        this.cycle();
-      }
-    } // Static
-    ;
-
-    Carousel._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$2);
-
-        var _config = _objectSpread({}, Default, $(this).data());
-
-        if (typeof config === 'object') {
-          _config = _objectSpread({}, _config, config);
-        }
-
-        var action = typeof config === 'string' ? config : _config.slide;
-
-        if (!data) {
-          data = new Carousel(this, _config);
-          $(this).data(DATA_KEY$2, data);
-        }
-
-        if (typeof config === 'number') {
-          data.to(config);
-        } else if (typeof action === 'string') {
-          if (typeof data[action] === 'undefined') {
-            throw new TypeError("No method named \"" + action + "\"");
-          }
-
-          data[action]();
-        } else if (_config.interval && _config.ride) {
-          data.pause();
-          data.cycle();
-        }
-      });
-    };
-
-    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
-      var selector = Util.getSelectorFromElement(this);
-
-      if (!selector) {
-        return;
-      }
-
-      var target = $(selector)[0];
-
-      if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
-        return;
-      }
-
-      var config = _objectSpread({}, $(target).data(), $(this).data());
-
-      var slideIndex = this.getAttribute('data-slide-to');
-
-      if (slideIndex) {
-        config.interval = false;
-      }
-
-      Carousel._jQueryInterface.call($(target), config);
-
-      if (slideIndex) {
-        $(target).data(DATA_KEY$2).to(slideIndex);
-      }
-
-      event.preventDefault();
-    };
-
-    _createClass(Carousel, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$2;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default;
-      }
-    }]);
-
-    return Carousel;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
-  $(window).on(Event$2.LOAD_DATA_API, function () {
-    var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
-
-    for (var i = 0, len = carousels.length; i < len; i++) {
-      var $carousel = $(carousels[i]);
-
-      Carousel._jQueryInterface.call($carousel, $carousel.data());
-    }
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$2] = Carousel._jQueryInterface;
-  $.fn[NAME$2].Constructor = Carousel;
-
-  $.fn[NAME$2].noConflict = function () {
-    $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
-    return Carousel._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$3 = 'collapse';
-  var VERSION$3 = '4.3.1';
-  var DATA_KEY$3 = 'bs.collapse';
-  var EVENT_KEY$3 = "." + DATA_KEY$3;
-  var DATA_API_KEY$3 = '.data-api';
-  var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
-  var Default$1 = {
-    toggle: true,
-    parent: ''
-  };
-  var DefaultType$1 = {
-    toggle: 'boolean',
-    parent: '(string|element)'
-  };
-  var Event$3 = {
-    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
-  };
-  var ClassName$3 = {
-    SHOW: 'show',
-    COLLAPSE: 'collapse',
-    COLLAPSING: 'collapsing',
-    COLLAPSED: 'collapsed'
-  };
-  var Dimension = {
-    WIDTH: 'width',
-    HEIGHT: 'height'
-  };
-  var Selector$3 = {
-    ACTIVES: '.show, .collapsing',
-    DATA_TOGGLE: '[data-toggle="collapse"]'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Collapse =
-  /*#__PURE__*/
-  function () {
-    function Collapse(element, config) {
-      this._isTransitioning = false;
-      this._element = element;
-      this._config = this._getConfig(config);
-      this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
-      var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
-
-      for (var i = 0, len = toggleList.length; i < len; i++) {
-        var elem = toggleList[i];
-        var selector = Util.getSelectorFromElement(elem);
-        var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
-          return foundElem === element;
-        });
-
-        if (selector !== null && filterElement.length > 0) {
-          this._selector = selector;
-
-          this._triggerArray.push(elem);
-        }
-      }
-
-      this._parent = this._config.parent ? this._getParent() : null;
-
-      if (!this._config.parent) {
-        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
-      }
-
-      if (this._config.toggle) {
-        this.toggle();
-      }
-    } // Getters
-
-
-    var _proto = Collapse.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      if ($(this._element).hasClass(ClassName$3.SHOW)) {
-        this.hide();
-      } else {
-        this.show();
-      }
-    };
-
-    _proto.show = function show() {
-      var _this = this;
-
-      if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
-        return;
-      }
-
-      var actives;
-      var activesData;
-
-      if (this._parent) {
-        actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
-          if (typeof _this._config.parent === 'string') {
-            return elem.getAttribute('data-parent') === _this._config.parent;
-          }
-
-          return elem.classList.contains(ClassName$3.COLLAPSE);
-        });
-
-        if (actives.length === 0) {
-          actives = null;
-        }
-      }
-
-      if (actives) {
-        activesData = $(actives).not(this._selector).data(DATA_KEY$3);
-
-        if (activesData && activesData._isTransitioning) {
-          return;
-        }
-      }
-
-      var startEvent = $.Event(Event$3.SHOW);
-      $(this._element).trigger(startEvent);
-
-      if (startEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (actives) {
-        Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
-
-        if (!activesData) {
-          $(actives).data(DATA_KEY$3, null);
-        }
-      }
-
-      var dimension = this._getDimension();
-
-      $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
-      this._element.style[dimension] = 0;
-
-      if (this._triggerArray.length) {
-        $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
-      }
-
-      this.setTransitioning(true);
-
-      var complete = function complete() {
-        $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
-        _this._element.style[dimension] = '';
-
-        _this.setTransitioning(false);
-
-        $(_this._element).trigger(Event$3.SHOWN);
-      };
-
-      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
-      var scrollSize = "scroll" + capitalizedDimension;
-      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      this._element.style[dimension] = this._element[scrollSize] + "px";
-    };
-
-    _proto.hide = function hide() {
-      var _this2 = this;
-
-      if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
-        return;
-      }
-
-      var startEvent = $.Event(Event$3.HIDE);
-      $(this._element).trigger(startEvent);
-
-      if (startEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      var dimension = this._getDimension();
-
-      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
-      Util.reflow(this._element);
-      $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
-      var triggerArrayLength = this._triggerArray.length;
-
-      if (triggerArrayLength > 0) {
-        for (var i = 0; i < triggerArrayLength; i++) {
-          var trigger = this._triggerArray[i];
-          var selector = Util.getSelectorFromElement(trigger);
-
-          if (selector !== null) {
-            var $elem = $([].slice.call(document.querySelectorAll(selector)));
-
-            if (!$elem.hasClass(ClassName$3.SHOW)) {
-              $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
-            }
-          }
-        }
-      }
-
-      this.setTransitioning(true);
-
-      var complete = function complete() {
-        _this2.setTransitioning(false);
-
-        $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
-      };
-
-      this._element.style[dimension] = '';
-      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-    };
-
-    _proto.setTransitioning = function setTransitioning(isTransitioning) {
-      this._isTransitioning = isTransitioning;
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$3);
-      this._config = null;
-      this._parent = null;
-      this._element = null;
-      this._triggerArray = null;
-      this._isTransitioning = null;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$1, config);
-      config.toggle = Boolean(config.toggle); // Coerce string values
-
-      Util.typeCheckConfig(NAME$3, config, DefaultType$1);
-      return config;
-    };
-
-    _proto._getDimension = function _getDimension() {
-      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
-      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
-    };
-
-    _proto._getParent = function _getParent() {
-      var _this3 = this;
-
-      var parent;
-
-      if (Util.isElement(this._config.parent)) {
-        parent = this._config.parent; // It's a jQuery object
-
-        if (typeof this._config.parent.jquery !== 'undefined') {
-          parent = this._config.parent[0];
-        }
-      } else {
-        parent = document.querySelector(this._config.parent);
-      }
-
-      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
-      var children = [].slice.call(parent.querySelectorAll(selector));
-      $(children).each(function (i, element) {
-        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
-      });
-      return parent;
-    };
-
-    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
-      var isOpen = $(element).hasClass(ClassName$3.SHOW);
-
-      if (triggerArray.length) {
-        $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
-      }
-    } // Static
-    ;
-
-    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
-      var selector = Util.getSelectorFromElement(element);
-      return selector ? document.querySelector(selector) : null;
-    };
-
-    Collapse._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $this = $(this);
-        var data = $this.data(DATA_KEY$3);
-
-        var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
-
-        if (!data && _config.toggle && /show|hide/.test(config)) {
-          _config.toggle = false;
-        }
-
-        if (!data) {
-          data = new Collapse(this, _config);
-          $this.data(DATA_KEY$3, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Collapse, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$3;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$1;
-      }
-    }]);
-
-    return Collapse;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
-    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
-    if (event.currentTarget.tagName === 'A') {
-      event.preventDefault();
-    }
-
-    var $trigger = $(this);
-    var selector = Util.getSelectorFromElement(this);
-    var selectors = [].slice.call(document.querySelectorAll(selector));
-    $(selectors).each(function () {
-      var $target = $(this);
-      var data = $target.data(DATA_KEY$3);
-      var config = data ? 'toggle' : $trigger.data();
-
-      Collapse._jQueryInterface.call($target, config);
-    });
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$3] = Collapse._jQueryInterface;
-  $.fn[NAME$3].Constructor = Collapse;
-
-  $.fn[NAME$3].noConflict = function () {
-    $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
-    return Collapse._jQueryInterface;
-  };
-
-  /**!
-   * @fileOverview Kickass library to create and place poppers near their reference elements.
-   * @version 1.14.7
-   * @license
-   * Copyright (c) 2016 Federico Zivolo and contributors
-   *
-   * Permission is hereby granted, free of charge, to any person obtaining a copy
-   * of this software and associated documentation files (the "Software"), to deal
-   * in the Software without restriction, including without limitation the rights
-   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-   * copies of the Software, and to permit persons to whom the Software is
-   * furnished to do so, subject to the following conditions:
-   *
-   * The above copyright notice and this permission notice shall be included in all
-   * copies or substantial portions of the Software.
-   *
-   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-   * SOFTWARE.
-   */
-  var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
-
-  var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
-  var timeoutDuration = 0;
-  for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
-    if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
-      timeoutDuration = 1;
-      break;
-    }
-  }
-
-  function microtaskDebounce(fn) {
-    var called = false;
-    return function () {
-      if (called) {
-        return;
-      }
-      called = true;
-      window.Promise.resolve().then(function () {
-        called = false;
-        fn();
-      });
-    };
-  }
-
-  function taskDebounce(fn) {
-    var scheduled = false;
-    return function () {
-      if (!scheduled) {
-        scheduled = true;
-        setTimeout(function () {
-          scheduled = false;
-          fn();
-        }, timeoutDuration);
-      }
-    };
-  }
-
-  var supportsMicroTasks = isBrowser && window.Promise;
-
-  /**
-  * Create a debounced version of a method, that's asynchronously deferred
-  * but called in the minimum time possible.
-  *
-  * @method
-  * @memberof Popper.Utils
-  * @argument {Function} fn
-  * @returns {Function}
-  */
-  var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;
-
-  /**
-   * Check if the given variable is a function
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Any} functionToCheck - variable to check
-   * @returns {Boolean} answer to: is a function?
-   */
-  function isFunction(functionToCheck) {
-    var getType = {};
-    return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
-  }
-
-  /**
-   * Get CSS computed property of the given element
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Eement} element
-   * @argument {String} property
-   */
-  function getStyleComputedProperty(element, property) {
-    if (element.nodeType !== 1) {
-      return [];
-    }
-    // NOTE: 1 DOM access here
-    var window = element.ownerDocument.defaultView;
-    var css = window.getComputedStyle(element, null);
-    return property ? css[property] : css;
-  }
-
-  /**
-   * Returns the parentNode or the host of the element
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @returns {Element} parent
-   */
-  function getParentNode(element) {
-    if (element.nodeName === 'HTML') {
-      return element;
-    }
-    return element.parentNode || element.host;
-  }
-
-  /**
-   * Returns the scrolling parent of the given element
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @returns {Element} scroll parent
-   */
-  function getScrollParent(element) {
-    // Return body, `getScroll` will take care to get the correct `scrollTop` from it
-    if (!element) {
-      return document.body;
-    }
-
-    switch (element.nodeName) {
-      case 'HTML':
-      case 'BODY':
-        return element.ownerDocument.body;
-      case '#document':
-        return element.body;
-    }
-
-    // Firefox want us to check `-x` and `-y` variations as well
-
-    var _getStyleComputedProp = getStyleComputedProperty(element),
-        overflow = _getStyleComputedProp.overflow,
-        overflowX = _getStyleComputedProp.overflowX,
-        overflowY = _getStyleComputedProp.overflowY;
-
-    if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {
-      return element;
-    }
-
-    return getScrollParent(getParentNode(element));
-  }
-
-  var isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);
-  var isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);
-
-  /**
-   * Determines if the browser is Internet Explorer
-   * @method
-   * @memberof Popper.Utils
-   * @param {Number} version to check
-   * @returns {Boolean} isIE
-   */
-  function isIE(version) {
-    if (version === 11) {
-      return isIE11;
-    }
-    if (version === 10) {
-      return isIE10;
-    }
-    return isIE11 || isIE10;
-  }
-
-  /**
-   * Returns the offset parent of the given element
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @returns {Element} offset parent
-   */
-  function getOffsetParent(element) {
-    if (!element) {
-      return document.documentElement;
-    }
-
-    var noOffsetParent = isIE(10) ? document.body : null;
-
-    // NOTE: 1 DOM access here
-    var offsetParent = element.offsetParent || null;
-    // Skip hidden elements which don't have an offsetParent
-    while (offsetParent === noOffsetParent && element.nextElementSibling) {
-      offsetParent = (element = element.nextElementSibling).offsetParent;
-    }
-
-    var nodeName = offsetParent && offsetParent.nodeName;
-
-    if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
-      return element ? element.ownerDocument.documentElement : document.documentElement;
-    }
-
-    // .offsetParent will return the closest TH, TD or TABLE in case
-    // no offsetParent is present, I hate this job...
-    if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {
-      return getOffsetParent(offsetParent);
-    }
-
-    return offsetParent;
-  }
-
-  function isOffsetContainer(element) {
-    var nodeName = element.nodeName;
-
-    if (nodeName === 'BODY') {
-      return false;
-    }
-    return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;
-  }
-
-  /**
-   * Finds the root node (document, shadowDOM root) of the given element
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} node
-   * @returns {Element} root node
-   */
-  function getRoot(node) {
-    if (node.parentNode !== null) {
-      return getRoot(node.parentNode);
-    }
-
-    return node;
-  }
-
-  /**
-   * Finds the offset parent common to the two provided nodes
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element1
-   * @argument {Element} element2
-   * @returns {Element} common offset parent
-   */
-  function findCommonOffsetParent(element1, element2) {
-    // This check is needed to avoid errors in case one of the elements isn't defined for any reason
-    if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
-      return document.documentElement;
-    }
-
-    // Here we make sure to give as "start" the element that comes first in the DOM
-    var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;
-    var start = order ? element1 : element2;
-    var end = order ? element2 : element1;
-
-    // Get common ancestor container
-    var range = document.createRange();
-    range.setStart(start, 0);
-    range.setEnd(end, 0);
-    var commonAncestorContainer = range.commonAncestorContainer;
-
-    // Both nodes are inside #document
-
-    if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {
-      if (isOffsetContainer(commonAncestorContainer)) {
-        return commonAncestorContainer;
-      }
-
-      return getOffsetParent(commonAncestorContainer);
-    }
-
-    // one of the nodes is inside shadowDOM, find which one
-    var element1root = getRoot(element1);
-    if (element1root.host) {
-      return findCommonOffsetParent(element1root.host, element2);
-    } else {
-      return findCommonOffsetParent(element1, getRoot(element2).host);
-    }
-  }
-
-  /**
-   * Gets the scroll value of the given element in the given side (top and left)
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @argument {String} side `top` or `left`
-   * @returns {number} amount of scrolled pixels
-   */
-  function getScroll(element) {
-    var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';
-
-    var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';
-    var nodeName = element.nodeName;
-
-    if (nodeName === 'BODY' || nodeName === 'HTML') {
-      var html = element.ownerDocument.documentElement;
-      var scrollingElement = element.ownerDocument.scrollingElement || html;
-      return scrollingElement[upperSide];
-    }
-
-    return element[upperSide];
-  }
-
-  /*
-   * Sum or subtract the element scroll values (left and top) from a given rect object
-   * @method
-   * @memberof Popper.Utils
-   * @param {Object} rect - Rect object you want to change
-   * @param {HTMLElement} element - The element from the function reads the scroll values
-   * @param {Boolean} subtract - set to true if you want to subtract the scroll values
-   * @return {Object} rect - The modifier rect object
-   */
-  function includeScroll(rect, element) {
-    var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    var scrollTop = getScroll(element, 'top');
-    var scrollLeft = getScroll(element, 'left');
-    var modifier = subtract ? -1 : 1;
-    rect.top += scrollTop * modifier;
-    rect.bottom += scrollTop * modifier;
-    rect.left += scrollLeft * modifier;
-    rect.right += scrollLeft * modifier;
-    return rect;
-  }
-
-  /*
-   * Helper to detect borders of a given element
-   * @method
-   * @memberof Popper.Utils
-   * @param {CSSStyleDeclaration} styles
-   * Result of `getStyleComputedProperty` on the given element
-   * @param {String} axis - `x` or `y`
-   * @return {number} borders - The borders size of the given axis
-   */
-
-  function getBordersSize(styles, axis) {
-    var sideA = axis === 'x' ? 'Left' : 'Top';
-    var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
-
-    return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
-  }
-
-  function getSize(axis, body, html, computedStyle) {
-    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);
-  }
-
-  function getWindowSizes(document) {
-    var body = document.body;
-    var html = document.documentElement;
-    var computedStyle = isIE(10) && getComputedStyle(html);
-
-    return {
-      height: getSize('Height', body, html, computedStyle),
-      width: getSize('Width', body, html, computedStyle)
-    };
-  }
-
-  var classCallCheck = function (instance, Constructor) {
-    if (!(instance instanceof Constructor)) {
-      throw new TypeError("Cannot call a class as a function");
-    }
-  };
-
-  var createClass = function () {
-    function defineProperties(target, props) {
-      for (var i = 0; i < props.length; i++) {
-        var descriptor = props[i];
-        descriptor.enumerable = descriptor.enumerable || false;
-        descriptor.configurable = true;
-        if ("value" in descriptor) descriptor.writable = true;
-        Object.defineProperty(target, descriptor.key, descriptor);
-      }
-    }
-
-    return function (Constructor, protoProps, staticProps) {
-      if (protoProps) defineProperties(Constructor.prototype, protoProps);
-      if (staticProps) defineProperties(Constructor, staticProps);
-      return Constructor;
-    };
-  }();
-
-
-
-
-
-  var defineProperty = function (obj, key, value) {
-    if (key in obj) {
-      Object.defineProperty(obj, key, {
-        value: value,
-        enumerable: true,
-        configurable: true,
-        writable: true
-      });
-    } else {
-      obj[key] = value;
-    }
-
-    return obj;
-  };
-
-  var _extends = Object.assign || function (target) {
-    for (var i = 1; i < arguments.length; i++) {
-      var source = arguments[i];
-
-      for (var key in source) {
-        if (Object.prototype.hasOwnProperty.call(source, key)) {
-          target[key] = source[key];
-        }
-      }
-    }
-
-    return target;
-  };
-
-  /**
-   * Given element offsets, generate an output similar to getBoundingClientRect
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Object} offsets
-   * @returns {Object} ClientRect like output
-   */
-  function getClientRect(offsets) {
-    return _extends({}, offsets, {
-      right: offsets.left + offsets.width,
-      bottom: offsets.top + offsets.height
-    });
-  }
-
-  /**
-   * Get bounding client rect of given element
-   * @method
-   * @memberof Popper.Utils
-   * @param {HTMLElement} element
-   * @return {Object} client rect
-   */
-  function getBoundingClientRect(element) {
-    var rect = {};
-
-    // IE10 10 FIX: Please, don't ask, the element isn't
-    // considered in DOM in some circumstances...
-    // This isn't reproducible in IE10 compatibility mode of IE11
-    try {
-      if (isIE(10)) {
-        rect = element.getBoundingClientRect();
-        var scrollTop = getScroll(element, 'top');
-        var scrollLeft = getScroll(element, 'left');
-        rect.top += scrollTop;
-        rect.left += scrollLeft;
-        rect.bottom += scrollTop;
-        rect.right += scrollLeft;
-      } else {
-        rect = element.getBoundingClientRect();
-      }
-    } catch (e) {}
-
-    var result = {
-      left: rect.left,
-      top: rect.top,
-      width: rect.right - rect.left,
-      height: rect.bottom - rect.top
-    };
-
-    // subtract scrollbar size from sizes
-    var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};
-    var width = sizes.width || element.clientWidth || result.right - result.left;
-    var height = sizes.height || element.clientHeight || result.bottom - result.top;
-
-    var horizScrollbar = element.offsetWidth - width;
-    var vertScrollbar = element.offsetHeight - height;
-
-    // if an hypothetical scrollbar is detected, we must be sure it's not a `border`
-    // we make this check conditional for performance reasons
-    if (horizScrollbar || vertScrollbar) {
-      var styles = getStyleComputedProperty(element);
-      horizScrollbar -= getBordersSize(styles, 'x');
-      vertScrollbar -= getBordersSize(styles, 'y');
-
-      result.width -= horizScrollbar;
-      result.height -= vertScrollbar;
-    }
-
-    return getClientRect(result);
-  }
-
-  function getOffsetRectRelativeToArbitraryNode(children, parent) {
-    var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
-    var isIE10 = isIE(10);
-    var isHTML = parent.nodeName === 'HTML';
-    var childrenRect = getBoundingClientRect(children);
-    var parentRect = getBoundingClientRect(parent);
-    var scrollParent = getScrollParent(children);
-
-    var styles = getStyleComputedProperty(parent);
-    var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
-    var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
-
-    // In cases where the parent is fixed, we must ignore negative scroll in offset calc
-    if (fixedPosition && isHTML) {
-      parentRect.top = Math.max(parentRect.top, 0);
-      parentRect.left = Math.max(parentRect.left, 0);
-    }
-    var offsets = getClientRect({
-      top: childrenRect.top - parentRect.top - borderTopWidth,
-      left: childrenRect.left - parentRect.left - borderLeftWidth,
-      width: childrenRect.width,
-      height: childrenRect.height
-    });
-    offsets.marginTop = 0;
-    offsets.marginLeft = 0;
-
-    // Subtract margins of documentElement in case it's being used as parent
-    // we do this only on HTML because it's the only element that behaves
-    // differently when margins are applied to it. The margins are included in
-    // the box of the documentElement, in the other cases not.
-    if (!isIE10 && isHTML) {
-      var marginTop = parseFloat(styles.marginTop, 10);
-      var marginLeft = parseFloat(styles.marginLeft, 10);
-
-      offsets.top -= borderTopWidth - marginTop;
-      offsets.bottom -= borderTopWidth - marginTop;
-      offsets.left -= borderLeftWidth - marginLeft;
-      offsets.right -= borderLeftWidth - marginLeft;
-
-      // Attach marginTop and marginLeft because in some circumstances we may need them
-      offsets.marginTop = marginTop;
-      offsets.marginLeft = marginLeft;
-    }
-
-    if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {
-      offsets = includeScroll(offsets, parent);
-    }
-
-    return offsets;
-  }
-
-  function getViewportOffsetRectRelativeToArtbitraryNode(element) {
-    var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-    var html = element.ownerDocument.documentElement;
-    var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);
-    var width = Math.max(html.clientWidth, window.innerWidth || 0);
-    var height = Math.max(html.clientHeight, window.innerHeight || 0);
-
-    var scrollTop = !excludeScroll ? getScroll(html) : 0;
-    var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;
-
-    var offset = {
-      top: scrollTop - relativeOffset.top + relativeOffset.marginTop,
-      left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,
-      width: width,
-      height: height
-    };
-
-    return getClientRect(offset);
-  }
-
-  /**
-   * Check if the given element is fixed or is inside a fixed parent
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @argument {Element} customContainer
-   * @returns {Boolean} answer to "isFixed?"
-   */
-  function isFixed(element) {
-    var nodeName = element.nodeName;
-    if (nodeName === 'BODY' || nodeName === 'HTML') {
-      return false;
-    }
-    if (getStyleComputedProperty(element, 'position') === 'fixed') {
-      return true;
-    }
-    var parentNode = getParentNode(element);
-    if (!parentNode) {
-      return false;
-    }
-    return isFixed(parentNode);
-  }
-
-  /**
-   * Finds the first parent of an element that has a transformed property defined
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @returns {Element} first transformed parent or documentElement
-   */
-
-  function getFixedPositionOffsetParent(element) {
-    // This check is needed to avoid errors in case one of the elements isn't defined for any reason
-    if (!element || !element.parentElement || isIE()) {
-      return document.documentElement;
-    }
-    var el = element.parentElement;
-    while (el && getStyleComputedProperty(el, 'transform') === 'none') {
-      el = el.parentElement;
-    }
-    return el || document.documentElement;
-  }
-
-  /**
-   * Computed the boundaries limits and return them
-   * @method
-   * @memberof Popper.Utils
-   * @param {HTMLElement} popper
-   * @param {HTMLElement} reference
-   * @param {number} padding
-   * @param {HTMLElement} boundariesElement - Element used to define the boundaries
-   * @param {Boolean} fixedPosition - Is in fixed position mode
-   * @returns {Object} Coordinates of the boundaries
-   */
-  function getBoundaries(popper, reference, padding, boundariesElement) {
-    var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
-
-    // NOTE: 1 DOM access here
-
-    var boundaries = { top: 0, left: 0 };
-    var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
-
-    // Handle viewport case
-    if (boundariesElement === 'viewport') {
-      boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);
-    } else {
-      // Handle other cases based on DOM element used as boundaries
-      var boundariesNode = void 0;
-      if (boundariesElement === 'scrollParent') {
-        boundariesNode = getScrollParent(getParentNode(reference));
-        if (boundariesNode.nodeName === 'BODY') {
-          boundariesNode = popper.ownerDocument.documentElement;
-        }
-      } else if (boundariesElement === 'window') {
-        boundariesNode = popper.ownerDocument.documentElement;
-      } else {
-        boundariesNode = boundariesElement;
-      }
-
-      var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);
-
-      // In case of HTML, we need a different computation
-      if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {
-        var _getWindowSizes = getWindowSizes(popper.ownerDocument),
-            height = _getWindowSizes.height,
-            width = _getWindowSizes.width;
-
-        boundaries.top += offsets.top - offsets.marginTop;
-        boundaries.bottom = height + offsets.top;
-        boundaries.left += offsets.left - offsets.marginLeft;
-        boundaries.right = width + offsets.left;
-      } else {
-        // for all the other DOM elements, this one is good
-        boundaries = offsets;
-      }
-    }
-
-    // Add paddings
-    padding = padding || 0;
-    var isPaddingNumber = typeof padding === 'number';
-    boundaries.left += isPaddingNumber ? padding : padding.left || 0;
-    boundaries.top += isPaddingNumber ? padding : padding.top || 0;
-    boundaries.right -= isPaddingNumber ? padding : padding.right || 0;
-    boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;
-
-    return boundaries;
-  }
-
-  function getArea(_ref) {
-    var width = _ref.width,
-        height = _ref.height;
-
-    return width * height;
-  }
-
-  /**
-   * Utility used to transform the `auto` placement to the placement with more
-   * available space.
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {
-    var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
-
-    if (placement.indexOf('auto') === -1) {
-      return placement;
-    }
-
-    var boundaries = getBoundaries(popper, reference, padding, boundariesElement);
-
-    var rects = {
-      top: {
-        width: boundaries.width,
-        height: refRect.top - boundaries.top
-      },
-      right: {
-        width: boundaries.right - refRect.right,
-        height: boundaries.height
-      },
-      bottom: {
-        width: boundaries.width,
-        height: boundaries.bottom - refRect.bottom
-      },
-      left: {
-        width: refRect.left - boundaries.left,
-        height: boundaries.height
-      }
-    };
-
-    var sortedAreas = Object.keys(rects).map(function (key) {
-      return _extends({
-        key: key
-      }, rects[key], {
-        area: getArea(rects[key])
-      });
-    }).sort(function (a, b) {
-      return b.area - a.area;
-    });
-
-    var filteredAreas = sortedAreas.filter(function (_ref2) {
-      var width = _ref2.width,
-          height = _ref2.height;
-      return width >= popper.clientWidth && height >= popper.clientHeight;
-    });
-
-    var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;
-
-    var variation = placement.split('-')[1];
-
-    return computedPlacement + (variation ? '-' + variation : '');
-  }
-
-  /**
-   * Get offsets to the reference element
-   * @method
-   * @memberof Popper.Utils
-   * @param {Object} state
-   * @param {Element} popper - the popper element
-   * @param {Element} reference - the reference element (the popper will be relative to this)
-   * @param {Element} fixedPosition - is in fixed position mode
-   * @returns {Object} An object containing the offsets which will be applied to the popper
-   */
-  function getReferenceOffsets(state, popper, reference) {
-    var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
-
-    var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);
-    return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);
-  }
-
-  /**
-   * Get the outer sizes of the given element (offset size + margins)
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element
-   * @returns {Object} object containing width and height properties
-   */
-  function getOuterSizes(element) {
-    var window = element.ownerDocument.defaultView;
-    var styles = window.getComputedStyle(element);
-    var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);
-    var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);
-    var result = {
-      width: element.offsetWidth + y,
-      height: element.offsetHeight + x
-    };
-    return result;
-  }
-
-  /**
-   * Get the opposite placement of the given one
-   * @method
-   * @memberof Popper.Utils
-   * @argument {String} placement
-   * @returns {String} flipped placement
-   */
-  function getOppositePlacement(placement) {
-    var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };
-    return placement.replace(/left|right|bottom|top/g, function (matched) {
-      return hash[matched];
-    });
-  }
-
-  /**
-   * Get offsets to the popper
-   * @method
-   * @memberof Popper.Utils
-   * @param {Object} position - CSS position the Popper will get applied
-   * @param {HTMLElement} popper - the popper element
-   * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
-   * @param {String} placement - one of the valid placement options
-   * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
-   */
-  function getPopperOffsets(popper, referenceOffsets, placement) {
-    placement = placement.split('-')[0];
-
-    // Get popper node sizes
-    var popperRect = getOuterSizes(popper);
-
-    // Add position, width and height to our offsets object
-    var popperOffsets = {
-      width: popperRect.width,
-      height: popperRect.height
-    };
-
-    // depending by the popper placement we have to compute its offsets slightly differently
-    var isHoriz = ['right', 'left'].indexOf(placement) !== -1;
-    var mainSide = isHoriz ? 'top' : 'left';
-    var secondarySide = isHoriz ? 'left' : 'top';
-    var measurement = isHoriz ? 'height' : 'width';
-    var secondaryMeasurement = !isHoriz ? 'height' : 'width';
-
-    popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;
-    if (placement === secondarySide) {
-      popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
-    } else {
-      popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];
-    }
-
-    return popperOffsets;
-  }
-
-  /**
-   * Mimics the `find` method of Array
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Array} arr
-   * @argument prop
-   * @argument value
-   * @returns index or -1
-   */
-  function find(arr, check) {
-    // use native find if supported
-    if (Array.prototype.find) {
-      return arr.find(check);
-    }
-
-    // use `filter` to obtain the same behavior of `find`
-    return arr.filter(check)[0];
-  }
-
-  /**
-   * Return the index of the matching object
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Array} arr
-   * @argument prop
-   * @argument value
-   * @returns index or -1
-   */
-  function findIndex(arr, prop, value) {
-    // use native findIndex if supported
-    if (Array.prototype.findIndex) {
-      return arr.findIndex(function (cur) {
-        return cur[prop] === value;
-      });
-    }
-
-    // use `find` + `indexOf` if `findIndex` isn't supported
-    var match = find(arr, function (obj) {
-      return obj[prop] === value;
-    });
-    return arr.indexOf(match);
-  }
-
-  /**
-   * Loop trough the list of modifiers and run them in order,
-   * each of them will then edit the data object.
-   * @method
-   * @memberof Popper.Utils
-   * @param {dataObject} data
-   * @param {Array} modifiers
-   * @param {String} ends - Optional modifier name used as stopper
-   * @returns {dataObject}
-   */
-  function runModifiers(modifiers, data, ends) {
-    var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));
-
-    modifiersToRun.forEach(function (modifier) {
-      if (modifier['function']) {
-        // eslint-disable-line dot-notation
-        console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
-      }
-      var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
-      if (modifier.enabled && isFunction(fn)) {
-        // Add properties to offsets to make them a complete clientRect object
-        // we do this before each modifier to make sure the previous one doesn't
-        // mess with these values
-        data.offsets.popper = getClientRect(data.offsets.popper);
-        data.offsets.reference = getClientRect(data.offsets.reference);
-
-        data = fn(data, modifier);
-      }
-    });
-
-    return data;
-  }
-
-  /**
-   * Updates the position of the popper, computing the new offsets and applying
-   * the new style.<br />
-   * Prefer `scheduleUpdate` over `update` because of performance reasons.
-   * @method
-   * @memberof Popper
-   */
-  function update() {
-    // if popper is destroyed, don't perform any further update
-    if (this.state.isDestroyed) {
-      return;
-    }
-
-    var data = {
-      instance: this,
-      styles: {},
-      arrowStyles: {},
-      attributes: {},
-      flipped: false,
-      offsets: {}
-    };
-
-    // compute reference element offsets
-    data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);
-
-    // compute auto placement, store placement inside the data object,
-    // modifiers will be able to edit `placement` if needed
-    // and refer to originalPlacement to know the original value
-    data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);
-
-    // store the computed placement inside `originalPlacement`
-    data.originalPlacement = data.placement;
-
-    data.positionFixed = this.options.positionFixed;
-
-    // compute the popper offsets
-    data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);
-
-    data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';
-
-    // run the modifiers
-    data = runModifiers(this.modifiers, data);
-
-    // the first `update` will call `onCreate` callback
-    // the other ones will call `onUpdate` callback
-    if (!this.state.isCreated) {
-      this.state.isCreated = true;
-      this.options.onCreate(data);
-    } else {
-      this.options.onUpdate(data);
-    }
-  }
-
-  /**
-   * Helper used to know if the given modifier is enabled.
-   * @method
-   * @memberof Popper.Utils
-   * @returns {Boolean}
-   */
-  function isModifierEnabled(modifiers, modifierName) {
-    return modifiers.some(function (_ref) {
-      var name = _ref.name,
-          enabled = _ref.enabled;
-      return enabled && name === modifierName;
-    });
-  }
-
-  /**
-   * Get the prefixed supported property name
-   * @method
-   * @memberof Popper.Utils
-   * @argument {String} property (camelCase)
-   * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)
-   */
-  function getSupportedPropertyName(property) {
-    var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];
-    var upperProp = property.charAt(0).toUpperCase() + property.slice(1);
-
-    for (var i = 0; i < prefixes.length; i++) {
-      var prefix = prefixes[i];
-      var toCheck = prefix ? '' + prefix + upperProp : property;
-      if (typeof document.body.style[toCheck] !== 'undefined') {
-        return toCheck;
-      }
-    }
-    return null;
-  }
-
-  /**
-   * Destroys the popper.
-   * @method
-   * @memberof Popper
-   */
-  function destroy() {
-    this.state.isDestroyed = true;
-
-    // touch DOM only if `applyStyle` modifier is enabled
-    if (isModifierEnabled(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[getSupportedPropertyName('transform')] = '';
-    }
-
-    this.disableEventListeners();
-
-    // remove the popper if user explicity asked for the deletion on destroy
-    // do not use `remove` because IE11 doesn't support it
-    if (this.options.removeOnDestroy) {
-      this.popper.parentNode.removeChild(this.popper);
-    }
-    return this;
-  }
-
-  /**
-   * Get the window associated with the element
-   * @argument {Element} element
-   * @returns {Window}
-   */
-  function getWindow(element) {
-    var ownerDocument = element.ownerDocument;
-    return ownerDocument ? ownerDocument.defaultView : window;
-  }
-
-  function attachToScrollParents(scrollParent, event, callback, scrollParents) {
-    var isBody = scrollParent.nodeName === 'BODY';
-    var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
-    target.addEventListener(event, callback, { passive: true });
-
-    if (!isBody) {
-      attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);
-    }
-    scrollParents.push(target);
-  }
-
-  /**
-   * Setup needed event listeners used to update the popper position
-   * @method
-   * @memberof Popper.Utils
-   * @private
-   */
-  function setupEventListeners(reference, options, state, updateBound) {
-    // Resize event listener on window
-    state.updateBound = updateBound;
-    getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
-
-    // Scroll event listener on scroll parents
-    var scrollElement = getScrollParent(reference);
-    attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);
-    state.scrollElement = scrollElement;
-    state.eventsEnabled = true;
-
-    return state;
-  }
-
-  /**
-   * It will add resize/scroll events and start recalculating
-   * position of the popper element when they are triggered.
-   * @method
-   * @memberof Popper
-   */
-  function enableEventListeners() {
-    if (!this.state.eventsEnabled) {
-      this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);
-    }
-  }
-
-  /**
-   * Remove event listeners used to update the popper position
-   * @method
-   * @memberof Popper.Utils
-   * @private
-   */
-  function removeEventListeners(reference, state) {
-    // Remove resize event listener on window
-    getWindow(reference).removeEventListener('resize', state.updateBound);
-
-    // Remove scroll event listener on scroll parents
-    state.scrollParents.forEach(function (target) {
-      target.removeEventListener('scroll', state.updateBound);
-    });
-
-    // Reset state
-    state.updateBound = null;
-    state.scrollParents = [];
-    state.scrollElement = null;
-    state.eventsEnabled = false;
-    return state;
-  }
-
-  /**
-   * It will remove resize/scroll events and won't recalculate popper position
-   * when they are triggered. It also won't trigger `onUpdate` callback anymore,
-   * unless you call `update` method manually.
-   * @method
-   * @memberof Popper
-   */
-  function disableEventListeners() {
-    if (this.state.eventsEnabled) {
-      cancelAnimationFrame(this.scheduleUpdate);
-      this.state = removeEventListeners(this.reference, this.state);
-    }
-  }
-
-  /**
-   * Tells if a given input is a number
-   * @method
-   * @memberof Popper.Utils
-   * @param {*} input to check
-   * @return {Boolean}
-   */
-  function isNumeric(n) {
-    return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);
-  }
-
-  /**
-   * Set the style to the given popper
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element - Element to apply the style to
-   * @argument {Object} styles
-   * Object with a list of properties and values which will be applied to the element
-   */
-  function setStyles(element, styles) {
-    Object.keys(styles).forEach(function (prop) {
-      var unit = '';
-      // add unit if the value is numeric and is one of the following
-      if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {
-        unit = 'px';
-      }
-      element.style[prop] = styles[prop] + unit;
-    });
-  }
-
-  /**
-   * Set the attributes to the given popper
-   * @method
-   * @memberof Popper.Utils
-   * @argument {Element} element - Element to apply the attributes to
-   * @argument {Object} styles
-   * Object with a list of properties and values which will be applied to the element
-   */
-  function setAttributes(element, attributes) {
-    Object.keys(attributes).forEach(function (prop) {
-      var value = attributes[prop];
-      if (value !== false) {
-        element.setAttribute(prop, attributes[prop]);
-      } else {
-        element.removeAttribute(prop);
-      }
-    });
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Object} data.styles - List of style properties - values to apply to popper element
-   * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The same data object
-   */
-  function applyStyle(data) {
-    // any property present in `data.styles` will be applied to the popper,
-    // in this way we can make the 3rd party modifiers add custom styles to it
-    // Be aware, modifiers could override the properties defined in the previous
-    // lines of this modifier!
-    setStyles(data.instance.popper, data.styles);
-
-    // any property present in `data.attributes` will be applied to the popper,
-    // they will be set as HTML attributes of the element
-    setAttributes(data.instance.popper, data.attributes);
-
-    // if arrowElement is defined and arrowStyles has some properties
-    if (data.arrowElement && Object.keys(data.arrowStyles).length) {
-      setStyles(data.arrowElement, data.arrowStyles);
-    }
-
-    return data;
-  }
-
-  /**
-   * Set the x-placement attribute before everything else because it could be used
-   * to add margins to the popper margins needs to be calculated to get the
-   * correct popper offsets.
-   * @method
-   * @memberof Popper.modifiers
-   * @param {HTMLElement} reference - The reference element used to position the popper
-   * @param {HTMLElement} popper - The HTML element used as popper
-   * @param {Object} options - Popper.js options
-   */
-  function applyStyleOnLoad(reference, popper, options, modifierOptions, state) {
-    // compute reference element offsets
-    var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);
-
-    // compute auto placement, store placement inside the data object,
-    // modifiers will be able to edit `placement` if needed
-    // and refer to originalPlacement to know the original value
-    var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);
-
-    popper.setAttribute('x-placement', placement);
-
-    // Apply `position` to popper before anything else because
-    // without the position applied we can't guarantee correct computations
-    setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });
-
-    return options;
-  }
-
-  /**
-   * @function
-   * @memberof Popper.Utils
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Boolean} shouldRound - If the offsets should be rounded at all
-   * @returns {Object} The popper's position offsets rounded
-   *
-   * The tale of pixel-perfect positioning. It's still not 100% perfect, but as
-   * good as it can be within reason.
-   * Discussion here: https://github.com/FezVrasta/popper.js/pull/715
-   *
-   * Low DPI screens cause a popper to be blurry if not using full pixels (Safari
-   * as well on High DPI screens).
-   *
-   * Firefox prefers no rounding for positioning and does not have blurriness on
-   * high DPI screens.
-   *
-   * Only horizontal placement and left/right values need to be considered.
-   */
-  function getRoundedOffsets(data, shouldRound) {
-    var _data$offsets = data.offsets,
-        popper = _data$offsets.popper,
-        reference = _data$offsets.reference;
-    var round = Math.round,
-        floor = Math.floor;
-
-    var noRound = function noRound(v) {
-      return v;
-    };
-
-    var referenceWidth = round(reference.width);
-    var popperWidth = round(popper.width);
-
-    var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
-    var isVariation = data.placement.indexOf('-') !== -1;
-    var sameWidthParity = referenceWidth % 2 === popperWidth % 2;
-    var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
-
-    var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;
-    var verticalToInteger = !shouldRound ? noRound : round;
-
-    return {
-      left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),
-      top: verticalToInteger(popper.top),
-      bottom: verticalToInteger(popper.bottom),
-      right: horizontalToInteger(popper.right)
-    };
-  }
-
-  var isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function computeStyle(data, options) {
-    var x = options.x,
-        y = options.y;
-    var popper = data.offsets.popper;
-
-    // Remove this legacy support in Popper.js v2
-
-    var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {
-      return modifier.name === 'applyStyle';
-    }).gpuAcceleration;
-    if (legacyGpuAccelerationOption !== undefined) {
-      console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');
-    }
-    var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;
-
-    var offsetParent = getOffsetParent(data.instance.popper);
-    var offsetParentRect = getBoundingClientRect(offsetParent);
-
-    // Styles
-    var styles = {
-      position: popper.position
-    };
-
-    var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);
-
-    var sideA = x === 'bottom' ? 'top' : 'bottom';
-    var sideB = y === 'right' ? 'left' : 'right';
-
-    // if gpuAcceleration is set to `true` and transform is supported,
-    //  we use `translate3d` to apply the position to the popper we
-    // automatically use the supported prefixed version if needed
-    var prefixedProperty = getSupportedPropertyName('transform');
-
-    // now, let's make a step back and look at this code closely (wtf?)
-    // If the content of the popper grows once it's been positioned, it
-    // may happen that the popper gets misplaced because of the new content
-    // overflowing its reference element
-    // To avoid this problem, we provide two options (x and y), which allow
-    // the consumer to define the offset origin.
-    // If we position a popper on top of a reference element, we can set
-    // `x` to `top` to make the popper grow towards its top instead of
-    // its bottom.
-    var left = void 0,
-        top = void 0;
-    if (sideA === 'bottom') {
-      // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)
-      // and not the bottom of the html element
-      if (offsetParent.nodeName === 'HTML') {
-        top = -offsetParent.clientHeight + offsets.bottom;
-      } else {
-        top = -offsetParentRect.height + offsets.bottom;
-      }
-    } else {
-      top = offsets.top;
-    }
-    if (sideB === 'right') {
-      if (offsetParent.nodeName === 'HTML') {
-        left = -offsetParent.clientWidth + offsets.right;
-      } else {
-        left = -offsetParentRect.width + offsets.right;
-      }
-    } else {
-      left = offsets.left;
-    }
-    if (gpuAcceleration && prefixedProperty) {
-      styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';
-      styles[sideA] = 0;
-      styles[sideB] = 0;
-      styles.willChange = 'transform';
-    } else {
-      // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties
-      var invertTop = sideA === 'bottom' ? -1 : 1;
-      var invertLeft = sideB === 'right' ? -1 : 1;
-      styles[sideA] = top * invertTop;
-      styles[sideB] = left * invertLeft;
-      styles.willChange = sideA + ', ' + sideB;
-    }
-
-    // Attributes
-    var attributes = {
-      'x-placement': data.placement
-    };
-
-    // Update `data` attributes, styles and arrowStyles
-    data.attributes = _extends({}, attributes, data.attributes);
-    data.styles = _extends({}, styles, data.styles);
-    data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
-
-    return data;
-  }
-
-  /**
-   * Helper used to know if the given modifier depends from another one.<br />
-   * It checks if the needed modifier is listed and enabled.
-   * @method
-   * @memberof Popper.Utils
-   * @param {Array} modifiers - list of modifiers
-   * @param {String} requestingName - name of requesting modifier
-   * @param {String} requestedName - name of requested modifier
-   * @returns {Boolean}
-   */
-  function isModifierRequired(modifiers, requestingName, requestedName) {
-    var requesting = find(modifiers, function (_ref) {
-      var name = _ref.name;
-      return name === requestingName;
-    });
-
-    var isRequired = !!requesting && modifiers.some(function (modifier) {
-      return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;
-    });
-
-    if (!isRequired) {
-      var _requesting = '`' + requestingName + '`';
-      var requested = '`' + requestedName + '`';
-      console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');
-    }
-    return isRequired;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function arrow(data, options) {
-    var _data$offsets$arrow;
-
-    // arrow depends on keepTogether in order to work
-    if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
-      return data;
-    }
-
-    var arrowElement = options.element;
-
-    // if arrowElement is a string, suppose it's a CSS selector
-    if (typeof arrowElement === 'string') {
-      arrowElement = data.instance.popper.querySelector(arrowElement);
-
-      // if arrowElement is not found, don't run the modifier
-      if (!arrowElement) {
-        return data;
-      }
-    } else {
-      // if the arrowElement isn't a query selector we must check that the
-      // provided DOM node is child of its popper node
-      if (!data.instance.popper.contains(arrowElement)) {
-        console.warn('WARNING: `arrow.element` must be child of its popper element!');
-        return data;
-      }
-    }
-
-    var placement = data.placement.split('-')[0];
-    var _data$offsets = data.offsets,
-        popper = _data$offsets.popper,
-        reference = _data$offsets.reference;
-
-    var isVertical = ['left', 'right'].indexOf(placement) !== -1;
-
-    var len = isVertical ? 'height' : 'width';
-    var sideCapitalized = isVertical ? 'Top' : 'Left';
-    var side = sideCapitalized.toLowerCase();
-    var altSide = isVertical ? 'left' : 'top';
-    var opSide = isVertical ? 'bottom' : 'right';
-    var arrowElementSize = getOuterSizes(arrowElement)[len];
-
-    //
-    // extends keepTogether behavior making sure the popper and its
-    // reference have enough pixels in conjunction
-    //
-
-    // top/left side
-    if (reference[opSide] - arrowElementSize < popper[side]) {
-      data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);
-    }
-    // bottom/right side
-    if (reference[side] + arrowElementSize > popper[opSide]) {
-      data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
-    }
-    data.offsets.popper = getClientRect(data.offsets.popper);
-
-    // compute center of the popper
-    var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
-
-    // Compute the sideValue using the updated popper offsets
-    // take popper margin in account because we don't have this info available
-    var css = getStyleComputedProperty(data.instance.popper);
-    var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
-    var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
-    var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
-
-    // prevent arrowElement from being placed not contiguously to its popper
-    sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
-
-    data.arrowElement = arrowElement;
-    data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
-
-    return data;
-  }
-
-  /**
-   * Get the opposite placement variation of the given one
-   * @method
-   * @memberof Popper.Utils
-   * @argument {String} placement variation
-   * @returns {String} flipped placement variation
-   */
-  function getOppositeVariation(variation) {
-    if (variation === 'end') {
-      return 'start';
-    } else if (variation === 'start') {
-      return 'end';
-    }
-    return variation;
-  }
-
-  /**
-   * List of accepted placements to use as values of the `placement` option.<br />
-   * Valid placements are:
-   * - `auto`
-   * - `top`
-   * - `right`
-   * - `bottom`
-   * - `left`
-   *
-   * Each placement can have a variation from this list:
-   * - `-start`
-   * - `-end`
-   *
-   * Variations are interpreted easily if you think of them as the left to right
-   * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
-   * is right.<br />
-   * Vertically (`left` and `right`), `start` is top and `end` is bottom.
-   *
-   * Some valid examples are:
-   * - `top-end` (on top of reference, right aligned)
-   * - `right-start` (on right of reference, top aligned)
-   * - `bottom` (on bottom, centered)
-   * - `auto-end` (on the side with more space available, alignment depends by placement)
-   *
-   * @static
-   * @type {Array}
-   * @enum {String}
-   * @readonly
-   * @method placements
-   * @memberof Popper
-   */
-  var 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'];
-
-  // Get rid of `auto` `auto-start` and `auto-end`
-  var validPlacements = placements.slice(3);
-
-  /**
-   * Given an initial placement, returns all the subsequent placements
-   * clockwise (or counter-clockwise).
-   *
-   * @method
-   * @memberof Popper.Utils
-   * @argument {String} placement - A valid placement (it accepts variations)
-   * @argument {Boolean} counter - Set to true to walk the placements counterclockwise
-   * @returns {Array} placements including their variations
-   */
-  function clockwise(placement) {
-    var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-
-    var index = validPlacements.indexOf(placement);
-    var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));
-    return counter ? arr.reverse() : arr;
-  }
-
-  var BEHAVIORS = {
-    FLIP: 'flip',
-    CLOCKWISE: 'clockwise',
-    COUNTERCLOCKWISE: 'counterclockwise'
-  };
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function flip(data, options) {
-    // if `inner` modifier is enabled, we can't use the `flip` modifier
-    if (isModifierEnabled(data.instance.modifiers, 'inner')) {
-      return data;
-    }
-
-    if (data.flipped && data.placement === data.originalPlacement) {
-      // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides
-      return data;
-    }
-
-    var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);
-
-    var placement = data.placement.split('-')[0];
-    var placementOpposite = getOppositePlacement(placement);
-    var variation = data.placement.split('-')[1] || '';
-
-    var flipOrder = [];
-
-    switch (options.behavior) {
-      case BEHAVIORS.FLIP:
-        flipOrder = [placement, placementOpposite];
-        break;
-      case BEHAVIORS.CLOCKWISE:
-        flipOrder = clockwise(placement);
-        break;
-      case BEHAVIORS.COUNTERCLOCKWISE:
-        flipOrder = clockwise(placement, true);
-        break;
-      default:
-        flipOrder = options.behavior;
-    }
-
-    flipOrder.forEach(function (step, index) {
-      if (placement !== step || flipOrder.length === index + 1) {
-        return data;
-      }
-
-      placement = data.placement.split('-')[0];
-      placementOpposite = getOppositePlacement(placement);
-
-      var popperOffsets = data.offsets.popper;
-      var refOffsets = data.offsets.reference;
-
-      // using floor because the reference offsets may contain decimals we are not going to consider here
-      var floor = Math.floor;
-      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);
-
-      var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);
-      var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);
-      var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);
-      var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);
-
-      var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;
-
-      // flip the variation if required
-      var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
-      var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);
-
-      if (overlapsRef || overflowsBoundaries || flippedVariation) {
-        // this boolean to detect any flip loop
-        data.flipped = true;
-
-        if (overlapsRef || overflowsBoundaries) {
-          placement = flipOrder[index + 1];
-        }
-
-        if (flippedVariation) {
-          variation = getOppositeVariation(variation);
-        }
-
-        data.placement = placement + (variation ? '-' + variation : '');
-
-        // this object contains `position`, we want to preserve it along with
-        // any additional property we may add in the future
-        data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
-
-        data = runModifiers(data.instance.modifiers, data, 'flip');
-      }
-    });
-    return data;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function keepTogether(data) {
-    var _data$offsets = data.offsets,
-        popper = _data$offsets.popper,
-        reference = _data$offsets.reference;
-
-    var placement = data.placement.split('-')[0];
-    var floor = Math.floor;
-    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;
-    var side = isVertical ? 'right' : 'bottom';
-    var opSide = isVertical ? 'left' : 'top';
-    var measurement = isVertical ? 'width' : 'height';
-
-    if (popper[side] < floor(reference[opSide])) {
-      data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];
-    }
-    if (popper[opSide] > floor(reference[side])) {
-      data.offsets.popper[opSide] = floor(reference[side]);
-    }
-
-    return data;
-  }
-
-  /**
-   * Converts a string containing value + unit into a px value number
-   * @function
-   * @memberof {modifiers~offset}
-   * @private
-   * @argument {String} str - Value + unit string
-   * @argument {String} measurement - `height` or `width`
-   * @argument {Object} popperOffsets
-   * @argument {Object} referenceOffsets
-   * @returns {Number|String}
-   * Value in pixels, or original string if no values were extracted
-   */
-  function toValue(str, measurement, popperOffsets, referenceOffsets) {
-    // separate value from unit
-    var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/);
-    var value = +split[1];
-    var unit = split[2];
-
-    // If it's not a number it's an operator, I guess
-    if (!value) {
-      return str;
-    }
-
-    if (unit.indexOf('%') === 0) {
-      var element = void 0;
-      switch (unit) {
-        case '%p':
-          element = popperOffsets;
-          break;
-        case '%':
-        case '%r':
-        default:
-          element = referenceOffsets;
-      }
-
-      var rect = getClientRect(element);
-      return rect[measurement] / 100 * value;
-    } else if (unit === 'vh' || unit === 'vw') {
-      // if is a vh or vw, we calculate the size based on the viewport
-      var size = void 0;
-      if (unit === 'vh') {
-        size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
-      } else {
-        size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
-      }
-      return size / 100 * value;
-    } else {
-      // if is an explicit pixel unit, we get rid of the unit and keep the value
-      // if is an implicit unit, it's px, and we return just the value
-      return value;
-    }
-  }
-
-  /**
-   * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.
-   * @function
-   * @memberof {modifiers~offset}
-   * @private
-   * @argument {String} offset
-   * @argument {Object} popperOffsets
-   * @argument {Object} referenceOffsets
-   * @argument {String} basePlacement
-   * @returns {Array} a two cells array with x and y offsets in numbers
-   */
-  function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {
-    var offsets = [0, 0];
-
-    // Use height if placement is left or right and index is 0 otherwise use width
-    // in this way the first offset will use an axis and the second one
-    // will use the other one
-    var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;
-
-    // Split the offset string to obtain a list of values and operands
-    // The regex addresses values with the plus or minus sign in front (+10, -20, etc)
-    var fragments = offset.split(/(\+|\-)/).map(function (frag) {
-      return frag.trim();
-    });
-
-    // Detect if the offset string contains a pair of values or a single one
-    // they could be separated by comma or space
-    var divider = fragments.indexOf(find(fragments, function (frag) {
-      return frag.search(/,|\s/) !== -1;
-    }));
-
-    if (fragments[divider] && fragments[divider].indexOf(',') === -1) {
-      console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');
-    }
-
-    // If divider is found, we divide the list of values and operands to divide
-    // them by ofset X and Y.
-    var splitRegex = /\s*,\s*|\s+/;
-    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];
-
-    // Convert the values with units to absolute pixels to allow our computations
-    ops = ops.map(function (op, index) {
-      // Most of the units rely on the orientation of the popper
-      var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';
-      var mergeWithPrevious = false;
-      return op
-      // This aggregates any `+` or `-` sign that aren't considered operators
-      // e.g.: 10 + +5 => [10, +, +5]
-      .reduce(function (a, b) {
-        if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {
-          a[a.length - 1] = b;
-          mergeWithPrevious = true;
-          return a;
-        } else if (mergeWithPrevious) {
-          a[a.length - 1] += b;
-          mergeWithPrevious = false;
-          return a;
-        } else {
-          return a.concat(b);
-        }
-      }, [])
-      // Here we convert the string values into number values (in px)
-      .map(function (str) {
-        return toValue(str, measurement, popperOffsets, referenceOffsets);
-      });
-    });
-
-    // Loop trough the offsets arrays and execute the operations
-    ops.forEach(function (op, index) {
-      op.forEach(function (frag, index2) {
-        if (isNumeric(frag)) {
-          offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);
-        }
-      });
-    });
-    return offsets;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @argument {Number|String} options.offset=0
-   * The offset value as described in the modifier description
-   * @returns {Object} The data object, properly modified
-   */
-  function offset(data, _ref) {
-    var offset = _ref.offset;
-    var placement = data.placement,
-        _data$offsets = data.offsets,
-        popper = _data$offsets.popper,
-        reference = _data$offsets.reference;
-
-    var basePlacement = placement.split('-')[0];
-
-    var offsets = void 0;
-    if (isNumeric(+offset)) {
-      offsets = [+offset, 0];
-    } else {
-      offsets = parseOffset(offset, popper, reference, basePlacement);
-    }
-
-    if (basePlacement === 'left') {
-      popper.top += offsets[0];
-      popper.left -= offsets[1];
-    } else if (basePlacement === 'right') {
-      popper.top += offsets[0];
-      popper.left += offsets[1];
-    } else if (basePlacement === 'top') {
-      popper.left += offsets[0];
-      popper.top -= offsets[1];
-    } else if (basePlacement === 'bottom') {
-      popper.left += offsets[0];
-      popper.top += offsets[1];
-    }
-
-    data.popper = popper;
-    return data;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function preventOverflow(data, options) {
-    var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);
-
-    // If offsetParent is the reference element, we really want to
-    // go one step up and use the next offsetParent as reference to
-    // avoid to make this modifier completely useless and look like broken
-    if (data.instance.reference === boundariesElement) {
-      boundariesElement = getOffsetParent(boundariesElement);
-    }
-
-    // NOTE: DOM access here
-    // resets the popper's position so that the document size can be calculated excluding
-    // the size of the popper element itself
-    var transformProp = getSupportedPropertyName('transform');
-    var popperStyles = data.instance.popper.style; // assignment to help minification
-    var top = popperStyles.top,
-        left = popperStyles.left,
-        transform = popperStyles[transformProp];
-
-    popperStyles.top = '';
-    popperStyles.left = '';
-    popperStyles[transformProp] = '';
-
-    var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);
-
-    // NOTE: DOM access here
-    // restores the original style properties after the offsets have been computed
-    popperStyles.top = top;
-    popperStyles.left = left;
-    popperStyles[transformProp] = transform;
-
-    options.boundaries = boundaries;
-
-    var order = options.priority;
-    var popper = data.offsets.popper;
-
-    var check = {
-      primary: function primary(placement) {
-        var value = popper[placement];
-        if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {
-          value = Math.max(popper[placement], boundaries[placement]);
-        }
-        return defineProperty({}, placement, value);
-      },
-      secondary: function secondary(placement) {
-        var mainSide = placement === 'right' ? 'left' : 'top';
-        var value = popper[mainSide];
-        if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {
-          value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));
-        }
-        return defineProperty({}, mainSide, value);
-      }
-    };
-
-    order.forEach(function (placement) {
-      var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
-      popper = _extends({}, popper, check[side](placement));
-    });
-
-    data.offsets.popper = popper;
-
-    return data;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function shift(data) {
-    var placement = data.placement;
-    var basePlacement = placement.split('-')[0];
-    var shiftvariation = placement.split('-')[1];
-
-    // if shift shiftvariation is specified, run the modifier
-    if (shiftvariation) {
-      var _data$offsets = data.offsets,
-          reference = _data$offsets.reference,
-          popper = _data$offsets.popper;
-
-      var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;
-      var side = isVertical ? 'left' : 'top';
-      var measurement = isVertical ? 'width' : 'height';
-
-      var shiftOffsets = {
-        start: defineProperty({}, side, reference[side]),
-        end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
-      };
-
-      data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
-    }
-
-    return data;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by update method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function hide(data) {
-    if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
-      return data;
-    }
-
-    var refRect = data.offsets.reference;
-    var bound = find(data.instance.modifiers, function (modifier) {
-      return modifier.name === 'preventOverflow';
-    }).boundaries;
-
-    if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {
-      // Avoid unnecessary DOM access if visibility hasn't changed
-      if (data.hide === true) {
-        return data;
-      }
-
-      data.hide = true;
-      data.attributes['x-out-of-boundaries'] = '';
-    } else {
-      // Avoid unnecessary DOM access if visibility hasn't changed
-      if (data.hide === false) {
-        return data;
-      }
-
-      data.hide = false;
-      data.attributes['x-out-of-boundaries'] = false;
-    }
-
-    return data;
-  }
-
-  /**
-   * @function
-   * @memberof Modifiers
-   * @argument {Object} data - The data object generated by `update` method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {Object} The data object, properly modified
-   */
-  function inner(data) {
-    var placement = data.placement;
-    var basePlacement = placement.split('-')[0];
-    var _data$offsets = data.offsets,
-        popper = _data$offsets.popper,
-        reference = _data$offsets.reference;
-
-    var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;
-
-    var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;
-
-    popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);
-
-    data.placement = getOppositePlacement(placement);
-    data.offsets.popper = getClientRect(popper);
-
-    return data;
-  }
-
-  /**
-   * Modifier function, each modifier can have a function of this type assigned
-   * to its `fn` property.<br />
-   * These functions will be called on each update, this means that you must
-   * make sure they are performant enough to avoid performance bottlenecks.
-   *
-   * @function ModifierFn
-   * @argument {dataObject} data - The data object generated by `update` method
-   * @argument {Object} options - Modifiers configuration and options
-   * @returns {dataObject} The data object, properly modified
-   */
-
-  /**
-   * Modifiers are plugins used to alter the behavior of your poppers.<br />
-   * Popper.js uses a set of 9 modifiers to provide all the basic functionalities
-   * needed by the library.
-   *
-   * Usually you don't want to override the `order`, `fn` and `onLoad` props.
-   * All the other properties are configurations that could be tweaked.
-   * @namespace modifiers
-   */
-  var modifiers = {
-    /**
-     * Modifier used to shift the popper on the start or end of its reference
-     * element.<br />
-     * It will read the variation of the `placement` property.<br />
-     * It can be one either `-end` or `-start`.
-     * @memberof modifiers
-     * @inner
-     */
-    shift: {
-      /** @prop {number} order=100 - Index used to define the order of execution */
-      order: 100,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: shift
-    },
-
-    /**
-     * The `offset` modifier can shift your popper on both its axis.
-     *
-     * It accepts the following units:
-     * - `px` or unit-less, interpreted as pixels
-     * - `%` or `%r`, percentage relative to the length of the reference element
-     * - `%p`, percentage relative to the length of the popper element
-     * - `vw`, CSS viewport width unit
-     * - `vh`, CSS viewport height unit
-     *
-     * For length is intended the main axis relative to the placement of the popper.<br />
-     * This means that if the placement is `top` or `bottom`, the length will be the
-     * `width`. In case of `left` or `right`, it will be the `height`.
-     *
-     * You can provide a single value (as `Number` or `String`), or a pair of values
-     * as `String` divided by a comma or one (or more) white spaces.<br />
-     * The latter is a deprecated method because it leads to confusion and will be
-     * removed in v2.<br />
-     * Additionally, it accepts additions and subtractions between different units.
-     * Note that multiplications and divisions aren't supported.
-     *
-     * Valid examples are:
-     * ```
-     * 10
-     * '10%'
-     * '10, 10'
-     * '10%, 10'
-     * '10 + 10%'
-     * '10 - 5vh + 3%'
-     * '-10px + 5vh, 5px - 6%'
-     * ```
-     * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap
-     * > with their reference element, unfortunately, you will have to disable the `flip` modifier.
-     * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).
-     *
-     * @memberof modifiers
-     * @inner
-     */
-    offset: {
-      /** @prop {number} order=200 - Index used to define the order of execution */
-      order: 200,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: offset,
-      /** @prop {Number|String} offset=0
-       * The offset value as described in the modifier description
-       */
-      offset: 0
-    },
-
-    /**
-     * Modifier used to prevent the popper from being positioned outside the boundary.
-     *
-     * A scenario exists where the reference itself is not within the boundaries.<br />
-     * We can say it has "escaped the boundaries" — or just "escaped".<br />
-     * In this case we need to decide whether the popper should either:
-     *
-     * - detach from the reference and remain "trapped" in the boundaries, or
-     * - if it should ignore the boundary and "escape with its reference"
-     *
-     * When `escapeWithReference` is set to`true` and reference is completely
-     * outside its boundaries, the popper will overflow (or completely leave)
-     * the boundaries in order to remain attached to the edge of the reference.
-     *
-     * @memberof modifiers
-     * @inner
-     */
-    preventOverflow: {
-      /** @prop {number} order=300 - Index used to define the order of execution */
-      order: 300,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: preventOverflow,
-      /**
-       * @prop {Array} [priority=['left','right','top','bottom']]
-       * Popper will try to prevent overflow following these priorities by default,
-       * then, it could overflow on the left and on top of the `boundariesElement`
-       */
-      priority: ['left', 'right', 'top', 'bottom'],
-      /**
-       * @prop {number} padding=5
-       * Amount of pixel used to define a minimum distance between the boundaries
-       * and the popper. This makes sure the popper always has a little padding
-       * between the edges of its container
-       */
-      padding: 5,
-      /**
-       * @prop {String|HTMLElement} boundariesElement='scrollParent'
-       * Boundaries used by the modifier. Can be `scrollParent`, `window`,
-       * `viewport` or any DOM element.
-       */
-      boundariesElement: 'scrollParent'
-    },
-
-    /**
-     * Modifier used to make sure the reference and its popper stay near each other
-     * without leaving any gap between the two. Especially useful when the arrow is
-     * enabled and you want to ensure that it points to its reference element.
-     * It cares only about the first axis. You can still have poppers with margin
-     * between the popper and its reference element.
-     * @memberof modifiers
-     * @inner
-     */
-    keepTogether: {
-      /** @prop {number} order=400 - Index used to define the order of execution */
-      order: 400,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: keepTogether
-    },
-
-    /**
-     * This modifier is used to move the `arrowElement` of the popper to make
-     * sure it is positioned between the reference element and its popper element.
-     * It will read the outer size of the `arrowElement` node to detect how many
-     * pixels of conjunction are needed.
-     *
-     * It has no effect if no `arrowElement` is provided.
-     * @memberof modifiers
-     * @inner
-     */
-    arrow: {
-      /** @prop {number} order=500 - Index used to define the order of execution */
-      order: 500,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: arrow,
-      /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */
-      element: '[x-arrow]'
-    },
-
-    /**
-     * Modifier used to flip the popper's placement when it starts to overlap its
-     * reference element.
-     *
-     * Requires the `preventOverflow` modifier before it in order to work.
-     *
-     * **NOTE:** this modifier will interrupt the current update cycle and will
-     * restart it if it detects the need to flip the placement.
-     * @memberof modifiers
-     * @inner
-     */
-    flip: {
-      /** @prop {number} order=600 - Index used to define the order of execution */
-      order: 600,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: flip,
-      /**
-       * @prop {String|Array} behavior='flip'
-       * The behavior used to change the popper's placement. It can be one of
-       * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid
-       * placements (with optional variations)
-       */
-      behavior: 'flip',
-      /**
-       * @prop {number} padding=5
-       * The popper will flip if it hits the edges of the `boundariesElement`
-       */
-      padding: 5,
-      /**
-       * @prop {String|HTMLElement} boundariesElement='viewport'
-       * The element which will define the boundaries of the popper position.
-       * The popper will never be placed outside of the defined boundaries
-       * (except if `keepTogether` is enabled)
-       */
-      boundariesElement: 'viewport'
-    },
-
-    /**
-     * Modifier used to make the popper flow toward the inner of the reference element.
-     * By default, when this modifier is disabled, the popper will be placed outside
-     * the reference element.
-     * @memberof modifiers
-     * @inner
-     */
-    inner: {
-      /** @prop {number} order=700 - Index used to define the order of execution */
-      order: 700,
-      /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */
-      enabled: false,
-      /** @prop {ModifierFn} */
-      fn: inner
-    },
-
-    /**
-     * Modifier used to hide the popper when its reference element is outside of the
-     * popper boundaries. It will set a `x-out-of-boundaries` attribute which can
-     * be used to hide with a CSS selector the popper when its reference is
-     * out of boundaries.
-     *
-     * Requires the `preventOverflow` modifier before it in order to work.
-     * @memberof modifiers
-     * @inner
-     */
-    hide: {
-      /** @prop {number} order=800 - Index used to define the order of execution */
-      order: 800,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: hide
-    },
-
-    /**
-     * Computes the style that will be applied to the popper element to gets
-     * properly positioned.
-     *
-     * Note that this modifier will not touch the DOM, it just prepares the styles
-     * so that `applyStyle` modifier can apply it. This separation is useful
-     * in case you need to replace `applyStyle` with a custom implementation.
-     *
-     * This modifier has `850` as `order` value to maintain backward compatibility
-     * with previous versions of Popper.js. Expect the modifiers ordering method
-     * to change in future major versions of the library.
-     *
-     * @memberof modifiers
-     * @inner
-     */
-    computeStyle: {
-      /** @prop {number} order=850 - Index used to define the order of execution */
-      order: 850,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: computeStyle,
-      /**
-       * @prop {Boolean} gpuAcceleration=true
-       * If true, it uses the CSS 3D transformation to position the popper.
-       * Otherwise, it will use the `top` and `left` properties
-       */
-      gpuAcceleration: true,
-      /**
-       * @prop {string} [x='bottom']
-       * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.
-       * Change this if your popper should grow in a direction different from `bottom`
-       */
-      x: 'bottom',
-      /**
-       * @prop {string} [x='left']
-       * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.
-       * Change this if your popper should grow in a direction different from `right`
-       */
-      y: 'right'
-    },
-
-    /**
-     * Applies the computed styles to the popper element.
-     *
-     * All the DOM manipulations are limited to this modifier. This is useful in case
-     * you want to integrate Popper.js inside a framework or view library and you
-     * want to delegate all the DOM manipulations to it.
-     *
-     * Note that if you disable this modifier, you must make sure the popper element
-     * has its position set to `absolute` before Popper.js can do its work!
-     *
-     * Just disable this modifier and define your own to achieve the desired effect.
-     *
-     * @memberof modifiers
-     * @inner
-     */
-    applyStyle: {
-      /** @prop {number} order=900 - Index used to define the order of execution */
-      order: 900,
-      /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */
-      enabled: true,
-      /** @prop {ModifierFn} */
-      fn: applyStyle,
-      /** @prop {Function} */
-      onLoad: applyStyleOnLoad,
-      /**
-       * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier
-       * @prop {Boolean} gpuAcceleration=true
-       * If true, it uses the CSS 3D transformation to position the popper.
-       * Otherwise, it will use the `top` and `left` properties
-       */
-      gpuAcceleration: undefined
-    }
-  };
-
-  /**
-   * The `dataObject` is an object containing all the information used by Popper.js.
-   * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.
-   * @name dataObject
-   * @property {Object} data.instance The Popper.js instance
-   * @property {String} data.placement Placement applied to popper
-   * @property {String} data.originalPlacement Placement originally defined on init
-   * @property {Boolean} data.flipped True if popper has been flipped by flip modifier
-   * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper
-   * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier
-   * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)
-   * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)
-   * @property {Object} data.boundaries Offsets of the popper boundaries
-   * @property {Object} data.offsets The measurements of popper, reference and arrow elements
-   * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values
-   * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values
-   * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0
-   */
-
-  /**
-   * Default options provided to Popper.js constructor.<br />
-   * These can be overridden using the `options` argument of Popper.js.<br />
-   * To override an option, simply pass an object with the same
-   * structure of the `options` object, as the 3rd argument. For example:
-   * ```
-   * new Popper(ref, pop, {
-   *   modifiers: {
-   *     preventOverflow: { enabled: false }
-   *   }
-   * })
-   * ```
-   * @type {Object}
-   * @static
-   * @memberof Popper
-   */
-  var Defaults = {
-    /**
-     * Popper's placement.
-     * @prop {Popper.placements} placement='bottom'
-     */
-    placement: 'bottom',
-
-    /**
-     * Set this to true if you want popper to position it self in 'fixed' mode
-     * @prop {Boolean} positionFixed=false
-     */
-    positionFixed: false,
-
-    /**
-     * Whether events (resize, scroll) are initially enabled.
-     * @prop {Boolean} eventsEnabled=true
-     */
-    eventsEnabled: true,
-
-    /**
-     * Set to true if you want to automatically remove the popper when
-     * you call the `destroy` method.
-     * @prop {Boolean} removeOnDestroy=false
-     */
-    removeOnDestroy: false,
-
-    /**
-     * Callback called when the popper is created.<br />
-     * By default, it is set to no-op.<br />
-     * Access Popper.js instance with `data.instance`.
-     * @prop {onCreate}
-     */
-    onCreate: function onCreate() {},
-
-    /**
-     * Callback called when the popper is updated. This callback is not called
-     * on the initialization/creation of the popper, but only on subsequent
-     * updates.<br />
-     * By default, it is set to no-op.<br />
-     * Access Popper.js instance with `data.instance`.
-     * @prop {onUpdate}
-     */
-    onUpdate: function onUpdate() {},
-
-    /**
-     * List of modifiers used to modify the offsets before they are applied to the popper.
-     * They provide most of the functionalities of Popper.js.
-     * @prop {modifiers}
-     */
-    modifiers: modifiers
-  };
-
-  /**
-   * @callback onCreate
-   * @param {dataObject} data
-   */
-
-  /**
-   * @callback onUpdate
-   * @param {dataObject} data
-   */
-
-  // Utils
-  // Methods
-  var Popper = function () {
-    /**
-     * Creates a new Popper.js instance.
-     * @class Popper
-     * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper
-     * @param {HTMLElement} popper - The HTML element used as the popper
-     * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)
-     * @return {Object} instance - The generated Popper.js instance
-     */
-    function Popper(reference, popper) {
-      var _this = this;
-
-      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
-      classCallCheck(this, Popper);
-
-      this.scheduleUpdate = function () {
-        return requestAnimationFrame(_this.update);
-      };
-
-      // make update() debounced, so that it only runs at most once-per-tick
-      this.update = debounce(this.update.bind(this));
-
-      // with {} we create a new object with the options inside it
-      this.options = _extends({}, Popper.Defaults, options);
-
-      // init state
-      this.state = {
-        isDestroyed: false,
-        isCreated: false,
-        scrollParents: []
-      };
-
-      // get reference and popper elements (allow jQuery wrappers)
-      this.reference = reference && reference.jquery ? reference[0] : reference;
-      this.popper = popper && popper.jquery ? popper[0] : popper;
-
-      // Deep merge modifiers options
-      this.options.modifiers = {};
-      Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
-        _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
-      });
-
-      // Refactoring modifiers' list (Object => Array)
-      this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
-        return _extends({
-          name: name
-        }, _this.options.modifiers[name]);
-      })
-      // sort the modifiers by order
-      .sort(function (a, b) {
-        return a.order - b.order;
-      });
-
-      // modifiers have the ability to execute arbitrary code when Popper.js get inited
-      // such code is executed in the same order of its modifier
-      // they could add new properties to their options configuration
-      // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!
-      this.modifiers.forEach(function (modifierOptions) {
-        if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {
-          modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);
-        }
-      });
-
-      // fire the first update to position the popper in the right place
-      this.update();
-
-      var eventsEnabled = this.options.eventsEnabled;
-      if (eventsEnabled) {
-        // setup event listeners, they will take care of update the position in specific situations
-        this.enableEventListeners();
-      }
-
-      this.state.eventsEnabled = eventsEnabled;
-    }
-
-    // We can't use class properties because they don't get listed in the
-    // class prototype and break stuff like Sinon stubs
-
-
-    createClass(Popper, [{
-      key: 'update',
-      value: function update$$1() {
-        return update.call(this);
-      }
-    }, {
-      key: 'destroy',
-      value: function destroy$$1() {
-        return destroy.call(this);
-      }
-    }, {
-      key: 'enableEventListeners',
-      value: function enableEventListeners$$1() {
-        return enableEventListeners.call(this);
-      }
-    }, {
-      key: 'disableEventListeners',
-      value: function disableEventListeners$$1() {
-        return disableEventListeners.call(this);
-      }
-
-      /**
-       * Schedules an update. It will run on the next UI update available.
-       * @method scheduleUpdate
-       * @memberof Popper
-       */
-
-
-      /**
-       * Collection of utilities useful when writing custom modifiers.
-       * Starting from version 1.7, this method is available only if you
-       * include `popper-utils.js` before `popper.js`.
-       *
-       * **DEPRECATION**: This way to access PopperUtils is deprecated
-       * and will be removed in v2! Use the PopperUtils module directly instead.
-       * Due to the high instability of the methods contained in Utils, we can't
-       * guarantee them to follow semver. Use them at your own risk!
-       * @static
-       * @private
-       * @type {Object}
-       * @deprecated since version 1.8
-       * @member Utils
-       * @memberof Popper
-       */
-
-    }]);
-    return Popper;
-  }();
-
-  /**
-   * The `referenceObject` is an object that provides an interface compatible with Popper.js
-   * and lets you use it as replacement of a real DOM node.<br />
-   * You can use this method to position a popper relatively to a set of coordinates
-   * in case you don't have a DOM node to use as reference.
-   *
-   * ```
-   * new Popper(referenceObject, popperNode);
-   * ```
-   *
-   * NB: This feature isn't supported in Internet Explorer 10.
-   * @name referenceObject
-   * @property {Function} data.getBoundingClientRect
-   * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.
-   * @property {number} data.clientWidth
-   * An ES6 getter that will return the width of the virtual reference element.
-   * @property {number} data.clientHeight
-   * An ES6 getter that will return the height of the virtual reference element.
-   */
-
-
-  Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;
-  Popper.placements = placements;
-  Popper.Defaults = Defaults;
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$4 = 'dropdown';
-  var VERSION$4 = '4.3.1';
-  var DATA_KEY$4 = 'bs.dropdown';
-  var EVENT_KEY$4 = "." + DATA_KEY$4;
-  var DATA_API_KEY$4 = '.data-api';
-  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
-  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
-  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
-
-  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
-
-  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
-
-  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
-
-  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
-
-  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
-  var Event$4 = {
-    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
-  };
-  var ClassName$4 = {
-    DISABLED: 'disabled',
-    SHOW: 'show',
-    DROPUP: 'dropup',
-    DROPRIGHT: 'dropright',
-    DROPLEFT: 'dropleft',
-    MENURIGHT: 'dropdown-menu-right',
-    MENULEFT: 'dropdown-menu-left',
-    POSITION_STATIC: 'position-static'
-  };
-  var 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)'
-  };
-  var 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'
-  };
-  var Default$2 = {
-    offset: 0,
-    flip: true,
-    boundary: 'scrollParent',
-    reference: 'toggle',
-    display: 'dynamic'
-  };
-  var DefaultType$2 = {
-    offset: '(number|string|function)',
-    flip: 'boolean',
-    boundary: '(string|element)',
-    reference: '(string|element)',
-    display: 'string'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Dropdown =
-  /*#__PURE__*/
-  function () {
-    function Dropdown(element, config) {
-      this._element = element;
-      this._popper = null;
-      this._config = this._getConfig(config);
-      this._menu = this._getMenuElement();
-      this._inNavbar = this._detectNavbar();
-
-      this._addEventListeners();
-    } // Getters
-
-
-    var _proto = Dropdown.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
-        return;
-      }
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
-
-      Dropdown._clearMenus();
-
-      if (isActive) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
-      $(parent).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented()) {
-        return;
-      } // Disable totally Popper.js for Dropdown in Navbar
-
-
-      if (!this._inNavbar) {
-        /**
-         * Check for Popper dependency
-         * Popper - https://popper.js.org
-         */
-        if (typeof Popper === 'undefined') {
-          throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
-        }
-
-        var referenceElement = this._element;
-
-        if (this._config.reference === 'parent') {
-          referenceElement = parent;
-        } else if (Util.isElement(this._config.reference)) {
-          referenceElement = this._config.reference; // Check if it's jQuery element
-
-          if (typeof this._config.reference.jquery !== 'undefined') {
-            referenceElement = this._config.reference[0];
-          }
-        } // If boundary is not `scrollParent`, then set position to `static`
-        // to allow the menu to "escape" the scroll parent's boundaries
-        // https://github.com/twbs/bootstrap/issues/24251
-
-
-        if (this._config.boundary !== 'scrollParent') {
-          $(parent).addClass(ClassName$4.POSITION_STATIC);
-        }
-
-        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
-      } // If this is a touch-enabled device we add extra
-      // empty mouseover listeners to the body's immediate children;
-      // only needed because of broken event delegation on iOS
-      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
-
-      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
-        $(document.body).children().on('mouseover', null, $.noop);
-      }
-
-      this._element.focus();
-
-      this._element.setAttribute('aria-expanded', true);
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
-    };
-
-    _proto.show = function show() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      $(parent).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
-    };
-
-    _proto.hide = function hide() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      $(parent).trigger(hideEvent);
-
-      if (hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$4);
-      $(this._element).off(EVENT_KEY$4);
-      this._element = null;
-      this._menu = null;
-
-      if (this._popper !== null) {
-        this._popper.destroy();
-
-        this._popper = null;
-      }
-    };
-
-    _proto.update = function update() {
-      this._inNavbar = this._detectNavbar();
-
-      if (this._popper !== null) {
-        this._popper.scheduleUpdate();
-      }
-    } // Private
-    ;
-
-    _proto._addEventListeners = function _addEventListeners() {
-      var _this = this;
-
-      $(this._element).on(Event$4.CLICK, function (event) {
-        event.preventDefault();
-        event.stopPropagation();
-
-        _this.toggle();
-      });
-    };
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
-      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
-      return config;
-    };
-
-    _proto._getMenuElement = function _getMenuElement() {
-      if (!this._menu) {
-        var parent = Dropdown._getParentFromElement(this._element);
-
-        if (parent) {
-          this._menu = parent.querySelector(Selector$4.MENU);
-        }
-      }
-
-      return this._menu;
-    };
-
-    _proto._getPlacement = function _getPlacement() {
-      var $parentDropdown = $(this._element.parentNode);
-      var placement = AttachmentMap.BOTTOM; // Handle dropup
-
-      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
-        placement = AttachmentMap.TOP;
-
-        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
-          placement = AttachmentMap.TOPEND;
-        }
-      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
-        placement = AttachmentMap.RIGHT;
-      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
-        placement = AttachmentMap.LEFT;
-      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
-        placement = AttachmentMap.BOTTOMEND;
-      }
-
-      return placement;
-    };
-
-    _proto._detectNavbar = function _detectNavbar() {
-      return $(this._element).closest('.navbar').length > 0;
-    };
-
-    _proto._getOffset = function _getOffset() {
-      var _this2 = this;
-
-      var offset = {};
-
-      if (typeof this._config.offset === 'function') {
-        offset.fn = function (data) {
-          data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
-          return data;
-        };
-      } else {
-        offset.offset = this._config.offset;
-      }
-
-      return offset;
-    };
-
-    _proto._getPopperConfig = function _getPopperConfig() {
-      var popperConfig = {
-        placement: this._getPlacement(),
-        modifiers: {
-          offset: this._getOffset(),
-          flip: {
-            enabled: this._config.flip
-          },
-          preventOverflow: {
-            boundariesElement: this._config.boundary
-          }
-        } // Disable Popper.js if we have a static display
-
-      };
-
-      if (this._config.display === 'static') {
-        popperConfig.modifiers.applyStyle = {
-          enabled: false
-        };
-      }
-
-      return popperConfig;
-    } // Static
-    ;
-
-    Dropdown._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$4);
-
-        var _config = typeof config === 'object' ? config : null;
-
-        if (!data) {
-          data = new Dropdown(this, _config);
-          $(this).data(DATA_KEY$4, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    Dropdown._clearMenus = function _clearMenus(event) {
-      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
-        return;
-      }
-
-      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
-
-      for (var i = 0, len = toggles.length; i < len; i++) {
-        var parent = Dropdown._getParentFromElement(toggles[i]);
-
-        var context = $(toggles[i]).data(DATA_KEY$4);
-        var relatedTarget = {
-          relatedTarget: toggles[i]
-        };
-
-        if (event && event.type === 'click') {
-          relatedTarget.clickEvent = event;
-        }
-
-        if (!context) {
-          continue;
-        }
-
-        var dropdownMenu = context._menu;
-
-        if (!$(parent).hasClass(ClassName$4.SHOW)) {
-          continue;
-        }
-
-        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
-          continue;
-        }
-
-        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
-        $(parent).trigger(hideEvent);
-
-        if (hideEvent.isDefaultPrevented()) {
-          continue;
-        } // If this is a touch-enabled device we remove the extra
-        // empty mouseover listeners we added for iOS support
-
-
-        if ('ontouchstart' in document.documentElement) {
-          $(document.body).children().off('mouseover', null, $.noop);
-        }
-
-        toggles[i].setAttribute('aria-expanded', 'false');
-        $(dropdownMenu).removeClass(ClassName$4.SHOW);
-        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
-      }
-    };
-
-    Dropdown._getParentFromElement = function _getParentFromElement(element) {
-      var parent;
-      var selector = Util.getSelectorFromElement(element);
-
-      if (selector) {
-        parent = document.querySelector(selector);
-      }
-
-      return parent || element.parentNode;
-    } // eslint-disable-next-line complexity
-    ;
-
-    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
-      // If not input/textarea:
-      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
-      // If input/textarea:
-      //  - If space key => not a dropdown command
-      //  - If key is other than escape
-      //    - If key is not up or down => not a dropdown command
-      //    - If trigger inside the menu => not a dropdown command
-      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
-        return;
-      }
-
-      event.preventDefault();
-      event.stopPropagation();
-
-      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
-        return;
-      }
-
-      var parent = Dropdown._getParentFromElement(this);
-
-      var isActive = $(parent).hasClass(ClassName$4.SHOW);
-
-      if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
-        if (event.which === ESCAPE_KEYCODE) {
-          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
-          $(toggle).trigger('focus');
-        }
-
-        $(this).trigger('click');
-        return;
-      }
-
-      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
-
-      if (items.length === 0) {
-        return;
-      }
-
-      var index = items.indexOf(event.target);
-
-      if (event.which === ARROW_UP_KEYCODE && index > 0) {
-        // Up
-        index--;
-      }
-
-      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
-        // Down
-        index++;
-      }
-
-      if (index < 0) {
-        index = 0;
-      }
-
-      items[index].focus();
-    };
-
-    _createClass(Dropdown, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$4;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$2;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$2;
-      }
-    }]);
-
-    return Dropdown;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
-    event.preventDefault();
-    event.stopPropagation();
-
-    Dropdown._jQueryInterface.call($(this), 'toggle');
-  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
-    e.stopPropagation();
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$4] = Dropdown._jQueryInterface;
-  $.fn[NAME$4].Constructor = Dropdown;
-
-  $.fn[NAME$4].noConflict = function () {
-    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
-    return Dropdown._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$5 = 'modal';
-  var VERSION$5 = '4.3.1';
-  var DATA_KEY$5 = 'bs.modal';
-  var EVENT_KEY$5 = "." + DATA_KEY$5;
-  var DATA_API_KEY$5 = '.data-api';
-  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
-  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
-
-  var Default$3 = {
-    backdrop: true,
-    keyboard: true,
-    focus: true,
-    show: true
-  };
-  var DefaultType$3 = {
-    backdrop: '(boolean|string)',
-    keyboard: 'boolean',
-    focus: 'boolean',
-    show: 'boolean'
-  };
-  var Event$5 = {
-    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
-  };
-  var ClassName$5 = {
-    SCROLLABLE: 'modal-dialog-scrollable',
-    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
-    BACKDROP: 'modal-backdrop',
-    OPEN: 'modal-open',
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var 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'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Modal =
-  /*#__PURE__*/
-  function () {
-    function Modal(element, config) {
-      this._config = this._getConfig(config);
-      this._element = element;
-      this._dialog = element.querySelector(Selector$5.DIALOG);
-      this._backdrop = null;
-      this._isShown = false;
-      this._isBodyOverflowing = false;
-      this._ignoreBackdropClick = false;
-      this._isTransitioning = false;
-      this._scrollbarWidth = 0;
-    } // Getters
-
-
-    var _proto = Modal.prototype;
-
-    // Public
-    _proto.toggle = function toggle(relatedTarget) {
-      return this._isShown ? this.hide() : this.show(relatedTarget);
-    };
-
-    _proto.show = function show(relatedTarget) {
-      var _this = this;
-
-      if (this._isShown || this._isTransitioning) {
-        return;
-      }
-
-      if ($(this._element).hasClass(ClassName$5.FADE)) {
-        this._isTransitioning = true;
-      }
-
-      var showEvent = $.Event(Event$5.SHOW, {
-        relatedTarget: relatedTarget
-      });
-      $(this._element).trigger(showEvent);
-
-      if (this._isShown || showEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._isShown = true;
-
-      this._checkScrollbar();
-
-      this._setScrollbar();
-
-      this._adjustDialog();
-
-      this._setEscapeEvent();
-
-      this._setResizeEvent();
-
-      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
-        return _this.hide(event);
-      });
-      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
-        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
-          if ($(event.target).is(_this._element)) {
-            _this._ignoreBackdropClick = true;
-          }
-        });
-      });
-
-      this._showBackdrop(function () {
-        return _this._showElement(relatedTarget);
-      });
-    };
-
-    _proto.hide = function hide(event) {
-      var _this2 = this;
-
-      if (event) {
-        event.preventDefault();
-      }
-
-      if (!this._isShown || this._isTransitioning) {
-        return;
-      }
-
-      var hideEvent = $.Event(Event$5.HIDE);
-      $(this._element).trigger(hideEvent);
-
-      if (!this._isShown || hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._isShown = false;
-      var transition = $(this._element).hasClass(ClassName$5.FADE);
-
-      if (transition) {
-        this._isTransitioning = true;
-      }
-
-      this._setEscapeEvent();
-
-      this._setResizeEvent();
-
-      $(document).off(Event$5.FOCUSIN);
-      $(this._element).removeClass(ClassName$5.SHOW);
-      $(this._element).off(Event$5.CLICK_DISMISS);
-      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
-
-      if (transition) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, function (event) {
-          return _this2._hideModal(event);
-        }).emulateTransitionEnd(transitionDuration);
-      } else {
-        this._hideModal();
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      [window, this._element, this._dialog].forEach(function (htmlElement) {
-        return $(htmlElement).off(EVENT_KEY$5);
-      });
-      /**
-       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
-       * Do not move `document` in `htmlElements` array
-       * It will remove `Event.CLICK_DATA_API` event that should remain
-       */
-
-      $(document).off(Event$5.FOCUSIN);
-      $.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;
-    };
-
-    _proto.handleUpdate = function handleUpdate() {
-      this._adjustDialog();
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$3, config);
-      Util.typeCheckConfig(NAME$5, config, DefaultType$3);
-      return config;
-    };
-
-    _proto._showElement = function _showElement(relatedTarget) {
-      var _this3 = this;
-
-      var transition = $(this._element).hasClass(ClassName$5.FADE);
-
-      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
-        // Don't move modal's DOM position
-        document.body.appendChild(this._element);
-      }
-
-      this._element.style.display = 'block';
-
-      this._element.removeAttribute('aria-hidden');
-
-      this._element.setAttribute('aria-modal', true);
-
-      if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
-        this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
-      } else {
-        this._element.scrollTop = 0;
-      }
-
-      if (transition) {
-        Util.reflow(this._element);
-      }
-
-      $(this._element).addClass(ClassName$5.SHOW);
-
-      if (this._config.focus) {
-        this._enforceFocus();
-      }
-
-      var shownEvent = $.Event(Event$5.SHOWN, {
-        relatedTarget: relatedTarget
-      });
-
-      var transitionComplete = function transitionComplete() {
-        if (_this3._config.focus) {
-          _this3._element.focus();
-        }
-
-        _this3._isTransitioning = false;
-        $(_this3._element).trigger(shownEvent);
-      };
-
-      if (transition) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
-        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
-      } else {
-        transitionComplete();
-      }
-    };
-
-    _proto._enforceFocus = function _enforceFocus() {
-      var _this4 = this;
-
-      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
-      .on(Event$5.FOCUSIN, function (event) {
-        if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
-          _this4._element.focus();
-        }
-      });
-    };
-
-    _proto._setEscapeEvent = function _setEscapeEvent() {
-      var _this5 = this;
-
-      if (this._isShown && this._config.keyboard) {
-        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
-          if (event.which === ESCAPE_KEYCODE$1) {
-            event.preventDefault();
-
-            _this5.hide();
-          }
-        });
-      } else if (!this._isShown) {
-        $(this._element).off(Event$5.KEYDOWN_DISMISS);
-      }
-    };
-
-    _proto._setResizeEvent = function _setResizeEvent() {
-      var _this6 = this;
-
-      if (this._isShown) {
-        $(window).on(Event$5.RESIZE, function (event) {
-          return _this6.handleUpdate(event);
-        });
-      } else {
-        $(window).off(Event$5.RESIZE);
-      }
-    };
-
-    _proto._hideModal = function _hideModal() {
-      var _this7 = this;
-
-      this._element.style.display = 'none';
-
-      this._element.setAttribute('aria-hidden', true);
-
-      this._element.removeAttribute('aria-modal');
-
-      this._isTransitioning = false;
-
-      this._showBackdrop(function () {
-        $(document.body).removeClass(ClassName$5.OPEN);
-
-        _this7._resetAdjustments();
-
-        _this7._resetScrollbar();
-
-        $(_this7._element).trigger(Event$5.HIDDEN);
-      });
-    };
-
-    _proto._removeBackdrop = function _removeBackdrop() {
-      if (this._backdrop) {
-        $(this._backdrop).remove();
-        this._backdrop = null;
-      }
-    };
-
-    _proto._showBackdrop = function _showBackdrop(callback) {
-      var _this8 = this;
-
-      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
-
-      if (this._isShown && this._config.backdrop) {
-        this._backdrop = document.createElement('div');
-        this._backdrop.className = ClassName$5.BACKDROP;
-
-        if (animate) {
-          this._backdrop.classList.add(animate);
-        }
-
-        $(this._backdrop).appendTo(document.body);
-        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
-          if (_this8._ignoreBackdropClick) {
-            _this8._ignoreBackdropClick = false;
-            return;
-          }
-
-          if (event.target !== event.currentTarget) {
-            return;
-          }
-
-          if (_this8._config.backdrop === 'static') {
-            _this8._element.focus();
-          } else {
-            _this8.hide();
-          }
-        });
-
-        if (animate) {
-          Util.reflow(this._backdrop);
-        }
-
-        $(this._backdrop).addClass(ClassName$5.SHOW);
-
-        if (!callback) {
-          return;
-        }
-
-        if (!animate) {
-          callback();
-          return;
-        }
-
-        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
-        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
-      } else if (!this._isShown && this._backdrop) {
-        $(this._backdrop).removeClass(ClassName$5.SHOW);
-
-        var callbackRemove = function callbackRemove() {
-          _this8._removeBackdrop();
-
-          if (callback) {
-            callback();
-          }
-        };
-
-        if ($(this._element).hasClass(ClassName$5.FADE)) {
-          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
-
-          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
-        } else {
-          callbackRemove();
-        }
-      } else if (callback) {
-        callback();
-      }
-    } // ----------------------------------------------------------------------
-    // the following methods are used to handle overflowing modals
-    // todo (fat): these should probably be refactored out of modal.js
-    // ----------------------------------------------------------------------
-    ;
-
-    _proto._adjustDialog = function _adjustDialog() {
-      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
-
-      if (!this._isBodyOverflowing && isModalOverflowing) {
-        this._element.style.paddingLeft = this._scrollbarWidth + "px";
-      }
-
-      if (this._isBodyOverflowing && !isModalOverflowing) {
-        this._element.style.paddingRight = this._scrollbarWidth + "px";
-      }
-    };
-
-    _proto._resetAdjustments = function _resetAdjustments() {
-      this._element.style.paddingLeft = '';
-      this._element.style.paddingRight = '';
-    };
-
-    _proto._checkScrollbar = function _checkScrollbar() {
-      var rect = document.body.getBoundingClientRect();
-      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
-      this._scrollbarWidth = this._getScrollbarWidth();
-    };
-
-    _proto._setScrollbar = function _setScrollbar() {
-      var _this9 = this;
-
-      if (this._isBodyOverflowing) {
-        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
-        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
-        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
-        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
-
-        $(fixedContent).each(function (index, element) {
-          var actualPadding = element.style.paddingRight;
-          var calculatedPadding = $(element).css('padding-right');
-          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
-        }); // Adjust sticky content margin
-
-        $(stickyContent).each(function (index, element) {
-          var actualMargin = element.style.marginRight;
-          var calculatedMargin = $(element).css('margin-right');
-          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
-        }); // Adjust body padding
-
-        var actualPadding = document.body.style.paddingRight;
-        var calculatedPadding = $(document.body).css('padding-right');
-        $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
-      }
-
-      $(document.body).addClass(ClassName$5.OPEN);
-    };
-
-    _proto._resetScrollbar = function _resetScrollbar() {
-      // Restore fixed content padding
-      var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
-      $(fixedContent).each(function (index, element) {
-        var padding = $(element).data('padding-right');
-        $(element).removeData('padding-right');
-        element.style.paddingRight = padding ? padding : '';
-      }); // Restore sticky content
-
-      var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
-      $(elements).each(function (index, element) {
-        var margin = $(element).data('margin-right');
-
-        if (typeof margin !== 'undefined') {
-          $(element).css('margin-right', margin).removeData('margin-right');
-        }
-      }); // Restore body padding
-
-      var padding = $(document.body).data('padding-right');
-      $(document.body).removeData('padding-right');
-      document.body.style.paddingRight = padding ? padding : '';
-    };
-
-    _proto._getScrollbarWidth = function _getScrollbarWidth() {
-      // thx d.walsh
-      var scrollDiv = document.createElement('div');
-      scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
-      document.body.appendChild(scrollDiv);
-      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
-      document.body.removeChild(scrollDiv);
-      return scrollbarWidth;
-    } // Static
-    ;
-
-    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$5);
-
-        var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
-
-        if (!data) {
-          data = new Modal(this, _config);
-          $(this).data(DATA_KEY$5, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config](relatedTarget);
-        } else if (_config.show) {
-          data.show(relatedTarget);
-        }
-      });
-    };
-
-    _createClass(Modal, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$5;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$3;
-      }
-    }]);
-
-    return Modal;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
-    var _this10 = this;
-
-    var target;
-    var selector = Util.getSelectorFromElement(this);
-
-    if (selector) {
-      target = document.querySelector(selector);
-    }
-
-    var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
-
-    if (this.tagName === 'A' || this.tagName === 'AREA') {
-      event.preventDefault();
-    }
-
-    var $target = $(target).one(Event$5.SHOW, function (showEvent) {
-      if (showEvent.isDefaultPrevented()) {
-        // Only register focus restorer if modal will actually get shown
-        return;
-      }
-
-      $target.one(Event$5.HIDDEN, function () {
-        if ($(_this10).is(':visible')) {
-          _this10.focus();
-        }
-      });
-    });
-
-    Modal._jQueryInterface.call($(target), config, this);
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$5] = Modal._jQueryInterface;
-  $.fn[NAME$5].Constructor = Modal;
-
-  $.fn[NAME$5].noConflict = function () {
-    $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
-    return Modal._jQueryInterface;
-  };
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): tools/sanitizer.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
-  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
-  var DefaultWhitelist = {
-    // Global attributes allowed on any supplied element below.
-    '*': ['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: []
-    /**
-     * A pattern that recognizes a commonly useful subset of URLs that are safe.
-     *
-     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-     */
-
-  };
-  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
-  /**
-   * A pattern that matches safe data URLs. Only matches image, video and audio types.
-   *
-   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-   */
-
-  var 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;
-
-  function allowedAttribute(attr, allowedAttributeList) {
-    var attrName = attr.nodeName.toLowerCase();
-
-    if (allowedAttributeList.indexOf(attrName) !== -1) {
-      if (uriAttrs.indexOf(attrName) !== -1) {
-        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
-      }
-
-      return true;
-    }
-
-    var regExp = allowedAttributeList.filter(function (attrRegex) {
-      return attrRegex instanceof RegExp;
-    }); // Check if a regular expression validates the attribute.
-
-    for (var i = 0, l = regExp.length; i < l; i++) {
-      if (attrName.match(regExp[i])) {
-        return true;
-      }
-    }
-
-    return false;
-  }
-
-  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
-    if (unsafeHtml.length === 0) {
-      return unsafeHtml;
-    }
-
-    if (sanitizeFn && typeof sanitizeFn === 'function') {
-      return sanitizeFn(unsafeHtml);
-    }
-
-    var domParser = new window.DOMParser();
-    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
-    var whitelistKeys = Object.keys(whiteList);
-    var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
-
-    var _loop = function _loop(i, len) {
-      var el = elements[i];
-      var elName = el.nodeName.toLowerCase();
-
-      if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
-        el.parentNode.removeChild(el);
-        return "continue";
-      }
-
-      var attributeList = [].slice.call(el.attributes);
-      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
-      attributeList.forEach(function (attr) {
-        if (!allowedAttribute(attr, whitelistedAttributes)) {
-          el.removeAttribute(attr.nodeName);
-        }
-      });
-    };
-
-    for (var i = 0, len = elements.length; i < len; i++) {
-      var _ret = _loop(i, len);
-
-      if (_ret === "continue") continue;
-    }
-
-    return createdDocument.body.innerHTML;
-  }
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$6 = 'tooltip';
-  var VERSION$6 = '4.3.1';
-  var DATA_KEY$6 = 'bs.tooltip';
-  var EVENT_KEY$6 = "." + DATA_KEY$6;
-  var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
-  var CLASS_PREFIX = 'bs-tooltip';
-  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
-  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
-  var 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'
-  };
-  var AttachmentMap$1 = {
-    AUTO: 'auto',
-    TOP: 'top',
-    RIGHT: 'right',
-    BOTTOM: 'bottom',
-    LEFT: 'left'
-  };
-  var Default$4 = {
-    animation: true,
-    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    selector: false,
-    placement: 'top',
-    offset: 0,
-    container: false,
-    fallbackPlacement: 'flip',
-    boundary: 'scrollParent',
-    sanitize: true,
-    sanitizeFn: null,
-    whiteList: DefaultWhitelist
-  };
-  var HoverState = {
-    SHOW: 'show',
-    OUT: 'out'
-  };
-  var Event$6 = {
-    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
-  };
-  var ClassName$6 = {
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$6 = {
-    TOOLTIP: '.tooltip',
-    TOOLTIP_INNER: '.tooltip-inner',
-    ARROW: '.arrow'
-  };
-  var Trigger = {
-    HOVER: 'hover',
-    FOCUS: 'focus',
-    CLICK: 'click',
-    MANUAL: 'manual'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Tooltip =
-  /*#__PURE__*/
-  function () {
-    function Tooltip(element, config) {
-      /**
-       * Check for Popper dependency
-       * Popper - https://popper.js.org
-       */
-      if (typeof Popper === 'undefined') {
-        throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
-      } // private
-
-
-      this._isEnabled = true;
-      this._timeout = 0;
-      this._hoverState = '';
-      this._activeTrigger = {};
-      this._popper = null; // Protected
-
-      this.element = element;
-      this.config = this._getConfig(config);
-      this.tip = null;
-
-      this._setListeners();
-    } // Getters
-
-
-    var _proto = Tooltip.prototype;
-
-    // Public
-    _proto.enable = function enable() {
-      this._isEnabled = true;
-    };
-
-    _proto.disable = function disable() {
-      this._isEnabled = false;
-    };
-
-    _proto.toggleEnabled = function toggleEnabled() {
-      this._isEnabled = !this._isEnabled;
-    };
-
-    _proto.toggle = function toggle(event) {
-      if (!this._isEnabled) {
-        return;
-      }
-
-      if (event) {
-        var dataKey = this.constructor.DATA_KEY;
-        var context = $(event.currentTarget).data(dataKey);
-
-        if (!context) {
-          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-          $(event.currentTarget).data(dataKey, context);
-        }
-
-        context._activeTrigger.click = !context._activeTrigger.click;
-
-        if (context._isWithActiveTrigger()) {
-          context._enter(null, context);
-        } else {
-          context._leave(null, context);
-        }
-      } else {
-        if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
-          this._leave(null, this);
-
-          return;
-        }
-
-        this._enter(null, this);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      clearTimeout(this._timeout);
-      $.removeData(this.element, this.constructor.DATA_KEY);
-      $(this.element).off(this.constructor.EVENT_KEY);
-      $(this.element).closest('.modal').off('hide.bs.modal');
-
-      if (this.tip) {
-        $(this.tip).remove();
-      }
-
-      this._isEnabled = null;
-      this._timeout = null;
-      this._hoverState = null;
-      this._activeTrigger = null;
-
-      if (this._popper !== null) {
-        this._popper.destroy();
-      }
-
-      this._popper = null;
-      this.element = null;
-      this.config = null;
-      this.tip = null;
-    };
-
-    _proto.show = function show() {
-      var _this = this;
-
-      if ($(this.element).css('display') === 'none') {
-        throw new Error('Please use show on visible elements');
-      }
-
-      var showEvent = $.Event(this.constructor.Event.SHOW);
-
-      if (this.isWithContent() && this._isEnabled) {
-        $(this.element).trigger(showEvent);
-        var shadowRoot = Util.findShadowRoot(this.element);
-        var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
-
-        if (showEvent.isDefaultPrevented() || !isInTheDom) {
-          return;
-        }
-
-        var tip = this.getTipElement();
-        var tipId = Util.getUID(this.constructor.NAME);
-        tip.setAttribute('id', tipId);
-        this.element.setAttribute('aria-describedby', tipId);
-        this.setContent();
-
-        if (this.config.animation) {
-          $(tip).addClass(ClassName$6.FADE);
-        }
-
-        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
-
-        var attachment = this._getAttachment(placement);
-
-        this.addAttachmentClass(attachment);
-
-        var container = this._getContainer();
-
-        $(tip).data(this.constructor.DATA_KEY, this);
-
-        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
-          $(tip).appendTo(container);
-        }
-
-        $(this.element).trigger(this.constructor.Event.INSERTED);
-        this._popper = new Popper(this.element, tip, {
-          placement: attachment,
-          modifiers: {
-            offset: this._getOffset(),
-            flip: {
-              behavior: this.config.fallbackPlacement
-            },
-            arrow: {
-              element: Selector$6.ARROW
-            },
-            preventOverflow: {
-              boundariesElement: this.config.boundary
-            }
-          },
-          onCreate: function onCreate(data) {
-            if (data.originalPlacement !== data.placement) {
-              _this._handlePopperPlacementChange(data);
-            }
-          },
-          onUpdate: function onUpdate(data) {
-            return _this._handlePopperPlacementChange(data);
-          }
-        });
-        $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
-        // empty mouseover listeners to the body's immediate children;
-        // only needed because of broken event delegation on iOS
-        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
-        if ('ontouchstart' in document.documentElement) {
-          $(document.body).children().on('mouseover', null, $.noop);
-        }
-
-        var complete = function complete() {
-          if (_this.config.animation) {
-            _this._fixTransition();
-          }
-
-          var prevHoverState = _this._hoverState;
-          _this._hoverState = null;
-          $(_this.element).trigger(_this.constructor.Event.SHOWN);
-
-          if (prevHoverState === HoverState.OUT) {
-            _this._leave(null, _this);
-          }
-        };
-
-        if ($(this.tip).hasClass(ClassName$6.FADE)) {
-          var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
-          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-        } else {
-          complete();
-        }
-      }
-    };
-
-    _proto.hide = function hide(callback) {
-      var _this2 = this;
-
-      var tip = this.getTipElement();
-      var hideEvent = $.Event(this.constructor.Event.HIDE);
-
-      var complete = function complete() {
-        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
-          tip.parentNode.removeChild(tip);
-        }
-
-        _this2._cleanTipClass();
-
-        _this2.element.removeAttribute('aria-describedby');
-
-        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
-
-        if (_this2._popper !== null) {
-          _this2._popper.destroy();
-        }
-
-        if (callback) {
-          callback();
-        }
-      };
-
-      $(this.element).trigger(hideEvent);
-
-      if (hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
-      // empty mouseover listeners we added for iOS support
-
-      if ('ontouchstart' in document.documentElement) {
-        $(document.body).children().off('mouseover', null, $.noop);
-      }
-
-      this._activeTrigger[Trigger.CLICK] = false;
-      this._activeTrigger[Trigger.FOCUS] = false;
-      this._activeTrigger[Trigger.HOVER] = false;
-
-      if ($(this.tip).hasClass(ClassName$6.FADE)) {
-        var transitionDuration = Util.getTransitionDurationFromElement(tip);
-        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-
-      this._hoverState = '';
-    };
-
-    _proto.update = function update() {
-      if (this._popper !== null) {
-        this._popper.scheduleUpdate();
-      }
-    } // Protected
-    ;
-
-    _proto.isWithContent = function isWithContent() {
-      return Boolean(this.getTitle());
-    };
-
-    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
-      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
-    };
-
-    _proto.getTipElement = function getTipElement() {
-      this.tip = this.tip || $(this.config.template)[0];
-      return this.tip;
-    };
-
-    _proto.setContent = function setContent() {
-      var tip = this.getTipElement();
-      this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
-      $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
-    };
-
-    _proto.setElementContent = function setElementContent($element, content) {
-      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
-        // Content is a DOM node or a jQuery
-        if (this.config.html) {
-          if (!$(content).parent().is($element)) {
-            $element.empty().append(content);
-          }
-        } else {
-          $element.text($(content).text());
-        }
-
-        return;
-      }
-
-      if (this.config.html) {
-        if (this.config.sanitize) {
-          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
-        }
-
-        $element.html(content);
-      } else {
-        $element.text(content);
-      }
-    };
-
-    _proto.getTitle = function getTitle() {
-      var title = this.element.getAttribute('data-original-title');
-
-      if (!title) {
-        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
-      }
-
-      return title;
-    } // Private
-    ;
-
-    _proto._getOffset = function _getOffset() {
-      var _this3 = this;
-
-      var offset = {};
-
-      if (typeof this.config.offset === 'function') {
-        offset.fn = function (data) {
-          data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
-          return data;
-        };
-      } else {
-        offset.offset = this.config.offset;
-      }
-
-      return offset;
-    };
-
-    _proto._getContainer = function _getContainer() {
-      if (this.config.container === false) {
-        return document.body;
-      }
-
-      if (Util.isElement(this.config.container)) {
-        return $(this.config.container);
-      }
-
-      return $(document).find(this.config.container);
-    };
-
-    _proto._getAttachment = function _getAttachment(placement) {
-      return AttachmentMap$1[placement.toUpperCase()];
-    };
-
-    _proto._setListeners = function _setListeners() {
-      var _this4 = this;
-
-      var triggers = this.config.trigger.split(' ');
-      triggers.forEach(function (trigger) {
-        if (trigger === 'click') {
-          $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
-            return _this4.toggle(event);
-          });
-        } else if (trigger !== Trigger.MANUAL) {
-          var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
-          var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
-          $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
-            return _this4._enter(event);
-          }).on(eventOut, _this4.config.selector, function (event) {
-            return _this4._leave(event);
-          });
-        }
-      });
-      $(this.element).closest('.modal').on('hide.bs.modal', function () {
-        if (_this4.element) {
-          _this4.hide();
-        }
-      });
-
-      if (this.config.selector) {
-        this.config = _objectSpread({}, this.config, {
-          trigger: 'manual',
-          selector: ''
-        });
-      } else {
-        this._fixTitle();
-      }
-    };
-
-    _proto._fixTitle = function _fixTitle() {
-      var titleType = typeof this.element.getAttribute('data-original-title');
-
-      if (this.element.getAttribute('title') || titleType !== 'string') {
-        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
-        this.element.setAttribute('title', '');
-      }
-    };
-
-    _proto._enter = function _enter(event, context) {
-      var dataKey = this.constructor.DATA_KEY;
-      context = context || $(event.currentTarget).data(dataKey);
-
-      if (!context) {
-        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-        $(event.currentTarget).data(dataKey, context);
-      }
-
-      if (event) {
-        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
-      }
-
-      if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
-        context._hoverState = HoverState.SHOW;
-        return;
-      }
-
-      clearTimeout(context._timeout);
-      context._hoverState = HoverState.SHOW;
-
-      if (!context.config.delay || !context.config.delay.show) {
-        context.show();
-        return;
-      }
-
-      context._timeout = setTimeout(function () {
-        if (context._hoverState === HoverState.SHOW) {
-          context.show();
-        }
-      }, context.config.delay.show);
-    };
-
-    _proto._leave = function _leave(event, context) {
-      var dataKey = this.constructor.DATA_KEY;
-      context = context || $(event.currentTarget).data(dataKey);
-
-      if (!context) {
-        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-        $(event.currentTarget).data(dataKey, context);
-      }
-
-      if (event) {
-        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
-      }
-
-      if (context._isWithActiveTrigger()) {
-        return;
-      }
-
-      clearTimeout(context._timeout);
-      context._hoverState = HoverState.OUT;
-
-      if (!context.config.delay || !context.config.delay.hide) {
-        context.hide();
-        return;
-      }
-
-      context._timeout = setTimeout(function () {
-        if (context._hoverState === HoverState.OUT) {
-          context.hide();
-        }
-      }, context.config.delay.hide);
-    };
-
-    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
-      for (var trigger in this._activeTrigger) {
-        if (this._activeTrigger[trigger]) {
-          return true;
-        }
-      }
-
-      return false;
-    };
-
-    _proto._getConfig = function _getConfig(config) {
-      var dataAttributes = $(this.element).data();
-      Object.keys(dataAttributes).forEach(function (dataAttr) {
-        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
-          delete dataAttributes[dataAttr];
-        }
-      });
-      config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
-
-      if (typeof config.delay === 'number') {
-        config.delay = {
-          show: config.delay,
-          hide: config.delay
-        };
-      }
-
-      if (typeof config.title === 'number') {
-        config.title = config.title.toString();
-      }
-
-      if (typeof config.content === 'number') {
-        config.content = config.content.toString();
-      }
-
-      Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
-
-      if (config.sanitize) {
-        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
-      }
-
-      return config;
-    };
-
-    _proto._getDelegateConfig = function _getDelegateConfig() {
-      var config = {};
-
-      if (this.config) {
-        for (var key in this.config) {
-          if (this.constructor.Default[key] !== this.config[key]) {
-            config[key] = this.config[key];
-          }
-        }
-      }
-
-      return config;
-    };
-
-    _proto._cleanTipClass = function _cleanTipClass() {
-      var $tip = $(this.getTipElement());
-      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
-
-      if (tabClass !== null && tabClass.length) {
-        $tip.removeClass(tabClass.join(''));
-      }
-    };
-
-    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
-      var popperInstance = popperData.instance;
-      this.tip = popperInstance.popper;
-
-      this._cleanTipClass();
-
-      this.addAttachmentClass(this._getAttachment(popperData.placement));
-    };
-
-    _proto._fixTransition = function _fixTransition() {
-      var tip = this.getTipElement();
-      var initConfigAnimation = this.config.animation;
-
-      if (tip.getAttribute('x-placement') !== null) {
-        return;
-      }
-
-      $(tip).removeClass(ClassName$6.FADE);
-      this.config.animation = false;
-      this.hide();
-      this.show();
-      this.config.animation = initConfigAnimation;
-    } // Static
-    ;
-
-    Tooltip._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$6);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data && /dispose|hide/.test(config)) {
-          return;
-        }
-
-        if (!data) {
-          data = new Tooltip(this, _config);
-          $(this).data(DATA_KEY$6, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Tooltip, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$6;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$4;
-      }
-    }, {
-      key: "NAME",
-      get: function get() {
-        return NAME$6;
-      }
-    }, {
-      key: "DATA_KEY",
-      get: function get() {
-        return DATA_KEY$6;
-      }
-    }, {
-      key: "Event",
-      get: function get() {
-        return Event$6;
-      }
-    }, {
-      key: "EVENT_KEY",
-      get: function get() {
-        return EVENT_KEY$6;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$4;
-      }
-    }]);
-
-    return Tooltip;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$6] = Tooltip._jQueryInterface;
-  $.fn[NAME$6].Constructor = Tooltip;
-
-  $.fn[NAME$6].noConflict = function () {
-    $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
-    return Tooltip._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$7 = 'popover';
-  var VERSION$7 = '4.3.1';
-  var DATA_KEY$7 = 'bs.popover';
-  var EVENT_KEY$7 = "." + DATA_KEY$7;
-  var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
-  var CLASS_PREFIX$1 = 'bs-popover';
-  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
-
-  var Default$5 = _objectSpread({}, Tooltip.Default, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
-  });
-
-  var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
-    content: '(string|element|function)'
-  });
-
-  var ClassName$7 = {
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$7 = {
-    TITLE: '.popover-header',
-    CONTENT: '.popover-body'
-  };
-  var Event$7 = {
-    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
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Popover =
-  /*#__PURE__*/
-  function (_Tooltip) {
-    _inheritsLoose(Popover, _Tooltip);
-
-    function Popover() {
-      return _Tooltip.apply(this, arguments) || this;
-    }
-
-    var _proto = Popover.prototype;
-
-    // Overrides
-    _proto.isWithContent = function isWithContent() {
-      return this.getTitle() || this._getContent();
-    };
-
-    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
-      $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
-    };
-
-    _proto.getTipElement = function getTipElement() {
-      this.tip = this.tip || $(this.config.template)[0];
-      return this.tip;
-    };
-
-    _proto.setContent = function setContent() {
-      var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
-
-      this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
-
-      var content = this._getContent();
-
-      if (typeof content === 'function') {
-        content = content.call(this.element);
-      }
-
-      this.setElementContent($tip.find(Selector$7.CONTENT), content);
-      $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
-    } // Private
-    ;
-
-    _proto._getContent = function _getContent() {
-      return this.element.getAttribute('data-content') || this.config.content;
-    };
-
-    _proto._cleanTipClass = function _cleanTipClass() {
-      var $tip = $(this.getTipElement());
-      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
-
-      if (tabClass !== null && tabClass.length > 0) {
-        $tip.removeClass(tabClass.join(''));
-      }
-    } // Static
-    ;
-
-    Popover._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$7);
-
-        var _config = typeof config === 'object' ? config : null;
-
-        if (!data && /dispose|hide/.test(config)) {
-          return;
-        }
-
-        if (!data) {
-          data = new Popover(this, _config);
-          $(this).data(DATA_KEY$7, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Popover, null, [{
-      key: "VERSION",
-      // Getters
-      get: function get() {
-        return VERSION$7;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$5;
-      }
-    }, {
-      key: "NAME",
-      get: function get() {
-        return NAME$7;
-      }
-    }, {
-      key: "DATA_KEY",
-      get: function get() {
-        return DATA_KEY$7;
-      }
-    }, {
-      key: "Event",
-      get: function get() {
-        return Event$7;
-      }
-    }, {
-      key: "EVENT_KEY",
-      get: function get() {
-        return EVENT_KEY$7;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$5;
-      }
-    }]);
-
-    return Popover;
-  }(Tooltip);
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$7] = Popover._jQueryInterface;
-  $.fn[NAME$7].Constructor = Popover;
-
-  $.fn[NAME$7].noConflict = function () {
-    $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
-    return Popover._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$8 = 'scrollspy';
-  var VERSION$8 = '4.3.1';
-  var DATA_KEY$8 = 'bs.scrollspy';
-  var EVENT_KEY$8 = "." + DATA_KEY$8;
-  var DATA_API_KEY$6 = '.data-api';
-  var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
-  var Default$6 = {
-    offset: 10,
-    method: 'auto',
-    target: ''
-  };
-  var DefaultType$6 = {
-    offset: 'number',
-    method: 'string',
-    target: '(string|element)'
-  };
-  var Event$8 = {
-    ACTIVATE: "activate" + EVENT_KEY$8,
-    SCROLL: "scroll" + EVENT_KEY$8,
-    LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
-  };
-  var ClassName$8 = {
-    DROPDOWN_ITEM: 'dropdown-item',
-    DROPDOWN_MENU: 'dropdown-menu',
-    ACTIVE: 'active'
-  };
-  var Selector$8 = {
-    DATA_SPY: '[data-spy="scroll"]',
-    ACTIVE: '.active',
-    NAV_LIST_GROUP: '.nav, .list-group',
-    NAV_LINKS: '.nav-link',
-    NAV_ITEMS: '.nav-item',
-    LIST_ITEMS: '.list-group-item',
-    DROPDOWN: '.dropdown',
-    DROPDOWN_ITEMS: '.dropdown-item',
-    DROPDOWN_TOGGLE: '.dropdown-toggle'
-  };
-  var OffsetMethod = {
-    OFFSET: 'offset',
-    POSITION: 'position'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var ScrollSpy =
-  /*#__PURE__*/
-  function () {
-    function ScrollSpy(element, config) {
-      var _this = this;
-
-      this._element = element;
-      this._scrollElement = element.tagName === 'BODY' ? window : element;
-      this._config = this._getConfig(config);
-      this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
-      this._offsets = [];
-      this._targets = [];
-      this._activeTarget = null;
-      this._scrollHeight = 0;
-      $(this._scrollElement).on(Event$8.SCROLL, function (event) {
-        return _this._process(event);
-      });
-      this.refresh();
-
-      this._process();
-    } // Getters
-
-
-    var _proto = ScrollSpy.prototype;
-
-    // Public
-    _proto.refresh = function refresh() {
-      var _this2 = this;
-
-      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
-      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
-      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
-      this._offsets = [];
-      this._targets = [];
-      this._scrollHeight = this._getScrollHeight();
-      var targets = [].slice.call(document.querySelectorAll(this._selector));
-      targets.map(function (element) {
-        var target;
-        var targetSelector = Util.getSelectorFromElement(element);
-
-        if (targetSelector) {
-          target = document.querySelector(targetSelector);
-        }
-
-        if (target) {
-          var targetBCR = target.getBoundingClientRect();
-
-          if (targetBCR.width || targetBCR.height) {
-            // TODO (fat): remove sketch reliance on jQuery position/offset
-            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
-          }
-        }
-
-        return null;
-      }).filter(function (item) {
-        return item;
-      }).sort(function (a, b) {
-        return a[0] - b[0];
-      }).forEach(function (item) {
-        _this2._offsets.push(item[0]);
-
-        _this2._targets.push(item[1]);
-      });
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$8);
-      $(this._scrollElement).off(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;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
-
-      if (typeof config.target !== 'string') {
-        var id = $(config.target).attr('id');
-
-        if (!id) {
-          id = Util.getUID(NAME$8);
-          $(config.target).attr('id', id);
-        }
-
-        config.target = "#" + id;
-      }
-
-      Util.typeCheckConfig(NAME$8, config, DefaultType$6);
-      return config;
-    };
-
-    _proto._getScrollTop = function _getScrollTop() {
-      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
-    };
-
-    _proto._getScrollHeight = function _getScrollHeight() {
-      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
-    };
-
-    _proto._getOffsetHeight = function _getOffsetHeight() {
-      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
-    };
-
-    _proto._process = function _process() {
-      var scrollTop = this._getScrollTop() + this._config.offset;
-
-      var scrollHeight = this._getScrollHeight();
-
-      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
-
-      if (this._scrollHeight !== scrollHeight) {
-        this.refresh();
-      }
-
-      if (scrollTop >= maxScroll) {
-        var target = this._targets[this._targets.length - 1];
-
-        if (this._activeTarget !== target) {
-          this._activate(target);
-        }
-
-        return;
-      }
-
-      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
-        this._activeTarget = null;
-
-        this._clear();
-
-        return;
-      }
-
-      var offsetLength = this._offsets.length;
-
-      for (var i = offsetLength; i--;) {
-        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
-
-        if (isActiveTarget) {
-          this._activate(this._targets[i]);
-        }
-      }
-    };
-
-    _proto._activate = function _activate(target) {
-      this._activeTarget = target;
-
-      this._clear();
-
-      var queries = this._selector.split(',').map(function (selector) {
-        return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
-      });
-
-      var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
-
-      if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
-        $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
-        $link.addClass(ClassName$8.ACTIVE);
-      } else {
-        // Set triggered link as active
-        $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
-        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
-
-        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
-
-        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
-      }
-
-      $(this._scrollElement).trigger(Event$8.ACTIVATE, {
-        relatedTarget: target
-      });
-    };
-
-    _proto._clear = function _clear() {
-      [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
-        return node.classList.contains(ClassName$8.ACTIVE);
-      }).forEach(function (node) {
-        return node.classList.remove(ClassName$8.ACTIVE);
-      });
-    } // Static
-    ;
-
-    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$8);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data) {
-          data = new ScrollSpy(this, _config);
-          $(this).data(DATA_KEY$8, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(ScrollSpy, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$8;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$6;
-      }
-    }]);
-
-    return ScrollSpy;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(window).on(Event$8.LOAD_DATA_API, function () {
-    var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
-    var scrollSpysLength = scrollSpys.length;
-
-    for (var i = scrollSpysLength; i--;) {
-      var $spy = $(scrollSpys[i]);
-
-      ScrollSpy._jQueryInterface.call($spy, $spy.data());
-    }
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$8] = ScrollSpy._jQueryInterface;
-  $.fn[NAME$8].Constructor = ScrollSpy;
-
-  $.fn[NAME$8].noConflict = function () {
-    $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
-    return ScrollSpy._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$9 = 'tab';
-  var VERSION$9 = '4.3.1';
-  var DATA_KEY$9 = 'bs.tab';
-  var EVENT_KEY$9 = "." + DATA_KEY$9;
-  var DATA_API_KEY$7 = '.data-api';
-  var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
-  var Event$9 = {
-    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
-  };
-  var ClassName$9 = {
-    DROPDOWN_MENU: 'dropdown-menu',
-    ACTIVE: 'active',
-    DISABLED: 'disabled',
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$9 = {
-    DROPDOWN: '.dropdown',
-    NAV_LIST_GROUP: '.nav, .list-group',
-    ACTIVE: '.active',
-    ACTIVE_UL: '> li > .active',
-    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
-    DROPDOWN_TOGGLE: '.dropdown-toggle',
-    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Tab =
-  /*#__PURE__*/
-  function () {
-    function Tab(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Tab.prototype;
-
-    // Public
-    _proto.show = function show() {
-      var _this = this;
-
-      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
-        return;
-      }
-
-      var target;
-      var previous;
-      var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
-      var selector = Util.getSelectorFromElement(this._element);
-
-      if (listElement) {
-        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
-        previous = $.makeArray($(listElement).find(itemSelector));
-        previous = previous[previous.length - 1];
-      }
-
-      var hideEvent = $.Event(Event$9.HIDE, {
-        relatedTarget: this._element
-      });
-      var showEvent = $.Event(Event$9.SHOW, {
-        relatedTarget: previous
-      });
-
-      if (previous) {
-        $(previous).trigger(hideEvent);
-      }
-
-      $(this._element).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (selector) {
-        target = document.querySelector(selector);
-      }
-
-      this._activate(this._element, listElement);
-
-      var complete = function complete() {
-        var hiddenEvent = $.Event(Event$9.HIDDEN, {
-          relatedTarget: _this._element
-        });
-        var shownEvent = $.Event(Event$9.SHOWN, {
-          relatedTarget: previous
-        });
-        $(previous).trigger(hiddenEvent);
-        $(_this._element).trigger(shownEvent);
-      };
-
-      if (target) {
-        this._activate(target, target.parentNode, complete);
-      } else {
-        complete();
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$9);
-      this._element = null;
-    } // Private
-    ;
-
-    _proto._activate = function _activate(element, container, callback) {
-      var _this2 = this;
-
-      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
-      var active = activeElements[0];
-      var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
-
-      var complete = function complete() {
-        return _this2._transitionComplete(element, active, callback);
-      };
-
-      if (active && isTransitioning) {
-        var transitionDuration = Util.getTransitionDurationFromElement(active);
-        $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    };
-
-    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
-      if (active) {
-        $(active).removeClass(ClassName$9.ACTIVE);
-        var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
-
-        if (dropdownChild) {
-          $(dropdownChild).removeClass(ClassName$9.ACTIVE);
-        }
-
-        if (active.getAttribute('role') === 'tab') {
-          active.setAttribute('aria-selected', false);
-        }
-      }
-
-      $(element).addClass(ClassName$9.ACTIVE);
-
-      if (element.getAttribute('role') === 'tab') {
-        element.setAttribute('aria-selected', true);
-      }
-
-      Util.reflow(element);
-
-      if (element.classList.contains(ClassName$9.FADE)) {
-        element.classList.add(ClassName$9.SHOW);
-      }
-
-      if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
-        var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
-
-        if (dropdownElement) {
-          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
-          $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
-        }
-
-        element.setAttribute('aria-expanded', true);
-      }
-
-      if (callback) {
-        callback();
-      }
-    } // Static
-    ;
-
-    Tab._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $this = $(this);
-        var data = $this.data(DATA_KEY$9);
-
-        if (!data) {
-          data = new Tab(this);
-          $this.data(DATA_KEY$9, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Tab, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$9;
-      }
-    }]);
-
-    return Tab;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
-    event.preventDefault();
-
-    Tab._jQueryInterface.call($(this), 'show');
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$9] = Tab._jQueryInterface;
-  $.fn[NAME$9].Constructor = Tab;
-
-  $.fn[NAME$9].noConflict = function () {
-    $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
-    return Tab._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$a = 'toast';
-  var VERSION$a = '4.3.1';
-  var DATA_KEY$a = 'bs.toast';
-  var EVENT_KEY$a = "." + DATA_KEY$a;
-  var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
-  var Event$a = {
-    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
-  };
-  var ClassName$a = {
-    FADE: 'fade',
-    HIDE: 'hide',
-    SHOW: 'show',
-    SHOWING: 'showing'
-  };
-  var DefaultType$7 = {
-    animation: 'boolean',
-    autohide: 'boolean',
-    delay: 'number'
-  };
-  var Default$7 = {
-    animation: true,
-    autohide: true,
-    delay: 500
-  };
-  var Selector$a = {
-    DATA_DISMISS: '[data-dismiss="toast"]'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Toast =
-  /*#__PURE__*/
-  function () {
-    function Toast(element, config) {
-      this._element = element;
-      this._config = this._getConfig(config);
-      this._timeout = null;
-
-      this._setListeners();
-    } // Getters
-
-
-    var _proto = Toast.prototype;
-
-    // Public
-    _proto.show = function show() {
-      var _this = this;
-
-      $(this._element).trigger(Event$a.SHOW);
-
-      if (this._config.animation) {
-        this._element.classList.add(ClassName$a.FADE);
-      }
-
-      var complete = function complete() {
-        _this._element.classList.remove(ClassName$a.SHOWING);
-
-        _this._element.classList.add(ClassName$a.SHOW);
-
-        $(_this._element).trigger(Event$a.SHOWN);
-
-        if (_this._config.autohide) {
-          _this.hide();
-        }
-      };
-
-      this._element.classList.remove(ClassName$a.HIDE);
-
-      this._element.classList.add(ClassName$a.SHOWING);
-
-      if (this._config.animation) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    };
-
-    _proto.hide = function hide(withoutTimeout) {
-      var _this2 = this;
-
-      if (!this._element.classList.contains(ClassName$a.SHOW)) {
-        return;
-      }
-
-      $(this._element).trigger(Event$a.HIDE);
-
-      if (withoutTimeout) {
-        this._close();
-      } else {
-        this._timeout = setTimeout(function () {
-          _this2._close();
-        }, this._config.delay);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      clearTimeout(this._timeout);
-      this._timeout = null;
-
-      if (this._element.classList.contains(ClassName$a.SHOW)) {
-        this._element.classList.remove(ClassName$a.SHOW);
-      }
-
-      $(this._element).off(Event$a.CLICK_DISMISS);
-      $.removeData(this._element, DATA_KEY$a);
-      this._element = null;
-      this._config = null;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
-      Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
-      return config;
-    };
-
-    _proto._setListeners = function _setListeners() {
-      var _this3 = this;
-
-      $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
-        return _this3.hide(true);
-      });
-    };
-
-    _proto._close = function _close() {
-      var _this4 = this;
-
-      var complete = function complete() {
-        _this4._element.classList.add(ClassName$a.HIDE);
-
-        $(_this4._element).trigger(Event$a.HIDDEN);
-      };
-
-      this._element.classList.remove(ClassName$a.SHOW);
-
-      if (this._config.animation) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    } // Static
-    ;
-
-    Toast._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $element = $(this);
-        var data = $element.data(DATA_KEY$a);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data) {
-          data = new Toast(this, _config);
-          $element.data(DATA_KEY$a, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config](this);
-        }
-      });
-    };
-
-    _createClass(Toast, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$a;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$7;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$7;
-      }
-    }]);
-
-    return Toast;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$a] = Toast._jQueryInterface;
-  $.fn[NAME$a].Constructor = Toast;
-
-  $.fn[NAME$a].noConflict = function () {
-    $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
-    return Toast._jQueryInterface;
-  };
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): index.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-  (function () {
-    if (typeof $ === 'undefined') {
-      throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
-    }
-
-    var version = $.fn.jquery.split(' ')[0].split('.');
-    var minMajor = 1;
-    var ltMajor = 2;
-    var minMinor = 9;
-    var minPatch = 1;
-    var maxMajor = 4;
-
-    if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
-      throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
-    }
-  })();
-
-  exports.Util = Util;
-  exports.Alert = Alert;
-  exports.Button = Button;
-  exports.Carousel = Carousel;
-  exports.Collapse = Collapse;
-  exports.Dropdown = Dropdown;
-  exports.Modal = Modal;
-  exports.Popover = Popover;
-  exports.Scrollspy = ScrollSpy;
-  exports.Tab = Tab;
-  exports.Toast = Toast;
-  exports.Tooltip = Tooltip;
-
-  Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=bootstrap.bundle.js.map
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js.map b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js.map
deleted file mode 100644
index 1c968d6..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.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/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n  return {\n    bindType: TRANSITION_END,\n    delegateType: TRANSITION_END,\n    handle(event) {\n      if ($(event.target).is(this)) {\n        return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n      }\n      return undefined // eslint-disable-line no-undefined\n    }\n  }\n}\n\nfunction transitionEndEmulator(duration) {\n  let called = false\n\n  $(this).one(Util.TRANSITION_END, () => {\n    called = true\n  })\n\n  setTimeout(() => {\n    if (!called) {\n      Util.triggerTransitionEnd(this)\n    }\n  }, duration)\n\n  return this\n}\n\nfunction setTransitionEndSupport() {\n  $.fn.emulateTransitionEnd = transitionEndEmulator\n  $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n  TRANSITION_END: 'bsTransitionEnd',\n\n  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    return prefix\n  },\n\n  getSelectorFromElement(element) {\n    let selector = element.getAttribute('data-target')\n\n    if (!selector || selector === '#') {\n      const hrefAttr = element.getAttribute('href')\n      selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n    }\n\n    try {\n      return document.querySelector(selector) ? selector : null\n    } catch (err) {\n      return null\n    }\n  },\n\n  getTransitionDurationFromElement(element) {\n    if (!element) {\n      return 0\n    }\n\n    // Get transition-duration of the element\n    let transitionDuration = $(element).css('transition-duration')\n    let transitionDelay = $(element).css('transition-delay')\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\n  reflow(element) {\n    return element.offsetHeight\n  },\n\n  triggerTransitionEnd(element) {\n    $(element).trigger(TRANSITION_END)\n  },\n\n  // TODO: Remove in v5\n  supportsTransitionEnd() {\n    return Boolean(TRANSITION_END)\n  },\n\n  isElement(obj) {\n    return (obj[0] || obj).nodeType\n  },\n\n  typeCheckConfig(componentName, config, configTypes) {\n    for (const property in configTypes) {\n      if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n        const expectedTypes = configTypes[property]\n        const value         = config[property]\n        const valueType     = value && Util.isElement(value)\n          ? 'element' : 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  },\n\n  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 Util.findShadowRoot(element.parentNode)\n  }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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\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.isDefaultPrevented()) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    let parent     = false\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    if (!parent) {\n      parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n    }\n\n    return parent\n  }\n\n  _triggerCloseEvent(element) {\n    const closeEvent = $.Event(Event.CLOSE)\n\n    $(element).trigger(closeEvent)\n    return closeEvent\n  }\n\n  _removeElement(element) {\n    $(element).removeClass(ClassName.SHOW)\n\n    if (!$(element).hasClass(ClassName.FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n    $(element)\n      .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  _destroyElement(element) {\n    $(element)\n      .detach()\n      .trigger(Event.CLOSED)\n      .remove()\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n        $element.data(DATA_KEY, data)\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n  Event.CLICK_DATA_API,\n  Selector.DISMISS,\n  Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n                          `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  }\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    const rootElement = $(this._element).closest(\n      Selector.DATA_TOGGLE\n    )[0]\n\n    if (rootElement) {\n      const input = this._element.querySelector(Selector.INPUT)\n\n      if (input) {\n        if (input.type === 'radio') {\n          if (input.checked &&\n            this._element.classList.contains(ClassName.ACTIVE)) {\n            triggerChangeEvent = false\n          } else {\n            const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n            if (activeElement) {\n              $(activeElement).removeClass(ClassName.ACTIVE)\n            }\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          input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n          $(input).trigger('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).toggleClass(ClassName.ACTIVE)\n    }\n  }\n\n  dispose() {\n    $.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 = $(this).data(DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    event.preventDefault()\n\n    let button = event.target\n\n    if (!$(button).hasClass(ClassName.BUTTON)) {\n      button = $(button).closest(Selector.BUTTON)\n    }\n\n    Button._jQueryInterface.call($(button), 'toggle')\n  })\n  .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    const button = $(event.target).closest(Selector.BUTTON)[0]\n    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Button._jQueryInterface\n}\n\nexport default Button\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT     = $.fn[NAME]\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 = this._element.querySelector(Selector.INDICATORS)\n    this._touchSupported    = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent      = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n    this._addEventListeners()\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 &&\n      ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\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 (this._element.querySelector(Selector.NEXT_PREV)) {\n      Util.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.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 = this._element.querySelector(Selector.ACTIVE_ITEM)\n\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      $(this._element).one(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    $(this._element).off(EVENT_KEY)\n    $.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    Util.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    // 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      $(this._element)\n        .on(Event.KEYDOWN, (event) => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      $(this._element)\n        .on(Event.MOUSEENTER, (event) => this.pause(event))\n        .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n    }\n\n    if (this._config.touch) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    if (!this._touchSupported) {\n      return\n    }\n\n    const start = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchStartX = event.originalEvent.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.originalEvent.touches[0].clientX\n      }\n    }\n\n    const move = (event) => {\n      // ensure swiping with one touch and not pinching\n      if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.originalEvent.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        this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n    if (this._pointerEvent) {\n      $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n      $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n      this._element.classList.add(ClassName.POINTER_EVENT)\n    } else {\n      $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n      $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n      $(this._element).on(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      ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\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] : this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n    const slideEvent = $.Event(Event.SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n\n    $(this._element).trigger(slideEvent)\n\n    return slideEvent\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n      $(indicators)\n        .removeClass(ClassName.ACTIVE)\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        $(nextIndicator).addClass(ClassName.ACTIVE)\n      }\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement   = element || activeElement &&\n      this._getItemByDirection(direction, activeElement)\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).hasClass(ClassName.ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.isDefaultPrevented()) {\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    const slidEvent = $.Event(Event.SLID, {\n      relatedTarget: nextElement,\n      direction: eventDirectionName,\n      from: activeElementIndex,\n      to: nextElementIndex\n    })\n\n    if ($(this._element).hasClass(ClassName.SLIDE)) {\n      $(nextElement).addClass(orderClassName)\n\n      Util.reflow(nextElement)\n\n      $(activeElement).addClass(directionalClassName)\n      $(nextElement).addClass(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 = Util.getTransitionDurationFromElement(activeElement)\n\n      $(activeElement)\n        .one(Util.TRANSITION_END, () => {\n          $(nextElement)\n            .removeClass(`${directionalClassName} ${orderClassName}`)\n            .addClass(ClassName.ACTIVE)\n\n          $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n          this._isSliding = false\n\n          setTimeout(() => $(this._element).trigger(slidEvent), 0)\n        })\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      $(activeElement).removeClass(ClassName.ACTIVE)\n      $(nextElement).addClass(ClassName.ACTIVE)\n\n      this._isSliding = false\n      $(this._element).trigger(slidEvent)\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      let _config = {\n        ...Default,\n        ...$(this).data()\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(this, _config)\n        $(this).data(DATA_KEY, data)\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        data[action]()\n      } else if (_config.interval && _config.ride) {\n        data.pause()\n        data.cycle()\n      }\n    })\n  }\n\n  static _dataApiClickHandler(event) {\n    const selector = Util.getSelectorFromElement(this)\n\n    if (!selector) {\n      return\n    }\n\n    const target = $(selector)[0]\n\n    if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n    const slideIndex = this.getAttribute('data-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel._jQueryInterface.call($(target), config)\n\n    if (slideIndex) {\n      $(target).data(DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    const $carousel = $(carousels[i])\n    Carousel._jQueryInterface.call($carousel, $carousel.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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    = [].slice.call(document.querySelectorAll(\n      `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n      `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n    ))\n\n    const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = Util.getSelectorFromElement(elem)\n      const filterElement = [].slice.call(document.querySelectorAll(selector))\n        .filter((foundElem) => foundElem === element)\n\n      if (selector !== null && filterElement.length > 0) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if ($(this._element).hasClass(ClassName.SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      $(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\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    if (actives) {\n      activesData = $(actives).not(this._selector).data(DATA_KEY)\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = $.Event(Event.SHOW)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (actives) {\n      Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n      if (!activesData) {\n        $(actives).data(DATA_KEY, null)\n      }\n    }\n\n    const dimension = this._getDimension()\n\n    $(this._element)\n      .removeClass(ClassName.COLLAPSE)\n      .addClass(ClassName.COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      $(this._triggerArray)\n        .removeClass(ClassName.COLLAPSED)\n        .attr('aria-expanded', true)\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .addClass(ClassName.SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      $(this._element).trigger(Event.SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !$(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const startEvent = $.Event(Event.HIDE)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    Util.reflow(this._element)\n\n    $(this._element)\n      .addClass(ClassName.COLLAPSING)\n      .removeClass(ClassName.COLLAPSE)\n      .removeClass(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 selector = Util.getSelectorFromElement(trigger)\n\n        if (selector !== null) {\n          const $elem = $([].slice.call(document.querySelectorAll(selector)))\n          if (!$elem.hasClass(ClassName.SHOW)) {\n            $(trigger).addClass(ClassName.COLLAPSED)\n              .attr('aria-expanded', false)\n          }\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .trigger(Event.HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n    return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n  }\n\n  _getParent() {\n    let parent\n\n    if (Util.isElement(this._config.parent)) {\n      parent = this._config.parent\n\n      // It's a jQuery object\n      if (typeof this._config.parent.jquery !== 'undefined') {\n        parent = this._config.parent[0]\n      }\n    } else {\n      parent = document.querySelector(this._config.parent)\n    }\n\n    const selector =\n      `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n    const children = [].slice.call(parent.querySelectorAll(selector))\n    $(children).each((i, element) => {\n      this._addAriaAndCollapsedClass(\n        Collapse._getTargetFromElement(element),\n        [element]\n      )\n    })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    const isOpen = $(element).hasClass(ClassName.SHOW)\n\n    if (triggerArray.length) {\n      $(triggerArray)\n        .toggleClass(ClassName.COLLAPSED, !isOpen)\n        .attr('aria-expanded', isOpen)\n    }\n  }\n\n  // Static\n\n  static _getTargetFromElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    return selector ? document.querySelector(selector) : null\n  }\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this   = $(this)\n      let data      = $this.data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$this.data(),\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(this, _config)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(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.currentTarget.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const $trigger = $(this)\n  const selector = Util.getSelectorFromElement(this)\n  const selectors = [].slice.call(document.querySelectorAll(selector))\n\n  $(selectors).each(function () {\n    const $target = $(this)\n    const data    = $target.data(DATA_KEY)\n    const config  = data ? 'toggle' : $trigger.data()\n    Collapse._jQueryInterface.call($target, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\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    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\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\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 {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML 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 $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT       = $.fn[NAME]\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  MENULEFT        : 'dropdown-menu-left',\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}\n\nconst DefaultType = {\n  offset    : '(number|string|function)',\n  flip      : 'boolean',\n  boundary  : '(string|element)',\n  reference : '(string|element)',\n  display   : 'string'\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  }\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).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this._element)\n    const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    // Disable totally Popper.js for Dropdown in Navbar\n    if (!this._inNavbar) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\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 (Util.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).addClass(ClassName.POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  show() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(Event.HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.HIDDEN, relatedTarget))\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._element).off(EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    $(this._element).on(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      ...$(this._element).data(),\n      ...config\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _getMenuElement() {\n    if (!this._menu) {\n      const parent = Dropdown._getParentFromElement(this._element)\n\n      if (parent) {\n        this._menu = parent.querySelector(Selector.MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = AttachmentMap.BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n      placement = AttachmentMap.TOP\n      if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.TOPEND\n      }\n    } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n      placement = AttachmentMap.RIGHT\n    } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n      placement = AttachmentMap.LEFT\n    } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n      placement = AttachmentMap.BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\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 popperConfig\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(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        data[config]()\n      }\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 = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(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).hasClass(ClassName.SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(Event.HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\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        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      $(dropdownMenu).removeClass(ClassName.SHOW)\n      $(parent)\n        .removeClass(ClassName.SHOW)\n        .trigger($.Event(Event.HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\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        $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(ClassName.SHOW)\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n        $(toggle).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n    if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n  .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n  .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    event.stopPropagation()\n    Dropdown._jQueryInterface.call($(this), 'toggle')\n  })\n  .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n    e.stopPropagation()\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT = $.fn[NAME]\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              = element.querySelector(Selector.DIALOG)\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  }\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).hasClass(ClassName.FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\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    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      (event) => this.hide(event)\n    )\n\n    $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n        if ($(event.target).is(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 = $.Event(Event.HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(Event.FOCUSIN)\n\n    $(this._element).removeClass(ClassName.SHOW)\n\n    $(this._element).off(Event.CLICK_DISMISS)\n    $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach((htmlElement) => $(htmlElement).off(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    $(document).off(Event.FOCUSIN)\n\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(ClassName.FADE)\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).hasClass(ClassName.SCROLLABLE)) {\n      this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(ClassName.SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(Event.SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(Event.FOCUSIN) // Guard against infinite focus loop\n      .on(Event.FOCUSIN, (event) => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown && this._config.keyboard) {\n      $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n        if (event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(Event.KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n    } else {\n      $(window).off(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).removeClass(ClassName.OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(Event.HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(ClassName.FADE)\n      ? ClassName.FADE : ''\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      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(Event.CLICK_DISMISS, (event) => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n        if (event.target !== event.currentTarget) {\n          return\n        }\n        if (this._config.backdrop === 'static') {\n          this._element.focus()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(ClassName.SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(ClassName.SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(ClassName.FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\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      const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(ClassName.OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\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 = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(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        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY)\n    ? 'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(Event.SHOW, (showEvent) => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(Event.HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\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\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\nfunction 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 function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n  if (unsafeHtml.length === 0) {\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 = [].slice.call(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(el.nodeName.toLowerCase()) === -1) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].slice.call(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  DefaultWhitelist,\n  sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT    = $.fn[NAME]\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}\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=\"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}\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       : '.tooltip',\n  TOOLTIP_INNER : '.tooltip-inner',\n  ARROW         : '.arrow'\n}\n\nconst Trigger = {\n  HOVER  : 'hover',\n  FOCUS  : 'focus',\n  CLICK  : 'click',\n  MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    /**\n     * Check for Popper dependency\n     * Popper - https://popper.js.org\n     */\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  }\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 = $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(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()).hasClass(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    $.removeData(this.element, this.constructor.DATA_KEY)\n\n    $(this.element).off(this.constructor.EVENT_KEY)\n    $(this.element).closest('.modal').off('hide.bs.modal')\n\n    if (this.tip) {\n      $(this.tip).remove()\n    }\n\n    this._isEnabled     = null\n    this._timeout       = null\n    this._hoverState    = null\n    this._activeTrigger = null\n    if (this._popper !== null) {\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).css('display') === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    const showEvent = $.Event(this.constructor.Event.SHOW)\n    if (this.isWithContent() && this._isEnabled) {\n      $(this.element).trigger(showEvent)\n\n      const shadowRoot = Util.findShadowRoot(this.element)\n      const isInTheDom = $.contains(\n        shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n        this.element\n      )\n\n      if (showEvent.isDefaultPrevented() || !isInTheDom) {\n        return\n      }\n\n      const tip   = this.getTipElement()\n      const tipId = Util.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).addClass(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      $(tip).data(this.constructor.DATA_KEY, this)\n\n      if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n        $(tip).appendTo(container)\n      }\n\n      $(this.element).trigger(this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, {\n        placement: attachment,\n        modifiers: {\n          offset: this._getOffset(),\n          flip: {\n            behavior: this.config.fallbackPlacement\n          },\n          arrow: {\n            element: Selector.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      $(tip).addClass(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        $(document.body).children().on('mouseover', null, $.noop)\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n        const prevHoverState = this._hoverState\n        this._hoverState     = null\n\n        $(this.element).trigger(this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HoverState.OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if ($(this.tip).hasClass(ClassName.FADE)) {\n        const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n        $(this.tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide(callback) {\n    const tip       = this.getTipElement()\n    const hideEvent = $.Event(this.constructor.Event.HIDE)\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      $(this.element).trigger(this.constructor.Event.HIDDEN)\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    $(this.element).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(tip).removeClass(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      $(document.body).children().off('mouseover', null, $.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).hasClass(ClassName.FADE)) {\n      const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n      $(tip)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n    $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  setElementContent($element, content) {\n    if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n      // Content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (!$(content).parent().is($element)) {\n          $element.empty().append(content)\n        }\n      } else {\n        $element.text($(content).text())\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.html(content)\n    } else {\n      $element.text(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  _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 (Util.isElement(this.config.container)) {\n      return $(this.config.container)\n    }\n\n    return $(document).find(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        $(this.element).on(\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        $(this.element)\n          .on(\n            eventIn,\n            this.config.selector,\n            (event) => this._enter(event)\n          )\n          .on(\n            eventOut,\n            this.config.selector,\n            (event) => this._leave(event)\n          )\n      }\n    })\n\n    $(this.element).closest('.modal').on(\n      'hide.bs.modal',\n      () => {\n        if (this.element) {\n          this.hide()\n        }\n      }\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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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()).hasClass(ClassName.SHOW) || 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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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 = $(this.element).data()\n\n    Object.keys(dataAttributes)\n      .forEach((dataAttr) => {\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n          delete dataAttributes[dataAttr]\n        }\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    Util.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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length) {\n      $tip.removeClass(tabClass.join(''))\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\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    $(tip).removeClass(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 = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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 JQUERY_NO_CONFLICT  = $.fn[NAME]\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=\"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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const $tip = $(this.getTipElement())\n\n    // We use append for html objects to maintain js events\n    this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n    this.setElementContent($tip.find(Selector.CONTENT), content)\n\n    $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active'\n}\n\nconst Selector = {\n  DATA_SPY        : '[data-spy=\"scroll\"]',\n  ACTIVE          : '.active',\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_ITEMS  : '.dropdown-item',\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} ${Selector.DROPDOWN_ITEMS}`\n    this._offsets       = []\n    this._targets       = []\n    this._activeTarget  = null\n    this._scrollHeight  = 0\n\n    $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n    this.refresh()\n    this._process()\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 : OffsetMethod.POSITION\n\n    const offsetMethod = this._config.method === 'auto'\n      ? autoMethod : this._config.method\n\n    const offsetBase = offsetMethod === OffsetMethod.POSITION\n      ? this._getScrollTop() : 0\n\n    this._offsets = []\n    this._targets = []\n\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n    targets\n      .map((element) => {\n        let target\n        const targetSelector = Util.getSelectorFromElement(element)\n\n        if (targetSelector) {\n          target = document.querySelector(targetSelector)\n        }\n\n        if (target) {\n          const targetBCR = target.getBoundingClientRect()\n          if (targetBCR.width || targetBCR.height) {\n            // TODO (fat): remove sketch reliance on jQuery position/offset\n            return [\n              $(target)[offsetMethod]().top + offsetBase,\n              targetSelector\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    $.removeData(this._element, DATA_KEY)\n    $(this._scrollElement).off(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).attr('id')\n      if (!id) {\n        id = Util.getUID(NAME)\n        $(config.target).attr('id', id)\n      }\n      config.target = `#${id}`\n    }\n\n    Util.typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window\n      ? this._scrollElement.pageYOffset : 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 : 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      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\n      .split(',')\n      .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n    if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n      $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n      $link.addClass(ClassName.ACTIVE)\n    } else {\n      // Set triggered link as active\n      $link.addClass(ClassName.ACTIVE)\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      $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n      // Handle special case when .nav-link is inside .nav-item\n      $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n    }\n\n    $(this._scrollElement).trigger(Event.ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    [].slice.call(document.querySelectorAll(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 = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n  const scrollSpysLength = scrollSpys.length\n\n  for (let i = scrollSpysLength; i--;) {\n    const $spy = $(scrollSpys[i])\n    ScrollSpy._jQueryInterface.call($spy, $spy.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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             : '> li > .active',\n  DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n  DROPDOWN_TOGGLE       : '.dropdown-toggle',\n  DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\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).hasClass(ClassName.ACTIVE) ||\n        $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    let target\n    let previous\n    const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n    const selector = Util.getSelectorFromElement(this._element)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n      previous = $.makeArray($(listElement).find(itemSelector))\n      previous = previous[previous.length - 1]\n    }\n\n    const hideEvent = $.Event(Event.HIDE, {\n      relatedTarget: this._element\n    })\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget: previous\n    })\n\n    if (previous) {\n      $(previous).trigger(hideEvent)\n    }\n\n    $(this._element).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() ||\n        hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (selector) {\n      target = document.querySelector(selector)\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      const hiddenEvent = $.Event(Event.HIDDEN, {\n        relatedTarget: this._element\n      })\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget: previous\n      })\n\n      $(previous).trigger(hiddenEvent)\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    $.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      ? $(container).find(Selector.ACTIVE_UL)\n      : $(container).children(Selector.ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n      $(active)\n        .removeClass(ClassName.SHOW)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      $(active).removeClass(ClassName.ACTIVE)\n\n      const dropdownChild = $(active.parentNode).find(\n        Selector.DROPDOWN_ACTIVE_CHILD\n      )[0]\n\n      if (dropdownChild) {\n        $(dropdownChild).removeClass(ClassName.ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    $(element).addClass(ClassName.ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    Util.reflow(element)\n\n    if (element.classList.contains(ClassName.FADE)) {\n      element.classList.add(ClassName.SHOW)\n    }\n\n    if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n      const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n      if (dropdownElement) {\n        const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n        $(dropdownToggleList).addClass(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 $this = $(this)\n      let data = $this.data(DATA_KEY)\n\n      if (!data) {\n        data = new Tab(this)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    Tab._jQueryInterface.call($(this), 'show')\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  }\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    $(this._element).trigger(Event.SHOW)\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      $(this._element).trigger(Event.SHOWN)\n\n      if (this._config.autohide) {\n        this.hide()\n      }\n    }\n\n    this._element.classList.remove(ClassName.HIDE)\n    this._element.classList.add(ClassName.SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide(withoutTimeout) {\n    if (!this._element.classList.contains(ClassName.SHOW)) {\n      return\n    }\n\n    $(this._element).trigger(Event.HIDE)\n\n    if (withoutTimeout) {\n      this._close()\n    } else {\n      this._timeout = setTimeout(() => {\n        this._close()\n      }, this._config.delay)\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    $(this._element).off(Event.CLICK_DISMISS)\n\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n    this._config  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...$(this._element).data(),\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _setListeners() {\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      () => this.hide(true)\n    )\n  }\n\n  _close() {\n    const complete = () => {\n      this._element.classList.add(ClassName.HIDE)\n      $(this._element).trigger(Event.HIDDEN)\n    }\n\n    this._element.classList.remove(ClassName.SHOW)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n      const _config  = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n        $element.data(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](this)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})()\n\nexport {\n  Util,\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":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","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","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","ride","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","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","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","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","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","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","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","SHOWING","autohide","Toast","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"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;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,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,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B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"}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js
deleted file mode 100644
index 4320368..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
-  * Bootstrap v4.3.1 (https://getbootstrap.com/)
-  * 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?e(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],e):e((t=t||self).bootstrap={},t.jQuery)}(this,function(t,p){"use strict";function i(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 s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}p=p&&p.hasOwnProperty("default")?p.default:p;var e="transitionend";function n(t){var e=this,n=!1;return p(this).one(m.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||m.triggerTransitionEnd(e)},t),this}var m={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=p(t).css("transition-duration"),n=p(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){p(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&m.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?m.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};p.fn.emulateTransitionEnd=n,p.event.special[m.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(p(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=p.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},u="alert",f="fade",d="show",g=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){p.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=m.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=p(t).closest("."+u)[0]),n},t._triggerCloseEvent=function(t){var e=p.Event(h.CLOSE);return p(t).trigger(e),e},t._removeElement=function(e){var n=this;if(p(e).removeClass(d),p(e).hasClass(f)){var t=m.getTransitionDurationFromElement(e);p(e).one(m.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){p(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();p(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',g._handleDismiss(new g)),p.fn[o]=g._jQueryInterface,p.fn[o].Constructor=g,p.fn[o].noConflict=function(){return p.fn[o]=c,g._jQueryInterface};var _="button",v="bs.button",y="."+v,E=".data-api",b=p.fn[_],w="active",C="btn",T="focus",S='[data-toggle^="button"]',D='[data-toggle="buttons"]',I='input:not([type="hidden"])',A=".active",O=".btn",N={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:"focus"+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=this._element.querySelector(I);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(w))t=!1;else{var o=n.querySelector(A);o&&p(o).removeClass(w)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(w),p(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(w)),t&&p(this._element).toggleClass(w)},t.dispose=function(){p.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(v);t||(t=new n(this),p(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();p(document).on(N.CLICK_DATA_API,S,function(t){t.preventDefault();var e=t.target;p(e).hasClass(C)||(e=p(e).closest(O)),k._jQueryInterface.call(p(e),"toggle")}).on(N.FOCUS_BLUR_DATA_API,S,function(t){var e=p(t.target).closest(O)[0];p(e).toggleClass(T,/^focus(in)?$/.test(t.type))}),p.fn[_]=k._jQueryInterface,p.fn[_].Constructor=k,p.fn[_].noConflict=function(){return p.fn[_]=b,k._jQueryInterface};var L="carousel",x="bs.carousel",P="."+x,H=".data-api",j=p.fn[L],R={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},F={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},M="next",W="prev",U="left",B="right",q={SLIDE:"slide"+P,SLID:"slid"+P,KEYDOWN:"keydown"+P,MOUSEENTER:"mouseenter"+P,MOUSELEAVE:"mouseleave"+P,TOUCHSTART:"touchstart"+P,TOUCHMOVE:"touchmove"+P,TOUCHEND:"touchend"+P,POINTERDOWN:"pointerdown"+P,POINTERUP:"pointerup"+P,DRAG_START:"dragstart"+P,LOAD_DATA_API:"load"+P+H,CLICK_DATA_API:"click"+P+H},K="carousel",Q="active",V="slide",Y="carousel-item-right",z="carousel-item-left",X="carousel-item-next",G="carousel-item-prev",$="pointer-event",J=".active",Z=".active.carousel-item",tt=".carousel-item",et=".carousel-item img",nt=".carousel-item-next, .carousel-item-prev",it=".carousel-indicators",ot="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',st={TOUCH:"touch",PEN:"pen"},at=function(){function r(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=this._element.querySelector(it),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(M)},t.nextWhenVisible=function(){!document.hidden&&p(this._element).is(":visible")&&"hidden"!==p(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(W)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(nt)&&(m.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(Z);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)p(this._element).one(q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?M:W;this._slide(i,this._items[t])}},t.dispose=function(){p(this._element).off(P),p.removeData(this._element,x),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(t){return t=l({},R,t),m.typeCheckConfig(L,t,F),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&p(this._element).on(q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&p(this._element).on(q.MOUSEENTER,function(t){return e.pause(t)}).on(q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&st[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};p(this._element.querySelectorAll(et)).on(q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(p(this._element).on(q.POINTERDOWN,function(t){return e(t)}),p(this._element).on(q.POINTERUP,function(t){return i(t)}),this._element.classList.add($)):(p(this._element).on(q.TOUCHSTART,function(t){return e(t)}),p(this._element).on(q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),p(this._element).on(q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===M,i=t===W,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===W?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(Z)),o=p.Event(q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return p(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(J));p(e).removeClass(Q);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&p(n).addClass(Q)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(Z),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===M?(n=z,i=X,U):(n=Y,i=G,B),l&&p(l).hasClass(Q))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=p.Event(q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(p(this._element).hasClass(V)){p(l).addClass(i),m.reflow(l),p(s).addClass(n),p(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=m.getTransitionDurationFromElement(s);p(s).one(m.TRANSITION_END,function(){p(l).removeClass(n+" "+i).addClass(Q),p(s).removeClass(Q+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return p(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else p(s).removeClass(Q),p(l).addClass(Q),this._isSliding=!1,p(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=p(this).data(x),e=l({},R,p(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),p(this).data(x,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=m.getSelectorFromElement(this);if(e){var n=p(e)[0];if(n&&p(n).hasClass(K)){var i=l({},p(n).data(),p(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(p(n),i),o&&p(n).data(x).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return R}}]),r}();p(document).on(q.CLICK_DATA_API,ot,at._dataApiClickHandler),p(window).on(q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=p(t[e]);at._jQueryInterface.call(i,i.data())}}),p.fn[L]=at._jQueryInterface,p.fn[L].Constructor=at,p.fn[L].noConflict=function(){return p.fn[L]=j,at._jQueryInterface};var lt="collapse",ct="bs.collapse",ht="."+ct,ut=p.fn[lt],ft={toggle:!0,parent:""},dt={toggle:"boolean",parent:"(string|element)"},pt={SHOW:"show"+ht,SHOWN:"shown"+ht,HIDE:"hide"+ht,HIDDEN:"hidden"+ht,CLICK_DATA_API:"click"+ht+".data-api"},mt="show",gt="collapse",_t="collapsing",vt="collapsed",yt="width",Et="height",bt=".show, .collapsing",wt='[data-toggle="collapse"]',Ct=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(wt)),i=0,o=n.length;i<o;i++){var r=n[i],s=m.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<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()}var t=a.prototype;return t.toggle=function(){p(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!p(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(bt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(gt)})).length&&(t=null),!(t&&(e=p(t).not(this._selector).data(ct))&&e._isTransitioning))){var i=p.Event(pt.SHOW);if(p(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(p(t).not(this._selector),"hide"),e||p(t).data(ct,null));var o=this._getDimension();p(this._element).removeClass(gt).addClass(_t),this._element.style[o]=0,this._triggerArray.length&&p(this._triggerArray).removeClass(vt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){p(n._element).removeClass(_t).addClass(gt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),p(n._element).trigger(pt.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&p(this._element).hasClass(mt)){var e=p.Event(pt.HIDE);if(p(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",m.reflow(this._element),p(this._element).addClass(_t).removeClass(gt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=m.getSelectorFromElement(r);if(null!==s)p([].slice.call(document.querySelectorAll(s))).hasClass(mt)||p(r).addClass(vt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(){t.setTransitioning(!1),p(t._element).removeClass(_t).addClass(gt).trigger(pt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){p.removeData(this._element,ct),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},ft,t)).toggle=Boolean(t.toggle),m.typeCheckConfig(lt,t,dt),t},t._getDimension=function(){return p(this._element).hasClass(yt)?yt:Et},t._getParent=function(){var t,n=this;m.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return p(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=p(t).hasClass(mt);e.length&&p(e).toggleClass(vt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=m.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=p(this),e=t.data(ct),n=l({},ft,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ct,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ft}}]),a}();p(document).on(pt.CLICK_DATA_API,wt,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=p(this),e=m.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));p(i).each(function(){var t=p(this),e=t.data(ct)?"toggle":n.data();Ct._jQueryInterface.call(t,e)})}),p.fn[lt]=Ct._jQueryInterface,p.fn[lt].Constructor=Ct,p.fn[lt].noConflict=function(){return p.fn[lt]=ut,Ct._jQueryInterface};for(var Tt="undefined"!=typeof window&&"undefined"!=typeof document,St=["Edge","Trident","Firefox"],Dt=0,It=0;It<St.length;It+=1)if(Tt&&0<=navigator.userAgent.indexOf(St[It])){Dt=1;break}var At=Tt&&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()},Dt))}};function Ot(t){return t&&"[object Function]"==={}.toString.call(t)}function Nt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function kt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Lt(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=Nt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Lt(kt(t))}var xt=Tt&&!(!window.MSInputMethodContext||!document.documentMode),Pt=Tt&&/MSIE 10/.test(navigator.userAgent);function Ht(t){return 11===t?xt:10===t?Pt:xt||Pt}function jt(t){if(!t)return document.documentElement;for(var e=Ht(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"===Nt(n,"position")?jt(n):n:t?t.ownerDocument.documentElement:document.documentElement}function Rt(t){return null!==t.parentNode?Rt(t.parentNode):t}function Ft(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&&jt(s.firstElementChild)!==s?jt(l):l;var c=Rt(t);return c.host?Ft(c.host,e):Ft(t,Rt(e).host)}function Mt(t){var e="top"===(1<arguments.length&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=t.nodeName;if("BODY"!==n&&"HTML"!==n)return t[e];var i=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||i)[e]}function Wt(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 Ut(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ht(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function Bt(t){var e=t.body,n=t.documentElement,i=Ht(10)&&getComputedStyle(n);return{height:Ut("Height",e,n,i),width:Ut("Width",e,n,i)}}var qt=function(){function i(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(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}}(),Kt=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Qt=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 Vt(t){return Qt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Yt(t){var e={};try{if(Ht(10)){e=t.getBoundingClientRect();var n=Mt(t,"top"),i=Mt(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?Bt(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 h=Nt(t);l-=Wt(h,"x"),c-=Wt(h,"y"),o.width-=l,o.height-=c}return Vt(o)}function zt(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Ht(10),o="HTML"===e.nodeName,r=Yt(t),s=Yt(e),a=Lt(t),l=Nt(e),c=parseFloat(l.borderTopWidth,10),h=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var u=Vt({top:r.top-s.top-c,left:r.left-s.left-h,width:r.width,height:r.height});if(u.marginTop=0,u.marginLeft=0,!i&&o){var f=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);u.top-=c-f,u.bottom-=c-f,u.left-=h-d,u.right-=h-d,u.marginTop=f,u.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(u=function(t,e){var n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i=Mt(e,"top"),o=Mt(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 Xt(t){if(!t||!t.parentElement||Ht())return document.documentElement;for(var e=t.parentElement;e&&"none"===Nt(e,"transform");)e=e.parentElement;return e||document.documentElement}function Gt(t,e,n,i){var o=4<arguments.length&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Xt(t):Ft(t,e);if("viewport"===i)r=function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=zt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:Mt(n),a=e?0:Mt(n,"left");return Vt({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=Lt(kt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=zt(a,s,o);if("HTML"!==a.nodeName||function t(e){var n=e.nodeName;if("BODY"===n||"HTML"===n)return!1;if("fixed"===Nt(e,"position"))return!0;var i=kt(e);return!!i&&t(i)}(s))r=l;else{var c=Bt(t.ownerDocument),h=c.height,u=c.width;r.top+=l.top-l.marginTop,r.bottom=h+l.top,r.left+=l.left-l.marginLeft,r.right=u+l.left}}var f="number"==typeof(n=n||0);return r.left+=f?n:n.left||0,r.top+=f?n:n.top||0,r.right-=f?n:n.right||0,r.bottom-=f?n:n.bottom||0,r}function $t(t,e,i,n,o){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=Gt(i,n,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 Qt({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,n=t.height;return e>=i.clientWidth&&n>=i.clientHeight}),h=0<c.length?c[0].key:l[0].key,u=t.split("-")[1];return h+(u?"-"+u:"")}function Jt(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return zt(n,i?Xt(e):Ft(e,n),i)}function Zt(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 te(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 ee(t,e,n){n=n.split("-")[0];var i=Zt(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[te(a)],o}function ne(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function ie(t,n,e){return(void 0===e?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===n});var i=ne(t,function(t){return t[e]===n});return t.indexOf(i)}(t,"name",e))).forEach(function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var e=t.function||t.fn;t.enabled&&Ot(e)&&(n.offsets.popper=Vt(n.offsets.popper),n.offsets.reference=Vt(n.offsets.reference),n=e(n,t))}),n}function oe(t,n){return t.some(function(t){var e=t.name;return t.enabled&&e===n})}function re(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 se(t){var e=t.ownerDocument;return e?e.defaultView:window}function ae(t,e,n,i){n.updateBound=i,se(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Lt(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(Lt(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function le(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,se(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 ce(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function he(n,i){Object.keys(i).forEach(function(t){var e="";-1!==["width","height","top","right","bottom","left"].indexOf(t)&&ce(i[t])&&(e="px"),n.style[t]=i[t]+e})}var ue=Tt&&/Firefox/i.test(navigator.userAgent);function fe(t,e,n){var i=ne(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 de=["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"],pe=de.slice(3);function me(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=pe.indexOf(t),i=pe.slice(n+1).concat(pe.slice(0,n));return e?i.reverse():i}var ge="flip",_e="clockwise",ve="counterclockwise";function ye(t,o,r,e){var s=[0,0],a=-1!==["right","left"].indexOf(e),n=t.split(/(\+|\-)/).map(function(t){return t.trim()}),i=n.indexOf(ne(n,function(t){return-1!==t.search(/,|\s/)}));n[i]&&-1===n[i].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==i?[n.slice(0,i).concat([n[i].split(l)[0]]),[n[i].split(l)[1]].concat(n.slice(i+1))]:[n];return(c=c.map(function(t,e){var n=(1===e?!a:a)?"height":"width",i=!1;return t.reduce(function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,i=!0,t):i?(t[t.length-1]+=e,i=!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("%"))return"vh"!==s&&"vw"!==s?r:("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r;var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Vt(a)[e]/100*r}(t,n,o,r)})})).forEach(function(n,i){n.forEach(function(t,e){ce(t)&&(s[i]+=t*("-"===n[e-1]?-1:1))})}),s}var Ee={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",h={start:Kt({},l,r[l]),end:Kt({},l,r[l]+r[c]-s[c])};t.offsets.popper=Qt({},s,h[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=ce(+n)?[+n,0]:ye(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,i){var e=i.boundariesElement||jt(t.instance.popper);t.instance.reference===e&&(e=jt(e));var n=re("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[n];o.top="",o.left="",o[n]="";var l=Gt(t.instance.popper,t.instance.reference,i.padding,e,t.positionFixed);o.top=r,o.left=s,o[n]=a,i.boundaries=l;var c=i.priority,h=t.offsets.popper,u={primary:function(t){var e=h[t];return h[t]<l[t]&&!i.escapeWithReference&&(e=Math.max(h[t],l[t])),Kt({},t,e)},secondary:function(t){var e="right"===t?"left":"top",n=h[e];return h[t]>l[t]&&!i.escapeWithReference&&(n=Math.min(h[e],l[t]-("right"===t?h.width:h.height))),Kt({},e,n)}};return c.forEach(function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";h=Qt({},h,u[e](t))}),t.offsets.popper=h,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(!fe(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",h=l?"Top":"Left",u=h.toLowerCase(),f=l?"left":"top",d=l?"bottom":"right",p=Zt(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=Vt(t.offsets.popper);var m=a[u]+a[c]/2-p/2,g=Nt(t.instance.popper),_=parseFloat(g["margin"+h],10),v=parseFloat(g["border"+h+"Width"],10),y=m-t.offsets.popper[u]-_-v;return y=Math.max(Math.min(s[c]-p,y),0),t.arrowElement=i,t.offsets.arrow=(Kt(n={},u,Math.round(y)),Kt(n,f,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(p,m){if(oe(p.instance.modifiers,"inner"))return p;if(p.flipped&&p.placement===p.originalPlacement)return p;var g=Gt(p.instance.popper,p.instance.reference,m.padding,m.boundariesElement,p.positionFixed),_=p.placement.split("-")[0],v=te(_),y=p.placement.split("-")[1]||"",E=[];switch(m.behavior){case ge:E=[_,v];break;case _e:E=me(_);break;case ve:E=me(_,!0);break;default:E=m.behavior}return E.forEach(function(t,e){if(_!==t||E.length===e+1)return p;_=p.placement.split("-")[0],v=te(_);var n,i=p.offsets.popper,o=p.offsets.reference,r=Math.floor,s="left"===_&&r(i.right)>r(o.left)||"right"===_&&r(i.left)<r(o.right)||"top"===_&&r(i.bottom)>r(o.top)||"bottom"===_&&r(i.top)<r(o.bottom),a=r(i.left)<r(g.left),l=r(i.right)>r(g.right),c=r(i.top)<r(g.top),h=r(i.bottom)>r(g.bottom),u="left"===_&&a||"right"===_&&l||"top"===_&&c||"bottom"===_&&h,f=-1!==["top","bottom"].indexOf(_),d=!!m.flipVariations&&(f&&"start"===y&&a||f&&"end"===y&&l||!f&&"start"===y&&c||!f&&"end"===y&&h);(s||u||d)&&(p.flipped=!0,(s||u)&&(_=E[e+1]),d&&(y="end"===(n=y)?"start":"start"===n?"end":n),p.placement=_+(y?"-"+y:""),p.offsets.popper=Qt({},p.offsets.popper,ee(p.instance.popper,p.offsets.reference,p.placement)),p=ie(p.instance.modifiers,p,"flip"))}),p},behavior:"flip",padding:5,boundariesElement:"viewport"},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=te(e),t.offsets.popper=Vt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=ne(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=ne(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,a,l,c,h,u,f,d,p,m,g,_,v,y,E=void 0!==r?r:e.gpuAcceleration,b=jt(t.instance.popper),w=Yt(b),C={position:o.position},T=(s=t,a=window.devicePixelRatio<2||!ue,l=s.offsets,c=l.popper,h=l.reference,u=Math.round,f=Math.floor,d=function(t){return t},p=u(h.width),m=u(c.width),g=-1!==["left","right"].indexOf(s.placement),_=-1!==s.placement.indexOf("-"),y=a?u:d,{left:(v=a?g||_||p%2==m%2?u:f:d)(p%2==1&&m%2==1&&!_&&a?c.left-1:c.left),top:y(c.top),bottom:y(c.bottom),right:v(c.right)}),S="bottom"===n?"top":"bottom",D="right"===i?"left":"right",I=re("transform"),A=void 0,O=void 0;if(O="bottom"===S?"HTML"===b.nodeName?-b.clientHeight+T.bottom:-w.height+T.bottom:T.top,A="right"===D?"HTML"===b.nodeName?-b.clientWidth+T.right:-w.width+T.right:T.left,E&&I)C[I]="translate3d("+A+"px, "+O+"px, 0)",C[S]=0,C[D]=0,C.willChange="transform";else{var N="bottom"===S?-1:1,k="right"===D?-1:1;C[S]=O*N,C[D]=A*k,C.willChange=S+", "+D}var L={"x-placement":t.placement};return t.attributes=Qt({},L,t.attributes),t.styles=Qt({},C,t.styles),t.arrowStyles=Qt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return he(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&&he(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Jt(o,e,t,n.positionFixed),s=$t(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),he(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},be=function(){function r(t,e){var n=this,i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=At(this.update.bind(this)),this.options=Qt({},r.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=e&&e.jquery?e[0]:e,this.options.modifiers={},Object.keys(Qt({},r.Defaults.modifiers,i.modifiers)).forEach(function(t){n.options.modifiers[t]=Qt({},r.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return Qt({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&Ot(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}return qt(r,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Jt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=$t(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=ee(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=ie(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,oe(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[re("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=ae(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return le.call(this)}}]),r}();be.Utils=("undefined"!=typeof window?window:global).PopperUtils,be.placements=de,be.Defaults=Ee;var we="dropdown",Ce="bs.dropdown",Te="."+Ce,Se=".data-api",De=p.fn[we],Ie=new RegExp("38|40|27"),Ae={HIDE:"hide"+Te,HIDDEN:"hidden"+Te,SHOW:"show"+Te,SHOWN:"shown"+Te,CLICK:"click"+Te,CLICK_DATA_API:"click"+Te+Se,KEYDOWN_DATA_API:"keydown"+Te+Se,KEYUP_DATA_API:"keyup"+Te+Se},Oe="disabled",Ne="show",ke="dropup",Le="dropright",xe="dropleft",Pe="dropdown-menu-right",He="position-static",je='[data-toggle="dropdown"]',Re=".dropdown form",Fe=".dropdown-menu",Me=".navbar-nav",We=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Ue="top-start",Be="top-end",qe="bottom-start",Ke="bottom-end",Qe="right-start",Ve="left-start",Ye={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},ze={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Xe=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)){var t=c._getParentFromElement(this._element),e=p(this._menu).hasClass(Ne);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=p.Event(Ae.SHOW,n);if(p(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof be)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:m.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&p(t).addClass(He),this._popper=new be(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===p(t).closest(Me).length&&p(document.body).children().on("mouseover",null,p.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),p(this._menu).toggleClass(Ne),p(t).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||p(this._element).hasClass(Oe)||p(this._menu).hasClass(Ne))){var t={relatedTarget:this._element},e=p.Event(Ae.SHOW,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!p(this._element).hasClass(Oe)&&p(this._menu).hasClass(Ne)){var t={relatedTarget:this._element},e=p.Event(Ae.HIDE,t),n=c._getParentFromElement(this._element);p(n).trigger(e),e.isDefaultPrevented()||(p(this._menu).toggleClass(Ne),p(n).toggleClass(Ne).trigger(p.Event(Ae.HIDDEN,t)))}},t.dispose=function(){p.removeData(this._element,Ce),p(this._element).off(Te),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;p(this._element).on(Ae.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,p(this._element).data(),t),m.typeCheckConfig(we,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(Fe))}return this._menu},t._getPlacement=function(){var t=p(this._element.parentNode),e=qe;return t.hasClass(ke)?(e=Ue,p(this._menu).hasClass(Pe)&&(e=Be)):t.hasClass(Le)?e=Qe:t.hasClass(xe)?e=Ve:p(this._menu).hasClass(Pe)&&(e=Ke),e},t._detectNavbar=function(){return 0<p(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._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}),t},c._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(Ce);if(t||(t=new c(this,"object"==typeof e?e:null),p(this).data(Ce,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(je)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=p(e[n]).data(Ce),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(p(o).hasClass(Ne)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&p.contains(o,t.target))){var l=p.Event(Ae.HIDE,s);p(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),e[n].setAttribute("aria-expanded","false"),p(a).removeClass(Ne),p(o).removeClass(Ne).trigger(p.Event(Ae.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=m.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||p(t.target).closest(Fe).length)):Ie.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!p(this).hasClass(Oe))){var e=c._getParentFromElement(this),n=p(e).hasClass(Ne);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(We));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(je);p(r).trigger("focus")}p(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Ye}},{key:"DefaultType",get:function(){return ze}}]),c}();p(document).on(Ae.KEYDOWN_DATA_API,je,Xe._dataApiKeydownHandler).on(Ae.KEYDOWN_DATA_API,Fe,Xe._dataApiKeydownHandler).on(Ae.CLICK_DATA_API+" "+Ae.KEYUP_DATA_API,Xe._clearMenus).on(Ae.CLICK_DATA_API,je,function(t){t.preventDefault(),t.stopPropagation(),Xe._jQueryInterface.call(p(this),"toggle")}).on(Ae.CLICK_DATA_API,Re,function(t){t.stopPropagation()}),p.fn[we]=Xe._jQueryInterface,p.fn[we].Constructor=Xe,p.fn[we].noConflict=function(){return p.fn[we]=De,Xe._jQueryInterface};var Ge="modal",$e="bs.modal",Je="."+$e,Ze=p.fn[Ge],tn={backdrop:!0,keyboard:!0,focus:!0,show:!0},en={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},nn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,FOCUSIN:"focusin"+Je,RESIZE:"resize"+Je,CLICK_DISMISS:"click.dismiss"+Je,KEYDOWN_DISMISS:"keydown.dismiss"+Je,MOUSEUP_DISMISS:"mouseup.dismiss"+Je,MOUSEDOWN_DISMISS:"mousedown.dismiss"+Je,CLICK_DATA_API:"click"+Je+".data-api"},on="modal-dialog-scrollable",rn="modal-scrollbar-measure",sn="modal-backdrop",an="modal-open",ln="fade",cn="show",hn=".modal-dialog",un=".modal-body",fn='[data-toggle="modal"]',dn='[data-dismiss="modal"]',pn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",mn=".sticky-top",gn=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(hn),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){p(this._element).hasClass(ln)&&(this._isTransitioning=!0);var n=p.Event(nn.SHOW,{relatedTarget:t});p(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),p(this._element).on(nn.CLICK_DISMISS,dn,function(t){return e.hide(t)}),p(this._dialog).on(nn.MOUSEDOWN_DISMISS,function(){p(e._element).one(nn.MOUSEUP_DISMISS,function(t){p(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=p.Event(nn.HIDE);if(p(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=p(this._element).hasClass(ln);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),p(document).off(nn.FOCUSIN),p(this._element).removeClass(cn),p(this._element).off(nn.CLICK_DISMISS),p(this._dialog).off(nn.MOUSEDOWN_DISMISS),i){var o=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return p(t).off(Je)}),p(document).off(nn.FOCUSIN),p.removeData(this._element,$e),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(t){return t=l({},tn,t),m.typeCheckConfig(Ge,t,en),t},t._showElement=function(t){var e=this,n=p(this._element).hasClass(ln);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),p(this._dialog).hasClass(on)?this._dialog.querySelector(un).scrollTop=0:this._element.scrollTop=0,n&&m.reflow(this._element),p(this._element).addClass(cn),this._config.focus&&this._enforceFocus();var i=p.Event(nn.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,p(e._element).trigger(i)};if(n){var r=m.getTransitionDurationFromElement(this._dialog);p(this._dialog).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;p(document).off(nn.FOCUSIN).on(nn.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===p(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?p(this._element).on(nn.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||p(this._element).off(nn.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?p(window).on(nn.RESIZE,function(t){return e.handleUpdate(t)}):p(window).off(nn.RESIZE)},t._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(){p(document.body).removeClass(an),t._resetAdjustments(),t._resetScrollbar(),p(t._element).trigger(nn.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(p(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=p(this._element).hasClass(ln)?ln:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=sn,n&&this._backdrop.classList.add(n),p(this._backdrop).appendTo(document.body),p(this._element).on(nn.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&m.reflow(this._backdrop),p(this._backdrop).addClass(cn),!t)return;if(!n)return void t();var i=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){p(this._backdrop).removeClass(cn);var o=function(){e._removeBackdrop(),t&&t()};if(p(this._element).hasClass(ln)){var r=m.getTransitionDurationFromElement(this._backdrop);p(this._backdrop).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._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")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(pn)),e=[].slice.call(document.querySelectorAll(mn));p(t).each(function(t,e){var n=e.style.paddingRight,i=p(e).css("padding-right");p(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),p(e).each(function(t,e){var n=e.style.marginRight,i=p(e).css("margin-right");p(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=p(document.body).css("padding-right");p(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}p(document.body).addClass(an)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(pn));p(t).each(function(t,e){var n=p(e).data("padding-right");p(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+mn));p(e).each(function(t,e){var n=p(e).data("margin-right");"undefined"!=typeof n&&p(e).css("margin-right",n).removeData("margin-right")});var n=p(document.body).data("padding-right");p(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=rn,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=p(this).data($e),e=l({},tn,p(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),p(this).data($e,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return tn}}]),o}();p(document).on(nn.CLICK_DATA_API,fn,function(t){var e,n=this,i=m.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=p(e).data($e)?"toggle":l({},p(e).data(),p(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=p(e).one(nn.SHOW,function(t){t.isDefaultPrevented()||r.one(nn.HIDDEN,function(){p(n).is(":visible")&&n.focus()})});gn._jQueryInterface.call(p(e),o,this)}),p.fn[Ge]=gn._jQueryInterface,p.fn[Ge].Constructor=gn,p.fn[Ge].noConflict=function(){return p.fn[Ge]=Ze,gn._jQueryInterface};var _n=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],vn={"*":["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:[]},yn=/^(?:(?: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;function bn(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===_n.indexOf(n)||Boolean(t.nodeValue.match(yn)||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})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var wn="tooltip",Cn="bs.tooltip",Tn="."+Cn,Sn=p.fn[wn],Dn="bs-tooltip",In=new RegExp("(^|\\s)"+Dn+"\\S+","g"),An=["sanitize","whiteList","sanitizeFn"],On={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"},Nn={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},kn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="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:vn},Ln="show",xn="out",Pn={HIDE:"hide"+Tn,HIDDEN:"hidden"+Tn,SHOW:"show"+Tn,SHOWN:"shown"+Tn,INSERTED:"inserted"+Tn,CLICK:"click"+Tn,FOCUSIN:"focusin"+Tn,FOCUSOUT:"focusout"+Tn,MOUSEENTER:"mouseenter"+Tn,MOUSELEAVE:"mouseleave"+Tn},Hn="fade",jn="show",Rn=".tooltip-inner",Fn=".arrow",Mn="hover",Wn="focus",Un="click",Bn="manual",qn=function(){function i(t,e){if("undefined"==typeof be)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=p(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(p(this.getTipElement()).hasClass(jn))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),p.removeData(this.element,this.constructor.DATA_KEY),p(this.element).off(this.constructor.EVENT_KEY),p(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&p(this.tip).remove(),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"===p(this.element).css("display"))throw new Error("Please use show on visible elements");var t=p.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){p(this.element).trigger(t);var n=m.findShadowRoot(this.element),i=p.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=m.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&p(o).addClass(Hn);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 l=this._getContainer();p(o).data(this.constructor.DATA_KEY,this),p.contains(this.element.ownerDocument.documentElement,this.tip)||p(o).appendTo(l),p(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new be(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Fn},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),p(o).addClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().on("mouseover",null,p.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,p(e.element).trigger(e.constructor.Event.SHOWN),t===xn&&e._leave(null,e)};if(p(this.tip).hasClass(Hn)){var h=m.getTransitionDurationFromElement(this.tip);p(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=p.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==Ln&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),p(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(p(this.element).trigger(i),!i.isDefaultPrevented()){if(p(n).removeClass(jn),"ontouchstart"in document.documentElement&&p(document.body).children().off("mouseover",null,p.noop),this._activeTrigger[Un]=!1,this._activeTrigger[Wn]=!1,this._activeTrigger[Mn]=!1,p(this.tip).hasClass(Hn)){var r=m.getTransitionDurationFromElement(n);p(n).one(m.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){p(this.getTipElement()).addClass(Dn+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(p(t.querySelectorAll(Rn)),this.getTitle()),p(t).removeClass(Hn+" "+jn)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=bn(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?p(e).parent().is(t)||t.empty().append(e):t.text(p(e).text())},t.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},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},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:m.isElement(this.config.container)?p(this.config.container):p(document).find(this.config.container)},t._getAttachment=function(t){return Nn[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)p(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Bn){var e=t===Mn?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Mn?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;p(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),p(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Wn:Mn]=!0),p(e.getTipElement()).hasClass(jn)||e._hoverState===Ln?e._hoverState=Ln:(clearTimeout(e._timeout),e._hoverState=Ln,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Ln&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||p(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),p(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Wn:Mn]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=xn,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===xn&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=p(this.element).data();return Object.keys(e).forEach(function(t){-1!==An.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},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()),m.typeCheckConfig(wn,t,this.constructor.DefaultType),t.sanitize&&(t.template=bn(t.template,t.whiteList,t.sanitizeFn)),t},t._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},t._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(In);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(p(t).removeClass(Hn),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Cn),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Cn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return kn}},{key:"NAME",get:function(){return wn}},{key:"DATA_KEY",get:function(){return Cn}},{key:"Event",get:function(){return Pn}},{key:"EVENT_KEY",get:function(){return Tn}},{key:"DefaultType",get:function(){return On}}]),i}();p.fn[wn]=qn._jQueryInterface,p.fn[wn].Constructor=qn,p.fn[wn].noConflict=function(){return p.fn[wn]=Sn,qn._jQueryInterface};var Kn="popover",Qn="bs.popover",Vn="."+Qn,Yn=p.fn[Kn],zn="bs-popover",Xn=new RegExp("(^|\\s)"+zn+"\\S+","g"),Gn=l({},qn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),$n=l({},qn.DefaultType,{content:"(string|element|function)"}),Jn="fade",Zn="show",ti=".popover-header",ei=".popover-body",ni={HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn,INSERTED:"inserted"+Vn,CLICK:"click"+Vn,FOCUSIN:"focusin"+Vn,FOCUSOUT:"focusout"+Vn,MOUSEENTER:"mouseenter"+Vn,MOUSELEAVE:"mouseleave"+Vn},ii=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){p(this.getTipElement()).addClass(zn+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||p(this.config.template)[0],this.tip},o.setContent=function(){var t=p(this.getTipElement());this.setElementContent(t.find(ti),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ei),e),t.removeClass(Jn+" "+Zn)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=p(this.getTipElement()),e=t.attr("class").match(Xn);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=p(this).data(Qn),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),p(this).data(Qn,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Gn}},{key:"NAME",get:function(){return Kn}},{key:"DATA_KEY",get:function(){return Qn}},{key:"Event",get:function(){return ni}},{key:"EVENT_KEY",get:function(){return Vn}},{key:"DefaultType",get:function(){return $n}}]),i}(qn);p.fn[Kn]=ii._jQueryInterface,p.fn[Kn].Constructor=ii,p.fn[Kn].noConflict=function(){return p.fn[Kn]=Yn,ii._jQueryInterface};var oi="scrollspy",ri="bs.scrollspy",si="."+ri,ai=p.fn[oi],li={offset:10,method:"auto",target:""},ci={offset:"number",method:"string",target:"(string|element)"},hi={ACTIVATE:"activate"+si,SCROLL:"scroll"+si,LOAD_DATA_API:"load"+si+".data-api"},ui="dropdown-item",fi="active",di='[data-spy="scroll"]',pi=".nav, .list-group",mi=".nav-link",gi=".nav-item",_i=".list-group-item",vi=".dropdown",yi=".dropdown-item",Ei=".dropdown-toggle",bi="offset",wi="position",Ci=function(){function n(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+" "+mi+","+this._config.target+" "+_i+","+this._config.target+" "+yi,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,p(this._scrollElement).on(hi.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bi:wi,o="auto"===this._config.method?t:this._config.method,r=o===wi?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=m.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[p(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){p.removeData(this._element,ri),p(this._scrollElement).off(si),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(t){if("string"!=typeof(t=l({},li,"object"==typeof t&&t?t:{})).target){var e=p(t.target).attr("id");e||(e=m.getUID(oi),p(t.target).attr("id",e)),t.target="#"+e}return m.typeCheckConfig(oi,t,ci),t},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 t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[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])}}},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=p([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(ui)?(n.closest(vi).find(Ei).addClass(fi),n.addClass(fi)):(n.addClass(fi),n.parents(pi).prev(mi+", "+_i).addClass(fi),n.parents(pi).prev(gi).children(mi).addClass(fi)),p(this._scrollElement).trigger(hi.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(fi)}).forEach(function(t){return t.classList.remove(fi)})},n._jQueryInterface=function(e){return this.each(function(){var t=p(this).data(ri);if(t||(t=new n(this,"object"==typeof e&&e),p(this).data(ri,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return li}}]),n}();p(window).on(hi.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(di)),e=t.length;e--;){var n=p(t[e]);Ci._jQueryInterface.call(n,n.data())}}),p.fn[oi]=Ci._jQueryInterface,p.fn[oi].Constructor=Ci,p.fn[oi].noConflict=function(){return p.fn[oi]=ai,Ci._jQueryInterface};var Ti="bs.tab",Si="."+Ti,Di=p.fn.tab,Ii={HIDE:"hide"+Si,HIDDEN:"hidden"+Si,SHOW:"show"+Si,SHOWN:"shown"+Si,CLICK_DATA_API:"click"+Si+".data-api"},Ai="dropdown-menu",Oi="active",Ni="disabled",ki="fade",Li="show",xi=".dropdown",Pi=".nav, .list-group",Hi=".active",ji="> li > .active",Ri='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Fi=".dropdown-toggle",Mi="> .dropdown-menu .active",Wi=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&p(this._element).hasClass(Oi)||p(this._element).hasClass(Ni))){var t,i,e=p(this._element).closest(Pi)[0],o=m.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?ji:Hi;i=(i=p.makeArray(p(e).find(r)))[i.length-1]}var s=p.Event(Ii.HIDE,{relatedTarget:this._element}),a=p.Event(Ii.SHOW,{relatedTarget:i});if(i&&p(i).trigger(s),p(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=p.Event(Ii.HIDDEN,{relatedTarget:n._element}),e=p.Event(Ii.SHOWN,{relatedTarget:i});p(i).trigger(t),p(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){p.removeData(this._element,Ti),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?p(e).children(Hi):p(e).find(ji))[0],r=n&&o&&p(o).hasClass(ki),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=m.getTransitionDurationFromElement(o);p(o).removeClass(Li).one(m.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){p(e).removeClass(Oi);var i=p(e.parentNode).find(Mi)[0];i&&p(i).removeClass(Oi),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(p(t).addClass(Oi),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),m.reflow(t),t.classList.contains(ki)&&t.classList.add(Li),t.parentNode&&p(t.parentNode).hasClass(Ai)){var o=p(t).closest(xi)[0];if(o){var r=[].slice.call(o.querySelectorAll(Fi));p(r).addClass(Oi)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(Ti);if(e||(e=new i(this),t.data(Ti,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();p(document).on(Ii.CLICK_DATA_API,Ri,function(t){t.preventDefault(),Wi._jQueryInterface.call(p(this),"show")}),p.fn.tab=Wi._jQueryInterface,p.fn.tab.Constructor=Wi,p.fn.tab.noConflict=function(){return p.fn.tab=Di,Wi._jQueryInterface};var Ui="toast",Bi="bs.toast",qi="."+Bi,Ki=p.fn[Ui],Qi={CLICK_DISMISS:"click.dismiss"+qi,HIDE:"hide"+qi,HIDDEN:"hidden"+qi,SHOW:"show"+qi,SHOWN:"shown"+qi},Vi="fade",Yi="hide",zi="show",Xi="showing",Gi={animation:"boolean",autohide:"boolean",delay:"number"},$i={animation:!0,autohide:!0,delay:500},Ji='[data-dismiss="toast"]',Zi=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;p(this._element).trigger(Qi.SHOW),this._config.animation&&this._element.classList.add(Vi);var e=function(){t._element.classList.remove(Xi),t._element.classList.add(zi),p(t._element).trigger(Qi.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove(Yi),this._element.classList.add(Xi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(zi)&&(p(this._element).trigger(Qi.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(zi)&&this._element.classList.remove(zi),p(this._element).off(Qi.CLICK_DISMISS),p.removeData(this._element,Bi),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},$i,p(this._element).data(),"object"==typeof t&&t?t:{}),m.typeCheckConfig(Ui,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;p(this._element).on(Qi.CLICK_DISMISS,Ji,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add(Yi),p(t._element).trigger(Qi.HIDDEN)};if(this._element.classList.remove(zi),this._config.animation){var n=m.getTransitionDurationFromElement(this._element);p(this._element).one(m.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=p(this),e=t.data(Bi);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bi,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Gi}},{key:"Default",get:function(){return $i}}]),i}();p.fn[Ui]=Zi._jQueryInterface,p.fn[Ui].Constructor=Zi,p.fn[Ui].noConflict=function(){return p.fn[Ui]=Ki,Zi._jQueryInterface},function(){if("undefined"==typeof p)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=p.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=m,t.Alert=g,t.Button=k,t.Carousel=at,t.Collapse=Ct,t.Dropdown=Xe,t.Modal=gn,t.Popover=ii,t.Scrollspy=Ci,t.Tab=Wi,t.Toast=Zi,t.Tooltip=qn,Object.defineProperty(t,"__esModule",{value:!0})});
-//# sourceMappingURL=bootstrap.bundle.min.js.map
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js.map b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js.map
deleted file mode 100644
index ad12222..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.bundle.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.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/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","querySelectorAll","e","add","tagName","which","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","ride","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","isBrowser","longerTimeoutBrowsers","timeoutDuration","userAgent","debounce","Promise","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","getSize","computedStyle","max","getWindowSizes","height","width","createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","protoProps","staticProps","_extends","assign","source","getClientRect","offsets","right","left","bottom","top","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","reference","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","isFixed","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","prop","findIndex","cur","forEach","console","warn","enabled","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toCheck","getWindow","setupEventListeners","options","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","instance","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","inner","subtractLength","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","offsetParentRect","position","devicePixelRatio","v","prefixedProperty","willChange","invertTop","invertLeft","x-placement","arrowStyles","applyStyle","removeAttribute","onLoad","modifierOptions","Popper","classCallCheck","requestAnimationFrame","update","isDestroyed","isCreated","enableEventListeners","removeChild","Utils","global","PopperUtils","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","boundary","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","referenceElement","_getPopperConfig","noop","hideEvent","destroy","stopPropagation","constructor","_getPlacement","$parentDropdown","_getOffset","popperConfig","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","handleUpdate","ELEMENT_NODE","appendChild","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","calculatedMargin","elements","margin","scrollDiv","scrollbarWidth","_this10","uriAttrs","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","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","_loop","elName","attributeList","whitelistedAttributes","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","container","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","isWithContent","shadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","_handlePopperPlacementChange","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","$tip","tabClass","join","popperData","popperInstance","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","_getOffsetHeight","maxScroll","_activate","_clear","queries","$link","parents","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n  return {\n    bindType: TRANSITION_END,\n    delegateType: TRANSITION_END,\n    handle(event) {\n      if ($(event.target).is(this)) {\n        return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n      }\n      return undefined // eslint-disable-line no-undefined\n    }\n  }\n}\n\nfunction transitionEndEmulator(duration) {\n  let called = false\n\n  $(this).one(Util.TRANSITION_END, () => {\n    called = true\n  })\n\n  setTimeout(() => {\n    if (!called) {\n      Util.triggerTransitionEnd(this)\n    }\n  }, duration)\n\n  return this\n}\n\nfunction setTransitionEndSupport() {\n  $.fn.emulateTransitionEnd = transitionEndEmulator\n  $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n  TRANSITION_END: 'bsTransitionEnd',\n\n  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    return prefix\n  },\n\n  getSelectorFromElement(element) {\n    let selector = element.getAttribute('data-target')\n\n    if (!selector || selector === '#') {\n      const hrefAttr = element.getAttribute('href')\n      selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n    }\n\n    try {\n      return document.querySelector(selector) ? selector : null\n    } catch (err) {\n      return null\n    }\n  },\n\n  getTransitionDurationFromElement(element) {\n    if (!element) {\n      return 0\n    }\n\n    // Get transition-duration of the element\n    let transitionDuration = $(element).css('transition-duration')\n    let transitionDelay = $(element).css('transition-delay')\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\n  reflow(element) {\n    return element.offsetHeight\n  },\n\n  triggerTransitionEnd(element) {\n    $(element).trigger(TRANSITION_END)\n  },\n\n  // TODO: Remove in v5\n  supportsTransitionEnd() {\n    return Boolean(TRANSITION_END)\n  },\n\n  isElement(obj) {\n    return (obj[0] || obj).nodeType\n  },\n\n  typeCheckConfig(componentName, config, configTypes) {\n    for (const property in configTypes) {\n      if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n        const expectedTypes = configTypes[property]\n        const value         = config[property]\n        const valueType     = value && Util.isElement(value)\n          ? 'element' : 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  },\n\n  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 Util.findShadowRoot(element.parentNode)\n  }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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\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.isDefaultPrevented()) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    let parent     = false\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    if (!parent) {\n      parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n    }\n\n    return parent\n  }\n\n  _triggerCloseEvent(element) {\n    const closeEvent = $.Event(Event.CLOSE)\n\n    $(element).trigger(closeEvent)\n    return closeEvent\n  }\n\n  _removeElement(element) {\n    $(element).removeClass(ClassName.SHOW)\n\n    if (!$(element).hasClass(ClassName.FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n    $(element)\n      .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  _destroyElement(element) {\n    $(element)\n      .detach()\n      .trigger(Event.CLOSED)\n      .remove()\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n        $element.data(DATA_KEY, data)\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n  Event.CLICK_DATA_API,\n  Selector.DISMISS,\n  Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n                          `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  }\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    const rootElement = $(this._element).closest(\n      Selector.DATA_TOGGLE\n    )[0]\n\n    if (rootElement) {\n      const input = this._element.querySelector(Selector.INPUT)\n\n      if (input) {\n        if (input.type === 'radio') {\n          if (input.checked &&\n            this._element.classList.contains(ClassName.ACTIVE)) {\n            triggerChangeEvent = false\n          } else {\n            const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n            if (activeElement) {\n              $(activeElement).removeClass(ClassName.ACTIVE)\n            }\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          input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n          $(input).trigger('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).toggleClass(ClassName.ACTIVE)\n    }\n  }\n\n  dispose() {\n    $.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 = $(this).data(DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    event.preventDefault()\n\n    let button = event.target\n\n    if (!$(button).hasClass(ClassName.BUTTON)) {\n      button = $(button).closest(Selector.BUTTON)\n    }\n\n    Button._jQueryInterface.call($(button), 'toggle')\n  })\n  .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    const button = $(event.target).closest(Selector.BUTTON)[0]\n    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Button._jQueryInterface\n}\n\nexport default Button\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT     = $.fn[NAME]\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 = this._element.querySelector(Selector.INDICATORS)\n    this._touchSupported    = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent      = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n    this._addEventListeners()\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 &&\n      ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\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 (this._element.querySelector(Selector.NEXT_PREV)) {\n      Util.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.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 = this._element.querySelector(Selector.ACTIVE_ITEM)\n\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      $(this._element).one(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    $(this._element).off(EVENT_KEY)\n    $.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    Util.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    // 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      $(this._element)\n        .on(Event.KEYDOWN, (event) => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      $(this._element)\n        .on(Event.MOUSEENTER, (event) => this.pause(event))\n        .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n    }\n\n    if (this._config.touch) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    if (!this._touchSupported) {\n      return\n    }\n\n    const start = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchStartX = event.originalEvent.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.originalEvent.touches[0].clientX\n      }\n    }\n\n    const move = (event) => {\n      // ensure swiping with one touch and not pinching\n      if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.originalEvent.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        this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n    if (this._pointerEvent) {\n      $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n      $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n      this._element.classList.add(ClassName.POINTER_EVENT)\n    } else {\n      $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n      $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n      $(this._element).on(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      ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\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] : this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n    const slideEvent = $.Event(Event.SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n\n    $(this._element).trigger(slideEvent)\n\n    return slideEvent\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n      $(indicators)\n        .removeClass(ClassName.ACTIVE)\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        $(nextIndicator).addClass(ClassName.ACTIVE)\n      }\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement   = element || activeElement &&\n      this._getItemByDirection(direction, activeElement)\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).hasClass(ClassName.ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.isDefaultPrevented()) {\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    const slidEvent = $.Event(Event.SLID, {\n      relatedTarget: nextElement,\n      direction: eventDirectionName,\n      from: activeElementIndex,\n      to: nextElementIndex\n    })\n\n    if ($(this._element).hasClass(ClassName.SLIDE)) {\n      $(nextElement).addClass(orderClassName)\n\n      Util.reflow(nextElement)\n\n      $(activeElement).addClass(directionalClassName)\n      $(nextElement).addClass(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 = Util.getTransitionDurationFromElement(activeElement)\n\n      $(activeElement)\n        .one(Util.TRANSITION_END, () => {\n          $(nextElement)\n            .removeClass(`${directionalClassName} ${orderClassName}`)\n            .addClass(ClassName.ACTIVE)\n\n          $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n          this._isSliding = false\n\n          setTimeout(() => $(this._element).trigger(slidEvent), 0)\n        })\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      $(activeElement).removeClass(ClassName.ACTIVE)\n      $(nextElement).addClass(ClassName.ACTIVE)\n\n      this._isSliding = false\n      $(this._element).trigger(slidEvent)\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      let _config = {\n        ...Default,\n        ...$(this).data()\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(this, _config)\n        $(this).data(DATA_KEY, data)\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        data[action]()\n      } else if (_config.interval && _config.ride) {\n        data.pause()\n        data.cycle()\n      }\n    })\n  }\n\n  static _dataApiClickHandler(event) {\n    const selector = Util.getSelectorFromElement(this)\n\n    if (!selector) {\n      return\n    }\n\n    const target = $(selector)[0]\n\n    if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n    const slideIndex = this.getAttribute('data-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel._jQueryInterface.call($(target), config)\n\n    if (slideIndex) {\n      $(target).data(DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    const $carousel = $(carousels[i])\n    Carousel._jQueryInterface.call($carousel, $carousel.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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    = [].slice.call(document.querySelectorAll(\n      `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n      `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n    ))\n\n    const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = Util.getSelectorFromElement(elem)\n      const filterElement = [].slice.call(document.querySelectorAll(selector))\n        .filter((foundElem) => foundElem === element)\n\n      if (selector !== null && filterElement.length > 0) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if ($(this._element).hasClass(ClassName.SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      $(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\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    if (actives) {\n      activesData = $(actives).not(this._selector).data(DATA_KEY)\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = $.Event(Event.SHOW)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (actives) {\n      Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n      if (!activesData) {\n        $(actives).data(DATA_KEY, null)\n      }\n    }\n\n    const dimension = this._getDimension()\n\n    $(this._element)\n      .removeClass(ClassName.COLLAPSE)\n      .addClass(ClassName.COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      $(this._triggerArray)\n        .removeClass(ClassName.COLLAPSED)\n        .attr('aria-expanded', true)\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .addClass(ClassName.SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      $(this._element).trigger(Event.SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !$(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const startEvent = $.Event(Event.HIDE)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    Util.reflow(this._element)\n\n    $(this._element)\n      .addClass(ClassName.COLLAPSING)\n      .removeClass(ClassName.COLLAPSE)\n      .removeClass(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 selector = Util.getSelectorFromElement(trigger)\n\n        if (selector !== null) {\n          const $elem = $([].slice.call(document.querySelectorAll(selector)))\n          if (!$elem.hasClass(ClassName.SHOW)) {\n            $(trigger).addClass(ClassName.COLLAPSED)\n              .attr('aria-expanded', false)\n          }\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .trigger(Event.HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n    return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n  }\n\n  _getParent() {\n    let parent\n\n    if (Util.isElement(this._config.parent)) {\n      parent = this._config.parent\n\n      // It's a jQuery object\n      if (typeof this._config.parent.jquery !== 'undefined') {\n        parent = this._config.parent[0]\n      }\n    } else {\n      parent = document.querySelector(this._config.parent)\n    }\n\n    const selector =\n      `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n    const children = [].slice.call(parent.querySelectorAll(selector))\n    $(children).each((i, element) => {\n      this._addAriaAndCollapsedClass(\n        Collapse._getTargetFromElement(element),\n        [element]\n      )\n    })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    const isOpen = $(element).hasClass(ClassName.SHOW)\n\n    if (triggerArray.length) {\n      $(triggerArray)\n        .toggleClass(ClassName.COLLAPSED, !isOpen)\n        .attr('aria-expanded', isOpen)\n    }\n  }\n\n  // Static\n\n  static _getTargetFromElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    return selector ? document.querySelector(selector) : null\n  }\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this   = $(this)\n      let data      = $this.data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$this.data(),\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(this, _config)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(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.currentTarget.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const $trigger = $(this)\n  const selector = Util.getSelectorFromElement(this)\n  const selectors = [].slice.call(document.querySelectorAll(selector))\n\n  $(selectors).each(function () {\n    const $target = $(this)\n    const data    = $target.data(DATA_KEY)\n    const config  = data ? 'toggle' : $trigger.data()\n    Collapse._jQueryInterface.call($target, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Collapse\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\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    var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\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\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 {HTMLElement|referenceObject} reference - The reference element used to position the popper\n   * @param {HTMLElement} popper - The HTML 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 $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT       = $.fn[NAME]\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  MENULEFT        : 'dropdown-menu-left',\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}\n\nconst DefaultType = {\n  offset    : '(number|string|function)',\n  flip      : 'boolean',\n  boundary  : '(string|element)',\n  reference : '(string|element)',\n  display   : 'string'\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  }\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).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this._element)\n    const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    // Disable totally Popper.js for Dropdown in Navbar\n    if (!this._inNavbar) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\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 (Util.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).addClass(ClassName.POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  show() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(Event.HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.HIDDEN, relatedTarget))\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._element).off(EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    $(this._element).on(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      ...$(this._element).data(),\n      ...config\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _getMenuElement() {\n    if (!this._menu) {\n      const parent = Dropdown._getParentFromElement(this._element)\n\n      if (parent) {\n        this._menu = parent.querySelector(Selector.MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = AttachmentMap.BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n      placement = AttachmentMap.TOP\n      if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.TOPEND\n      }\n    } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n      placement = AttachmentMap.RIGHT\n    } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n      placement = AttachmentMap.LEFT\n    } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n      placement = AttachmentMap.BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\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 popperConfig\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(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        data[config]()\n      }\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 = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(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).hasClass(ClassName.SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(Event.HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\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        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      $(dropdownMenu).removeClass(ClassName.SHOW)\n      $(parent)\n        .removeClass(ClassName.SHOW)\n        .trigger($.Event(Event.HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\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        $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(ClassName.SHOW)\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n        $(toggle).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n    if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n  .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n  .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    event.stopPropagation()\n    Dropdown._jQueryInterface.call($(this), 'toggle')\n  })\n  .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n    e.stopPropagation()\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT = $.fn[NAME]\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              = element.querySelector(Selector.DIALOG)\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  }\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).hasClass(ClassName.FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\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    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      (event) => this.hide(event)\n    )\n\n    $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n        if ($(event.target).is(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 = $.Event(Event.HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(Event.FOCUSIN)\n\n    $(this._element).removeClass(ClassName.SHOW)\n\n    $(this._element).off(Event.CLICK_DISMISS)\n    $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach((htmlElement) => $(htmlElement).off(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    $(document).off(Event.FOCUSIN)\n\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(ClassName.FADE)\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).hasClass(ClassName.SCROLLABLE)) {\n      this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(ClassName.SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(Event.SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(Event.FOCUSIN) // Guard against infinite focus loop\n      .on(Event.FOCUSIN, (event) => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown && this._config.keyboard) {\n      $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n        if (event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(Event.KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n    } else {\n      $(window).off(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).removeClass(ClassName.OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(Event.HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(ClassName.FADE)\n      ? ClassName.FADE : ''\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      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(Event.CLICK_DISMISS, (event) => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n        if (event.target !== event.currentTarget) {\n          return\n        }\n        if (this._config.backdrop === 'static') {\n          this._element.focus()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(ClassName.SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(ClassName.SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(ClassName.FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\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      const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(ClassName.OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\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 = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(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        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY)\n    ? 'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(Event.SHOW, (showEvent) => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(Event.HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\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\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\nfunction 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 function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n  if (unsafeHtml.length === 0) {\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 = [].slice.call(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(el.nodeName.toLowerCase()) === -1) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].slice.call(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  DefaultWhitelist,\n  sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT    = $.fn[NAME]\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}\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=\"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}\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       : '.tooltip',\n  TOOLTIP_INNER : '.tooltip-inner',\n  ARROW         : '.arrow'\n}\n\nconst Trigger = {\n  HOVER  : 'hover',\n  FOCUS  : 'focus',\n  CLICK  : 'click',\n  MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    /**\n     * Check for Popper dependency\n     * Popper - https://popper.js.org\n     */\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  }\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 = $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(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()).hasClass(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    $.removeData(this.element, this.constructor.DATA_KEY)\n\n    $(this.element).off(this.constructor.EVENT_KEY)\n    $(this.element).closest('.modal').off('hide.bs.modal')\n\n    if (this.tip) {\n      $(this.tip).remove()\n    }\n\n    this._isEnabled     = null\n    this._timeout       = null\n    this._hoverState    = null\n    this._activeTrigger = null\n    if (this._popper !== null) {\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).css('display') === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    const showEvent = $.Event(this.constructor.Event.SHOW)\n    if (this.isWithContent() && this._isEnabled) {\n      $(this.element).trigger(showEvent)\n\n      const shadowRoot = Util.findShadowRoot(this.element)\n      const isInTheDom = $.contains(\n        shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n        this.element\n      )\n\n      if (showEvent.isDefaultPrevented() || !isInTheDom) {\n        return\n      }\n\n      const tip   = this.getTipElement()\n      const tipId = Util.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).addClass(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      $(tip).data(this.constructor.DATA_KEY, this)\n\n      if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n        $(tip).appendTo(container)\n      }\n\n      $(this.element).trigger(this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, {\n        placement: attachment,\n        modifiers: {\n          offset: this._getOffset(),\n          flip: {\n            behavior: this.config.fallbackPlacement\n          },\n          arrow: {\n            element: Selector.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      $(tip).addClass(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        $(document.body).children().on('mouseover', null, $.noop)\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n        const prevHoverState = this._hoverState\n        this._hoverState     = null\n\n        $(this.element).trigger(this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HoverState.OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if ($(this.tip).hasClass(ClassName.FADE)) {\n        const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n        $(this.tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide(callback) {\n    const tip       = this.getTipElement()\n    const hideEvent = $.Event(this.constructor.Event.HIDE)\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      $(this.element).trigger(this.constructor.Event.HIDDEN)\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    $(this.element).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(tip).removeClass(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      $(document.body).children().off('mouseover', null, $.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).hasClass(ClassName.FADE)) {\n      const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n      $(tip)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n    $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  setElementContent($element, content) {\n    if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n      // Content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (!$(content).parent().is($element)) {\n          $element.empty().append(content)\n        }\n      } else {\n        $element.text($(content).text())\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.html(content)\n    } else {\n      $element.text(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  _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 (Util.isElement(this.config.container)) {\n      return $(this.config.container)\n    }\n\n    return $(document).find(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        $(this.element).on(\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        $(this.element)\n          .on(\n            eventIn,\n            this.config.selector,\n            (event) => this._enter(event)\n          )\n          .on(\n            eventOut,\n            this.config.selector,\n            (event) => this._leave(event)\n          )\n      }\n    })\n\n    $(this.element).closest('.modal').on(\n      'hide.bs.modal',\n      () => {\n        if (this.element) {\n          this.hide()\n        }\n      }\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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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()).hasClass(ClassName.SHOW) || 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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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 = $(this.element).data()\n\n    Object.keys(dataAttributes)\n      .forEach((dataAttr) => {\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n          delete dataAttributes[dataAttr]\n        }\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    Util.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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length) {\n      $tip.removeClass(tabClass.join(''))\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\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    $(tip).removeClass(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 = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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 JQUERY_NO_CONFLICT  = $.fn[NAME]\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=\"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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const $tip = $(this.getTipElement())\n\n    // We use append for html objects to maintain js events\n    this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n    this.setElementContent($tip.find(Selector.CONTENT), content)\n\n    $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active'\n}\n\nconst Selector = {\n  DATA_SPY        : '[data-spy=\"scroll\"]',\n  ACTIVE          : '.active',\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_ITEMS  : '.dropdown-item',\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} ${Selector.DROPDOWN_ITEMS}`\n    this._offsets       = []\n    this._targets       = []\n    this._activeTarget  = null\n    this._scrollHeight  = 0\n\n    $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n    this.refresh()\n    this._process()\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 : OffsetMethod.POSITION\n\n    const offsetMethod = this._config.method === 'auto'\n      ? autoMethod : this._config.method\n\n    const offsetBase = offsetMethod === OffsetMethod.POSITION\n      ? this._getScrollTop() : 0\n\n    this._offsets = []\n    this._targets = []\n\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n    targets\n      .map((element) => {\n        let target\n        const targetSelector = Util.getSelectorFromElement(element)\n\n        if (targetSelector) {\n          target = document.querySelector(targetSelector)\n        }\n\n        if (target) {\n          const targetBCR = target.getBoundingClientRect()\n          if (targetBCR.width || targetBCR.height) {\n            // TODO (fat): remove sketch reliance on jQuery position/offset\n            return [\n              $(target)[offsetMethod]().top + offsetBase,\n              targetSelector\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    $.removeData(this._element, DATA_KEY)\n    $(this._scrollElement).off(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).attr('id')\n      if (!id) {\n        id = Util.getUID(NAME)\n        $(config.target).attr('id', id)\n      }\n      config.target = `#${id}`\n    }\n\n    Util.typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window\n      ? this._scrollElement.pageYOffset : 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 : 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      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\n      .split(',')\n      .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n    if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n      $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n      $link.addClass(ClassName.ACTIVE)\n    } else {\n      // Set triggered link as active\n      $link.addClass(ClassName.ACTIVE)\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      $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n      // Handle special case when .nav-link is inside .nav-item\n      $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n    }\n\n    $(this._scrollElement).trigger(Event.ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    [].slice.call(document.querySelectorAll(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 = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n  const scrollSpysLength = scrollSpys.length\n\n  for (let i = scrollSpysLength; i--;) {\n    const $spy = $(scrollSpys[i])\n    ScrollSpy._jQueryInterface.call($spy, $spy.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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             : '> li > .active',\n  DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n  DROPDOWN_TOGGLE       : '.dropdown-toggle',\n  DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\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).hasClass(ClassName.ACTIVE) ||\n        $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    let target\n    let previous\n    const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n    const selector = Util.getSelectorFromElement(this._element)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n      previous = $.makeArray($(listElement).find(itemSelector))\n      previous = previous[previous.length - 1]\n    }\n\n    const hideEvent = $.Event(Event.HIDE, {\n      relatedTarget: this._element\n    })\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget: previous\n    })\n\n    if (previous) {\n      $(previous).trigger(hideEvent)\n    }\n\n    $(this._element).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() ||\n        hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (selector) {\n      target = document.querySelector(selector)\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      const hiddenEvent = $.Event(Event.HIDDEN, {\n        relatedTarget: this._element\n      })\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget: previous\n      })\n\n      $(previous).trigger(hiddenEvent)\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    $.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      ? $(container).find(Selector.ACTIVE_UL)\n      : $(container).children(Selector.ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n      $(active)\n        .removeClass(ClassName.SHOW)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      $(active).removeClass(ClassName.ACTIVE)\n\n      const dropdownChild = $(active.parentNode).find(\n        Selector.DROPDOWN_ACTIVE_CHILD\n      )[0]\n\n      if (dropdownChild) {\n        $(dropdownChild).removeClass(ClassName.ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    $(element).addClass(ClassName.ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    Util.reflow(element)\n\n    if (element.classList.contains(ClassName.FADE)) {\n      element.classList.add(ClassName.SHOW)\n    }\n\n    if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n      const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n      if (dropdownElement) {\n        const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n        $(dropdownToggleList).addClass(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 $this = $(this)\n      let data = $this.data(DATA_KEY)\n\n      if (!data) {\n        data = new Tab(this)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    Tab._jQueryInterface.call($(this), 'show')\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  }\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    $(this._element).trigger(Event.SHOW)\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      $(this._element).trigger(Event.SHOWN)\n\n      if (this._config.autohide) {\n        this.hide()\n      }\n    }\n\n    this._element.classList.remove(ClassName.HIDE)\n    this._element.classList.add(ClassName.SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide(withoutTimeout) {\n    if (!this._element.classList.contains(ClassName.SHOW)) {\n      return\n    }\n\n    $(this._element).trigger(Event.HIDE)\n\n    if (withoutTimeout) {\n      this._close()\n    } else {\n      this._timeout = setTimeout(() => {\n        this._close()\n      }, this._config.delay)\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    $(this._element).off(Event.CLICK_DISMISS)\n\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n    this._config  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...$(this._element).data(),\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _setListeners() {\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      () => this.hide(true)\n    )\n  }\n\n  _close() {\n    const complete = () => {\n      this._element.classList.add(ClassName.HIDE)\n      $(this._element).trigger(Event.HIDDEN)\n    }\n\n    this._element.classList.remove(ClassName.SHOW)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n      const _config  = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n        $element.data(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](this)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})()\n\nexport {\n  Util,\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/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js
deleted file mode 100644
index da59f0e..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js
+++ /dev/null
@@ -1,4435 +0,0 @@
-/*!
-  * Bootstrap v4.3.1 (https://getbootstrap.com/)
-  * 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 (global, factory) {
-  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
-  typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
-  (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
-}(this, function (exports, $, Popper) { 'use strict';
-
-  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
-  Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
-
-  function _defineProperties(target, props) {
-    for (var i = 0; i < props.length; i++) {
-      var descriptor = props[i];
-      descriptor.enumerable = descriptor.enumerable || false;
-      descriptor.configurable = true;
-      if ("value" in descriptor) descriptor.writable = true;
-      Object.defineProperty(target, descriptor.key, descriptor);
-    }
-  }
-
-  function _createClass(Constructor, protoProps, staticProps) {
-    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
-    if (staticProps) _defineProperties(Constructor, staticProps);
-    return Constructor;
-  }
-
-  function _defineProperty(obj, key, value) {
-    if (key in obj) {
-      Object.defineProperty(obj, key, {
-        value: value,
-        enumerable: true,
-        configurable: true,
-        writable: true
-      });
-    } else {
-      obj[key] = value;
-    }
-
-    return obj;
-  }
-
-  function _objectSpread(target) {
-    for (var i = 1; i < arguments.length; i++) {
-      var source = arguments[i] != null ? arguments[i] : {};
-      var ownKeys = Object.keys(source);
-
-      if (typeof Object.getOwnPropertySymbols === 'function') {
-        ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
-          return Object.getOwnPropertyDescriptor(source, sym).enumerable;
-        }));
-      }
-
-      ownKeys.forEach(function (key) {
-        _defineProperty(target, key, source[key]);
-      });
-    }
-
-    return target;
-  }
-
-  function _inheritsLoose(subClass, superClass) {
-    subClass.prototype = Object.create(superClass.prototype);
-    subClass.prototype.constructor = subClass;
-    subClass.__proto__ = superClass;
-  }
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): util.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-  /**
-   * ------------------------------------------------------------------------
-   * Private TransitionEnd Helpers
-   * ------------------------------------------------------------------------
-   */
-
-  var TRANSITION_END = 'transitionend';
-  var MAX_UID = 1000000;
-  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
-
-  function toType(obj) {
-    return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
-  }
-
-  function getSpecialTransitionEndEvent() {
-    return {
-      bindType: TRANSITION_END,
-      delegateType: TRANSITION_END,
-      handle: function handle(event) {
-        if ($(event.target).is(this)) {
-          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
-        }
-
-        return undefined; // eslint-disable-line no-undefined
-      }
-    };
-  }
-
-  function transitionEndEmulator(duration) {
-    var _this = this;
-
-    var called = false;
-    $(this).one(Util.TRANSITION_END, function () {
-      called = true;
-    });
-    setTimeout(function () {
-      if (!called) {
-        Util.triggerTransitionEnd(_this);
-      }
-    }, duration);
-    return this;
-  }
-
-  function setTransitionEndSupport() {
-    $.fn.emulateTransitionEnd = transitionEndEmulator;
-    $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
-  }
-  /**
-   * --------------------------------------------------------------------------
-   * Public Util Api
-   * --------------------------------------------------------------------------
-   */
-
-
-  var Util = {
-    TRANSITION_END: 'bsTransitionEnd',
-    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));
-
-      return prefix;
-    },
-    getSelectorFromElement: function getSelectorFromElement(element) {
-      var selector = element.getAttribute('data-target');
-
-      if (!selector || selector === '#') {
-        var hrefAttr = element.getAttribute('href');
-        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';
-      }
-
-      try {
-        return document.querySelector(selector) ? selector : null;
-      } catch (err) {
-        return null;
-      }
-    },
-    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {
-      if (!element) {
-        return 0;
-      } // Get transition-duration of the element
-
-
-      var transitionDuration = $(element).css('transition-duration');
-      var transitionDelay = $(element).css('transition-delay');
-      var floatTransitionDuration = parseFloat(transitionDuration);
-      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
-
-      if (!floatTransitionDuration && !floatTransitionDelay) {
-        return 0;
-      } // If multiple durations are defined, take the first
-
-
-      transitionDuration = transitionDuration.split(',')[0];
-      transitionDelay = transitionDelay.split(',')[0];
-      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
-    },
-    reflow: function reflow(element) {
-      return element.offsetHeight;
-    },
-    triggerTransitionEnd: function triggerTransitionEnd(element) {
-      $(element).trigger(TRANSITION_END);
-    },
-    // TODO: Remove in v5
-    supportsTransitionEnd: function supportsTransitionEnd() {
-      return Boolean(TRANSITION_END);
-    },
-    isElement: function isElement(obj) {
-      return (obj[0] || obj).nodeType;
-    },
-    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
-      for (var property in configTypes) {
-        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
-          var expectedTypes = configTypes[property];
-          var value = config[property];
-          var valueType = value && Util.isElement(value) ? 'element' : toType(value);
-
-          if (!new RegExp(expectedTypes).test(valueType)) {
-            throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
-          }
-        }
-      }
-    },
-    findShadowRoot: function findShadowRoot(element) {
-      if (!document.documentElement.attachShadow) {
-        return null;
-      } // Can find the shadow root otherwise it'll return the document
-
-
-      if (typeof element.getRootNode === 'function') {
-        var root = element.getRootNode();
-        return root instanceof ShadowRoot ? root : null;
-      }
-
-      if (element instanceof ShadowRoot) {
-        return element;
-      } // when we don't find a shadow root
-
-
-      if (!element.parentNode) {
-        return null;
-      }
-
-      return Util.findShadowRoot(element.parentNode);
-    }
-  };
-  setTransitionEndSupport();
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME = 'alert';
-  var VERSION = '4.3.1';
-  var DATA_KEY = 'bs.alert';
-  var EVENT_KEY = "." + DATA_KEY;
-  var DATA_API_KEY = '.data-api';
-  var JQUERY_NO_CONFLICT = $.fn[NAME];
-  var Selector = {
-    DISMISS: '[data-dismiss="alert"]'
-  };
-  var Event = {
-    CLOSE: "close" + EVENT_KEY,
-    CLOSED: "closed" + EVENT_KEY,
-    CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
-  };
-  var ClassName = {
-    ALERT: 'alert',
-    FADE: 'fade',
-    SHOW: 'show'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Alert =
-  /*#__PURE__*/
-  function () {
-    function Alert(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Alert.prototype;
-
-    // Public
-    _proto.close = function close(element) {
-      var rootElement = this._element;
-
-      if (element) {
-        rootElement = this._getRootElement(element);
-      }
-
-      var customEvent = this._triggerCloseEvent(rootElement);
-
-      if (customEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._removeElement(rootElement);
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY);
-      this._element = null;
-    } // Private
-    ;
-
-    _proto._getRootElement = function _getRootElement(element) {
-      var selector = Util.getSelectorFromElement(element);
-      var parent = false;
-
-      if (selector) {
-        parent = document.querySelector(selector);
-      }
-
-      if (!parent) {
-        parent = $(element).closest("." + ClassName.ALERT)[0];
-      }
-
-      return parent;
-    };
-
-    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
-      var closeEvent = $.Event(Event.CLOSE);
-      $(element).trigger(closeEvent);
-      return closeEvent;
-    };
-
-    _proto._removeElement = function _removeElement(element) {
-      var _this = this;
-
-      $(element).removeClass(ClassName.SHOW);
-
-      if (!$(element).hasClass(ClassName.FADE)) {
-        this._destroyElement(element);
-
-        return;
-      }
-
-      var transitionDuration = Util.getTransitionDurationFromElement(element);
-      $(element).one(Util.TRANSITION_END, function (event) {
-        return _this._destroyElement(element, event);
-      }).emulateTransitionEnd(transitionDuration);
-    };
-
-    _proto._destroyElement = function _destroyElement(element) {
-      $(element).detach().trigger(Event.CLOSED).remove();
-    } // Static
-    ;
-
-    Alert._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $element = $(this);
-        var data = $element.data(DATA_KEY);
-
-        if (!data) {
-          data = new Alert(this);
-          $element.data(DATA_KEY, data);
-        }
-
-        if (config === 'close') {
-          data[config](this);
-        }
-      });
-    };
-
-    Alert._handleDismiss = function _handleDismiss(alertInstance) {
-      return function (event) {
-        if (event) {
-          event.preventDefault();
-        }
-
-        alertInstance.close(this);
-      };
-    };
-
-    _createClass(Alert, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION;
-      }
-    }]);
-
-    return Alert;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME] = Alert._jQueryInterface;
-  $.fn[NAME].Constructor = Alert;
-
-  $.fn[NAME].noConflict = function () {
-    $.fn[NAME] = JQUERY_NO_CONFLICT;
-    return Alert._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$1 = 'button';
-  var VERSION$1 = '4.3.1';
-  var DATA_KEY$1 = 'bs.button';
-  var EVENT_KEY$1 = "." + DATA_KEY$1;
-  var DATA_API_KEY$1 = '.data-api';
-  var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
-  var ClassName$1 = {
-    ACTIVE: 'active',
-    BUTTON: 'btn',
-    FOCUS: 'focus'
-  };
-  var Selector$1 = {
-    DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
-    DATA_TOGGLE: '[data-toggle="buttons"]',
-    INPUT: 'input:not([type="hidden"])',
-    ACTIVE: '.active',
-    BUTTON: '.btn'
-  };
-  var Event$1 = {
-    CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
-    FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Button =
-  /*#__PURE__*/
-  function () {
-    function Button(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Button.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      var triggerChangeEvent = true;
-      var addAriaPressed = true;
-      var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
-
-      if (rootElement) {
-        var input = this._element.querySelector(Selector$1.INPUT);
-
-        if (input) {
-          if (input.type === 'radio') {
-            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
-              triggerChangeEvent = false;
-            } else {
-              var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
-
-              if (activeElement) {
-                $(activeElement).removeClass(ClassName$1.ACTIVE);
-              }
-            }
-          }
-
-          if (triggerChangeEvent) {
-            if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
-              return;
-            }
-
-            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
-            $(input).trigger('change');
-          }
-
-          input.focus();
-          addAriaPressed = false;
-        }
-      }
-
-      if (addAriaPressed) {
-        this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
-      }
-
-      if (triggerChangeEvent) {
-        $(this._element).toggleClass(ClassName$1.ACTIVE);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$1);
-      this._element = null;
-    } // Static
-    ;
-
-    Button._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$1);
-
-        if (!data) {
-          data = new Button(this);
-          $(this).data(DATA_KEY$1, data);
-        }
-
-        if (config === 'toggle') {
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Button, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$1;
-      }
-    }]);
-
-    return Button;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
-    event.preventDefault();
-    var button = event.target;
-
-    if (!$(button).hasClass(ClassName$1.BUTTON)) {
-      button = $(button).closest(Selector$1.BUTTON);
-    }
-
-    Button._jQueryInterface.call($(button), 'toggle');
-  }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
-    var button = $(event.target).closest(Selector$1.BUTTON)[0];
-    $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$1] = Button._jQueryInterface;
-  $.fn[NAME$1].Constructor = Button;
-
-  $.fn[NAME$1].noConflict = function () {
-    $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
-    return Button._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$2 = 'carousel';
-  var VERSION$2 = '4.3.1';
-  var DATA_KEY$2 = 'bs.carousel';
-  var EVENT_KEY$2 = "." + DATA_KEY$2;
-  var DATA_API_KEY$2 = '.data-api';
-  var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
-  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
-
-  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
-
-  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
-
-  var SWIPE_THRESHOLD = 40;
-  var Default = {
-    interval: 5000,
-    keyboard: true,
-    slide: false,
-    pause: 'hover',
-    wrap: true,
-    touch: true
-  };
-  var DefaultType = {
-    interval: '(number|boolean)',
-    keyboard: 'boolean',
-    slide: '(boolean|string)',
-    pause: '(string|boolean)',
-    wrap: 'boolean',
-    touch: 'boolean'
-  };
-  var Direction = {
-    NEXT: 'next',
-    PREV: 'prev',
-    LEFT: 'left',
-    RIGHT: 'right'
-  };
-  var Event$2 = {
-    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
-  };
-  var 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'
-  };
-  var 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"]'
-  };
-  var PointerType = {
-    TOUCH: 'touch',
-    PEN: 'pen'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Carousel =
-  /*#__PURE__*/
-  function () {
-    function Carousel(element, config) {
-      this._items = null;
-      this._interval = null;
-      this._activeElement = null;
-      this._isPaused = false;
-      this._isSliding = false;
-      this.touchTimeout = null;
-      this.touchStartX = 0;
-      this.touchDeltaX = 0;
-      this._config = this._getConfig(config);
-      this._element = element;
-      this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
-      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
-      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
-
-      this._addEventListeners();
-    } // Getters
-
-
-    var _proto = Carousel.prototype;
-
-    // Public
-    _proto.next = function next() {
-      if (!this._isSliding) {
-        this._slide(Direction.NEXT);
-      }
-    };
-
-    _proto.nextWhenVisible = function nextWhenVisible() {
-      // Don't call next when the page isn't visible
-      // or the carousel or its parent isn't visible
-      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
-        this.next();
-      }
-    };
-
-    _proto.prev = function prev() {
-      if (!this._isSliding) {
-        this._slide(Direction.PREV);
-      }
-    };
-
-    _proto.pause = function pause(event) {
-      if (!event) {
-        this._isPaused = true;
-      }
-
-      if (this._element.querySelector(Selector$2.NEXT_PREV)) {
-        Util.triggerTransitionEnd(this._element);
-        this.cycle(true);
-      }
-
-      clearInterval(this._interval);
-      this._interval = null;
-    };
-
-    _proto.cycle = function cycle(event) {
-      if (!event) {
-        this._isPaused = false;
-      }
-
-      if (this._interval) {
-        clearInterval(this._interval);
-        this._interval = null;
-      }
-
-      if (this._config.interval && !this._isPaused) {
-        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
-      }
-    };
-
-    _proto.to = function to(index) {
-      var _this = this;
-
-      this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
-
-      var activeIndex = this._getItemIndex(this._activeElement);
-
-      if (index > this._items.length - 1 || index < 0) {
-        return;
-      }
-
-      if (this._isSliding) {
-        $(this._element).one(Event$2.SLID, function () {
-          return _this.to(index);
-        });
-        return;
-      }
-
-      if (activeIndex === index) {
-        this.pause();
-        this.cycle();
-        return;
-      }
-
-      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
-
-      this._slide(direction, this._items[index]);
-    };
-
-    _proto.dispose = function dispose() {
-      $(this._element).off(EVENT_KEY$2);
-      $.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;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default, config);
-      Util.typeCheckConfig(NAME$2, config, DefaultType);
-      return config;
-    };
-
-    _proto._handleSwipe = function _handleSwipe() {
-      var absDeltax = Math.abs(this.touchDeltaX);
-
-      if (absDeltax <= SWIPE_THRESHOLD) {
-        return;
-      }
-
-      var direction = absDeltax / this.touchDeltaX; // swipe left
-
-      if (direction > 0) {
-        this.prev();
-      } // swipe right
-
-
-      if (direction < 0) {
-        this.next();
-      }
-    };
-
-    _proto._addEventListeners = function _addEventListeners() {
-      var _this2 = this;
-
-      if (this._config.keyboard) {
-        $(this._element).on(Event$2.KEYDOWN, function (event) {
-          return _this2._keydown(event);
-        });
-      }
-
-      if (this._config.pause === 'hover') {
-        $(this._element).on(Event$2.MOUSEENTER, function (event) {
-          return _this2.pause(event);
-        }).on(Event$2.MOUSELEAVE, function (event) {
-          return _this2.cycle(event);
-        });
-      }
-
-      if (this._config.touch) {
-        this._addTouchEventListeners();
-      }
-    };
-
-    _proto._addTouchEventListeners = function _addTouchEventListeners() {
-      var _this3 = this;
-
-      if (!this._touchSupported) {
-        return;
-      }
-
-      var start = function start(event) {
-        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
-          _this3.touchStartX = event.originalEvent.clientX;
-        } else if (!_this3._pointerEvent) {
-          _this3.touchStartX = event.originalEvent.touches[0].clientX;
-        }
-      };
-
-      var move = function move(event) {
-        // ensure swiping with one touch and not pinching
-        if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
-          _this3.touchDeltaX = 0;
-        } else {
-          _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
-        }
-      };
-
-      var end = function end(event) {
-        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
-          _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;
-        }
-
-        _this3._handleSwipe();
-
-        if (_this3._config.pause === 'hover') {
-          // If it's a touch-enabled device, mouseenter/leave are fired as
-          // part of the mouse compatibility events on first tap - the carousel
-          // would stop cycling until user tapped out of it;
-          // here, we listen for touchend, explicitly pause the carousel
-          // (as if it's the second time we tap on it, mouseenter compat event
-          // is NOT fired) and after a timeout (to allow for mouse compatibility
-          // events to fire) we explicitly restart cycling
-          _this3.pause();
-
-          if (_this3.touchTimeout) {
-            clearTimeout(_this3.touchTimeout);
-          }
-
-          _this3.touchTimeout = setTimeout(function (event) {
-            return _this3.cycle(event);
-          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);
-        }
-      };
-
-      $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
-        return e.preventDefault();
-      });
-
-      if (this._pointerEvent) {
-        $(this._element).on(Event$2.POINTERDOWN, function (event) {
-          return start(event);
-        });
-        $(this._element).on(Event$2.POINTERUP, function (event) {
-          return end(event);
-        });
-
-        this._element.classList.add(ClassName$2.POINTER_EVENT);
-      } else {
-        $(this._element).on(Event$2.TOUCHSTART, function (event) {
-          return start(event);
-        });
-        $(this._element).on(Event$2.TOUCHMOVE, function (event) {
-          return move(event);
-        });
-        $(this._element).on(Event$2.TOUCHEND, function (event) {
-          return end(event);
-        });
-      }
-    };
-
-    _proto._keydown = function _keydown(event) {
-      if (/input|textarea/i.test(event.target.tagName)) {
-        return;
-      }
-
-      switch (event.which) {
-        case ARROW_LEFT_KEYCODE:
-          event.preventDefault();
-          this.prev();
-          break;
-
-        case ARROW_RIGHT_KEYCODE:
-          event.preventDefault();
-          this.next();
-          break;
-
-        default:
-      }
-    };
-
-    _proto._getItemIndex = function _getItemIndex(element) {
-      this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
-      return this._items.indexOf(element);
-    };
-
-    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
-      var isNextDirection = direction === Direction.NEXT;
-      var isPrevDirection = direction === Direction.PREV;
-
-      var activeIndex = this._getItemIndex(activeElement);
-
-      var lastItemIndex = this._items.length - 1;
-      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
-
-      if (isGoingToWrap && !this._config.wrap) {
-        return activeElement;
-      }
-
-      var delta = direction === Direction.PREV ? -1 : 1;
-      var itemIndex = (activeIndex + delta) % this._items.length;
-      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
-    };
-
-    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
-      var targetIndex = this._getItemIndex(relatedTarget);
-
-      var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
-
-      var slideEvent = $.Event(Event$2.SLIDE, {
-        relatedTarget: relatedTarget,
-        direction: eventDirectionName,
-        from: fromIndex,
-        to: targetIndex
-      });
-      $(this._element).trigger(slideEvent);
-      return slideEvent;
-    };
-
-    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
-      if (this._indicatorsElement) {
-        var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
-        $(indicators).removeClass(ClassName$2.ACTIVE);
-
-        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
-
-        if (nextIndicator) {
-          $(nextIndicator).addClass(ClassName$2.ACTIVE);
-        }
-      }
-    };
-
-    _proto._slide = function _slide(direction, element) {
-      var _this4 = this;
-
-      var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
-
-      var activeElementIndex = this._getItemIndex(activeElement);
-
-      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
-
-      var nextElementIndex = this._getItemIndex(nextElement);
-
-      var isCycling = Boolean(this._interval);
-      var directionalClassName;
-      var orderClassName;
-      var eventDirectionName;
-
-      if (direction === Direction.NEXT) {
-        directionalClassName = ClassName$2.LEFT;
-        orderClassName = ClassName$2.NEXT;
-        eventDirectionName = Direction.LEFT;
-      } else {
-        directionalClassName = ClassName$2.RIGHT;
-        orderClassName = ClassName$2.PREV;
-        eventDirectionName = Direction.RIGHT;
-      }
-
-      if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
-        this._isSliding = false;
-        return;
-      }
-
-      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
-
-      if (slideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (!activeElement || !nextElement) {
-        // Some weirdness is happening, so we bail
-        return;
-      }
-
-      this._isSliding = true;
-
-      if (isCycling) {
-        this.pause();
-      }
-
-      this._setActiveIndicatorElement(nextElement);
-
-      var slidEvent = $.Event(Event$2.SLID, {
-        relatedTarget: nextElement,
-        direction: eventDirectionName,
-        from: activeElementIndex,
-        to: nextElementIndex
-      });
-
-      if ($(this._element).hasClass(ClassName$2.SLIDE)) {
-        $(nextElement).addClass(orderClassName);
-        Util.reflow(nextElement);
-        $(activeElement).addClass(directionalClassName);
-        $(nextElement).addClass(directionalClassName);
-        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
-
-        if (nextElementInterval) {
-          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
-          this._config.interval = nextElementInterval;
-        } else {
-          this._config.interval = this._config.defaultInterval || this._config.interval;
-        }
-
-        var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
-        $(activeElement).one(Util.TRANSITION_END, function () {
-          $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
-          $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
-          _this4._isSliding = false;
-          setTimeout(function () {
-            return $(_this4._element).trigger(slidEvent);
-          }, 0);
-        }).emulateTransitionEnd(transitionDuration);
-      } else {
-        $(activeElement).removeClass(ClassName$2.ACTIVE);
-        $(nextElement).addClass(ClassName$2.ACTIVE);
-        this._isSliding = false;
-        $(this._element).trigger(slidEvent);
-      }
-
-      if (isCycling) {
-        this.cycle();
-      }
-    } // Static
-    ;
-
-    Carousel._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$2);
-
-        var _config = _objectSpread({}, Default, $(this).data());
-
-        if (typeof config === 'object') {
-          _config = _objectSpread({}, _config, config);
-        }
-
-        var action = typeof config === 'string' ? config : _config.slide;
-
-        if (!data) {
-          data = new Carousel(this, _config);
-          $(this).data(DATA_KEY$2, data);
-        }
-
-        if (typeof config === 'number') {
-          data.to(config);
-        } else if (typeof action === 'string') {
-          if (typeof data[action] === 'undefined') {
-            throw new TypeError("No method named \"" + action + "\"");
-          }
-
-          data[action]();
-        } else if (_config.interval && _config.ride) {
-          data.pause();
-          data.cycle();
-        }
-      });
-    };
-
-    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {
-      var selector = Util.getSelectorFromElement(this);
-
-      if (!selector) {
-        return;
-      }
-
-      var target = $(selector)[0];
-
-      if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
-        return;
-      }
-
-      var config = _objectSpread({}, $(target).data(), $(this).data());
-
-      var slideIndex = this.getAttribute('data-slide-to');
-
-      if (slideIndex) {
-        config.interval = false;
-      }
-
-      Carousel._jQueryInterface.call($(target), config);
-
-      if (slideIndex) {
-        $(target).data(DATA_KEY$2).to(slideIndex);
-      }
-
-      event.preventDefault();
-    };
-
-    _createClass(Carousel, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$2;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default;
-      }
-    }]);
-
-    return Carousel;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
-  $(window).on(Event$2.LOAD_DATA_API, function () {
-    var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
-
-    for (var i = 0, len = carousels.length; i < len; i++) {
-      var $carousel = $(carousels[i]);
-
-      Carousel._jQueryInterface.call($carousel, $carousel.data());
-    }
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$2] = Carousel._jQueryInterface;
-  $.fn[NAME$2].Constructor = Carousel;
-
-  $.fn[NAME$2].noConflict = function () {
-    $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
-    return Carousel._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$3 = 'collapse';
-  var VERSION$3 = '4.3.1';
-  var DATA_KEY$3 = 'bs.collapse';
-  var EVENT_KEY$3 = "." + DATA_KEY$3;
-  var DATA_API_KEY$3 = '.data-api';
-  var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
-  var Default$1 = {
-    toggle: true,
-    parent: ''
-  };
-  var DefaultType$1 = {
-    toggle: 'boolean',
-    parent: '(string|element)'
-  };
-  var Event$3 = {
-    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
-  };
-  var ClassName$3 = {
-    SHOW: 'show',
-    COLLAPSE: 'collapse',
-    COLLAPSING: 'collapsing',
-    COLLAPSED: 'collapsed'
-  };
-  var Dimension = {
-    WIDTH: 'width',
-    HEIGHT: 'height'
-  };
-  var Selector$3 = {
-    ACTIVES: '.show, .collapsing',
-    DATA_TOGGLE: '[data-toggle="collapse"]'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Collapse =
-  /*#__PURE__*/
-  function () {
-    function Collapse(element, config) {
-      this._isTransitioning = false;
-      this._element = element;
-      this._config = this._getConfig(config);
-      this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
-      var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
-
-      for (var i = 0, len = toggleList.length; i < len; i++) {
-        var elem = toggleList[i];
-        var selector = Util.getSelectorFromElement(elem);
-        var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
-          return foundElem === element;
-        });
-
-        if (selector !== null && filterElement.length > 0) {
-          this._selector = selector;
-
-          this._triggerArray.push(elem);
-        }
-      }
-
-      this._parent = this._config.parent ? this._getParent() : null;
-
-      if (!this._config.parent) {
-        this._addAriaAndCollapsedClass(this._element, this._triggerArray);
-      }
-
-      if (this._config.toggle) {
-        this.toggle();
-      }
-    } // Getters
-
-
-    var _proto = Collapse.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      if ($(this._element).hasClass(ClassName$3.SHOW)) {
-        this.hide();
-      } else {
-        this.show();
-      }
-    };
-
-    _proto.show = function show() {
-      var _this = this;
-
-      if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
-        return;
-      }
-
-      var actives;
-      var activesData;
-
-      if (this._parent) {
-        actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
-          if (typeof _this._config.parent === 'string') {
-            return elem.getAttribute('data-parent') === _this._config.parent;
-          }
-
-          return elem.classList.contains(ClassName$3.COLLAPSE);
-        });
-
-        if (actives.length === 0) {
-          actives = null;
-        }
-      }
-
-      if (actives) {
-        activesData = $(actives).not(this._selector).data(DATA_KEY$3);
-
-        if (activesData && activesData._isTransitioning) {
-          return;
-        }
-      }
-
-      var startEvent = $.Event(Event$3.SHOW);
-      $(this._element).trigger(startEvent);
-
-      if (startEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (actives) {
-        Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
-
-        if (!activesData) {
-          $(actives).data(DATA_KEY$3, null);
-        }
-      }
-
-      var dimension = this._getDimension();
-
-      $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
-      this._element.style[dimension] = 0;
-
-      if (this._triggerArray.length) {
-        $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
-      }
-
-      this.setTransitioning(true);
-
-      var complete = function complete() {
-        $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
-        _this._element.style[dimension] = '';
-
-        _this.setTransitioning(false);
-
-        $(_this._element).trigger(Event$3.SHOWN);
-      };
-
-      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
-      var scrollSize = "scroll" + capitalizedDimension;
-      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      this._element.style[dimension] = this._element[scrollSize] + "px";
-    };
-
-    _proto.hide = function hide() {
-      var _this2 = this;
-
-      if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
-        return;
-      }
-
-      var startEvent = $.Event(Event$3.HIDE);
-      $(this._element).trigger(startEvent);
-
-      if (startEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      var dimension = this._getDimension();
-
-      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
-      Util.reflow(this._element);
-      $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
-      var triggerArrayLength = this._triggerArray.length;
-
-      if (triggerArrayLength > 0) {
-        for (var i = 0; i < triggerArrayLength; i++) {
-          var trigger = this._triggerArray[i];
-          var selector = Util.getSelectorFromElement(trigger);
-
-          if (selector !== null) {
-            var $elem = $([].slice.call(document.querySelectorAll(selector)));
-
-            if (!$elem.hasClass(ClassName$3.SHOW)) {
-              $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
-            }
-          }
-        }
-      }
-
-      this.setTransitioning(true);
-
-      var complete = function complete() {
-        _this2.setTransitioning(false);
-
-        $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
-      };
-
-      this._element.style[dimension] = '';
-      var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-    };
-
-    _proto.setTransitioning = function setTransitioning(isTransitioning) {
-      this._isTransitioning = isTransitioning;
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$3);
-      this._config = null;
-      this._parent = null;
-      this._element = null;
-      this._triggerArray = null;
-      this._isTransitioning = null;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$1, config);
-      config.toggle = Boolean(config.toggle); // Coerce string values
-
-      Util.typeCheckConfig(NAME$3, config, DefaultType$1);
-      return config;
-    };
-
-    _proto._getDimension = function _getDimension() {
-      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
-      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
-    };
-
-    _proto._getParent = function _getParent() {
-      var _this3 = this;
-
-      var parent;
-
-      if (Util.isElement(this._config.parent)) {
-        parent = this._config.parent; // It's a jQuery object
-
-        if (typeof this._config.parent.jquery !== 'undefined') {
-          parent = this._config.parent[0];
-        }
-      } else {
-        parent = document.querySelector(this._config.parent);
-      }
-
-      var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
-      var children = [].slice.call(parent.querySelectorAll(selector));
-      $(children).each(function (i, element) {
-        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
-      });
-      return parent;
-    };
-
-    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
-      var isOpen = $(element).hasClass(ClassName$3.SHOW);
-
-      if (triggerArray.length) {
-        $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
-      }
-    } // Static
-    ;
-
-    Collapse._getTargetFromElement = function _getTargetFromElement(element) {
-      var selector = Util.getSelectorFromElement(element);
-      return selector ? document.querySelector(selector) : null;
-    };
-
-    Collapse._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $this = $(this);
-        var data = $this.data(DATA_KEY$3);
-
-        var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
-
-        if (!data && _config.toggle && /show|hide/.test(config)) {
-          _config.toggle = false;
-        }
-
-        if (!data) {
-          data = new Collapse(this, _config);
-          $this.data(DATA_KEY$3, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Collapse, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$3;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$1;
-      }
-    }]);
-
-    return Collapse;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
-    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
-    if (event.currentTarget.tagName === 'A') {
-      event.preventDefault();
-    }
-
-    var $trigger = $(this);
-    var selector = Util.getSelectorFromElement(this);
-    var selectors = [].slice.call(document.querySelectorAll(selector));
-    $(selectors).each(function () {
-      var $target = $(this);
-      var data = $target.data(DATA_KEY$3);
-      var config = data ? 'toggle' : $trigger.data();
-
-      Collapse._jQueryInterface.call($target, config);
-    });
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$3] = Collapse._jQueryInterface;
-  $.fn[NAME$3].Constructor = Collapse;
-
-  $.fn[NAME$3].noConflict = function () {
-    $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
-    return Collapse._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$4 = 'dropdown';
-  var VERSION$4 = '4.3.1';
-  var DATA_KEY$4 = 'bs.dropdown';
-  var EVENT_KEY$4 = "." + DATA_KEY$4;
-  var DATA_API_KEY$4 = '.data-api';
-  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
-  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
-
-  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
-
-  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
-
-  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
-
-  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
-
-  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
-
-  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
-  var Event$4 = {
-    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
-  };
-  var ClassName$4 = {
-    DISABLED: 'disabled',
-    SHOW: 'show',
-    DROPUP: 'dropup',
-    DROPRIGHT: 'dropright',
-    DROPLEFT: 'dropleft',
-    MENURIGHT: 'dropdown-menu-right',
-    MENULEFT: 'dropdown-menu-left',
-    POSITION_STATIC: 'position-static'
-  };
-  var 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)'
-  };
-  var 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'
-  };
-  var Default$2 = {
-    offset: 0,
-    flip: true,
-    boundary: 'scrollParent',
-    reference: 'toggle',
-    display: 'dynamic'
-  };
-  var DefaultType$2 = {
-    offset: '(number|string|function)',
-    flip: 'boolean',
-    boundary: '(string|element)',
-    reference: '(string|element)',
-    display: 'string'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Dropdown =
-  /*#__PURE__*/
-  function () {
-    function Dropdown(element, config) {
-      this._element = element;
-      this._popper = null;
-      this._config = this._getConfig(config);
-      this._menu = this._getMenuElement();
-      this._inNavbar = this._detectNavbar();
-
-      this._addEventListeners();
-    } // Getters
-
-
-    var _proto = Dropdown.prototype;
-
-    // Public
-    _proto.toggle = function toggle() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
-        return;
-      }
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
-
-      Dropdown._clearMenus();
-
-      if (isActive) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
-      $(parent).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented()) {
-        return;
-      } // Disable totally Popper.js for Dropdown in Navbar
-
-
-      if (!this._inNavbar) {
-        /**
-         * Check for Popper dependency
-         * Popper - https://popper.js.org
-         */
-        if (typeof Popper === 'undefined') {
-          throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
-        }
-
-        var referenceElement = this._element;
-
-        if (this._config.reference === 'parent') {
-          referenceElement = parent;
-        } else if (Util.isElement(this._config.reference)) {
-          referenceElement = this._config.reference; // Check if it's jQuery element
-
-          if (typeof this._config.reference.jquery !== 'undefined') {
-            referenceElement = this._config.reference[0];
-          }
-        } // If boundary is not `scrollParent`, then set position to `static`
-        // to allow the menu to "escape" the scroll parent's boundaries
-        // https://github.com/twbs/bootstrap/issues/24251
-
-
-        if (this._config.boundary !== 'scrollParent') {
-          $(parent).addClass(ClassName$4.POSITION_STATIC);
-        }
-
-        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
-      } // If this is a touch-enabled device we add extra
-      // empty mouseover listeners to the body's immediate children;
-      // only needed because of broken event delegation on iOS
-      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
-
-      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
-        $(document.body).children().on('mouseover', null, $.noop);
-      }
-
-      this._element.focus();
-
-      this._element.setAttribute('aria-expanded', true);
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
-    };
-
-    _proto.show = function show() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var showEvent = $.Event(Event$4.SHOW, relatedTarget);
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      $(parent).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
-    };
-
-    _proto.hide = function hide() {
-      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
-        return;
-      }
-
-      var relatedTarget = {
-        relatedTarget: this._element
-      };
-      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
-
-      var parent = Dropdown._getParentFromElement(this._element);
-
-      $(parent).trigger(hideEvent);
-
-      if (hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(this._menu).toggleClass(ClassName$4.SHOW);
-      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$4);
-      $(this._element).off(EVENT_KEY$4);
-      this._element = null;
-      this._menu = null;
-
-      if (this._popper !== null) {
-        this._popper.destroy();
-
-        this._popper = null;
-      }
-    };
-
-    _proto.update = function update() {
-      this._inNavbar = this._detectNavbar();
-
-      if (this._popper !== null) {
-        this._popper.scheduleUpdate();
-      }
-    } // Private
-    ;
-
-    _proto._addEventListeners = function _addEventListeners() {
-      var _this = this;
-
-      $(this._element).on(Event$4.CLICK, function (event) {
-        event.preventDefault();
-        event.stopPropagation();
-
-        _this.toggle();
-      });
-    };
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
-      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
-      return config;
-    };
-
-    _proto._getMenuElement = function _getMenuElement() {
-      if (!this._menu) {
-        var parent = Dropdown._getParentFromElement(this._element);
-
-        if (parent) {
-          this._menu = parent.querySelector(Selector$4.MENU);
-        }
-      }
-
-      return this._menu;
-    };
-
-    _proto._getPlacement = function _getPlacement() {
-      var $parentDropdown = $(this._element.parentNode);
-      var placement = AttachmentMap.BOTTOM; // Handle dropup
-
-      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
-        placement = AttachmentMap.TOP;
-
-        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
-          placement = AttachmentMap.TOPEND;
-        }
-      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
-        placement = AttachmentMap.RIGHT;
-      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
-        placement = AttachmentMap.LEFT;
-      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
-        placement = AttachmentMap.BOTTOMEND;
-      }
-
-      return placement;
-    };
-
-    _proto._detectNavbar = function _detectNavbar() {
-      return $(this._element).closest('.navbar').length > 0;
-    };
-
-    _proto._getOffset = function _getOffset() {
-      var _this2 = this;
-
-      var offset = {};
-
-      if (typeof this._config.offset === 'function') {
-        offset.fn = function (data) {
-          data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
-          return data;
-        };
-      } else {
-        offset.offset = this._config.offset;
-      }
-
-      return offset;
-    };
-
-    _proto._getPopperConfig = function _getPopperConfig() {
-      var popperConfig = {
-        placement: this._getPlacement(),
-        modifiers: {
-          offset: this._getOffset(),
-          flip: {
-            enabled: this._config.flip
-          },
-          preventOverflow: {
-            boundariesElement: this._config.boundary
-          }
-        } // Disable Popper.js if we have a static display
-
-      };
-
-      if (this._config.display === 'static') {
-        popperConfig.modifiers.applyStyle = {
-          enabled: false
-        };
-      }
-
-      return popperConfig;
-    } // Static
-    ;
-
-    Dropdown._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$4);
-
-        var _config = typeof config === 'object' ? config : null;
-
-        if (!data) {
-          data = new Dropdown(this, _config);
-          $(this).data(DATA_KEY$4, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    Dropdown._clearMenus = function _clearMenus(event) {
-      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
-        return;
-      }
-
-      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
-
-      for (var i = 0, len = toggles.length; i < len; i++) {
-        var parent = Dropdown._getParentFromElement(toggles[i]);
-
-        var context = $(toggles[i]).data(DATA_KEY$4);
-        var relatedTarget = {
-          relatedTarget: toggles[i]
-        };
-
-        if (event && event.type === 'click') {
-          relatedTarget.clickEvent = event;
-        }
-
-        if (!context) {
-          continue;
-        }
-
-        var dropdownMenu = context._menu;
-
-        if (!$(parent).hasClass(ClassName$4.SHOW)) {
-          continue;
-        }
-
-        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
-          continue;
-        }
-
-        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
-        $(parent).trigger(hideEvent);
-
-        if (hideEvent.isDefaultPrevented()) {
-          continue;
-        } // If this is a touch-enabled device we remove the extra
-        // empty mouseover listeners we added for iOS support
-
-
-        if ('ontouchstart' in document.documentElement) {
-          $(document.body).children().off('mouseover', null, $.noop);
-        }
-
-        toggles[i].setAttribute('aria-expanded', 'false');
-        $(dropdownMenu).removeClass(ClassName$4.SHOW);
-        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
-      }
-    };
-
-    Dropdown._getParentFromElement = function _getParentFromElement(element) {
-      var parent;
-      var selector = Util.getSelectorFromElement(element);
-
-      if (selector) {
-        parent = document.querySelector(selector);
-      }
-
-      return parent || element.parentNode;
-    } // eslint-disable-next-line complexity
-    ;
-
-    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
-      // If not input/textarea:
-      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command
-      // If input/textarea:
-      //  - If space key => not a dropdown command
-      //  - If key is other than escape
-      //    - If key is not up or down => not a dropdown command
-      //    - If trigger inside the menu => not a dropdown command
-      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
-        return;
-      }
-
-      event.preventDefault();
-      event.stopPropagation();
-
-      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
-        return;
-      }
-
-      var parent = Dropdown._getParentFromElement(this);
-
-      var isActive = $(parent).hasClass(ClassName$4.SHOW);
-
-      if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
-        if (event.which === ESCAPE_KEYCODE) {
-          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
-          $(toggle).trigger('focus');
-        }
-
-        $(this).trigger('click');
-        return;
-      }
-
-      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
-
-      if (items.length === 0) {
-        return;
-      }
-
-      var index = items.indexOf(event.target);
-
-      if (event.which === ARROW_UP_KEYCODE && index > 0) {
-        // Up
-        index--;
-      }
-
-      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {
-        // Down
-        index++;
-      }
-
-      if (index < 0) {
-        index = 0;
-      }
-
-      items[index].focus();
-    };
-
-    _createClass(Dropdown, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$4;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$2;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$2;
-      }
-    }]);
-
-    return Dropdown;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
-    event.preventDefault();
-    event.stopPropagation();
-
-    Dropdown._jQueryInterface.call($(this), 'toggle');
-  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
-    e.stopPropagation();
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$4] = Dropdown._jQueryInterface;
-  $.fn[NAME$4].Constructor = Dropdown;
-
-  $.fn[NAME$4].noConflict = function () {
-    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
-    return Dropdown._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$5 = 'modal';
-  var VERSION$5 = '4.3.1';
-  var DATA_KEY$5 = 'bs.modal';
-  var EVENT_KEY$5 = "." + DATA_KEY$5;
-  var DATA_API_KEY$5 = '.data-api';
-  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
-  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
-
-  var Default$3 = {
-    backdrop: true,
-    keyboard: true,
-    focus: true,
-    show: true
-  };
-  var DefaultType$3 = {
-    backdrop: '(boolean|string)',
-    keyboard: 'boolean',
-    focus: 'boolean',
-    show: 'boolean'
-  };
-  var Event$5 = {
-    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
-  };
-  var ClassName$5 = {
-    SCROLLABLE: 'modal-dialog-scrollable',
-    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
-    BACKDROP: 'modal-backdrop',
-    OPEN: 'modal-open',
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var 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'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Modal =
-  /*#__PURE__*/
-  function () {
-    function Modal(element, config) {
-      this._config = this._getConfig(config);
-      this._element = element;
-      this._dialog = element.querySelector(Selector$5.DIALOG);
-      this._backdrop = null;
-      this._isShown = false;
-      this._isBodyOverflowing = false;
-      this._ignoreBackdropClick = false;
-      this._isTransitioning = false;
-      this._scrollbarWidth = 0;
-    } // Getters
-
-
-    var _proto = Modal.prototype;
-
-    // Public
-    _proto.toggle = function toggle(relatedTarget) {
-      return this._isShown ? this.hide() : this.show(relatedTarget);
-    };
-
-    _proto.show = function show(relatedTarget) {
-      var _this = this;
-
-      if (this._isShown || this._isTransitioning) {
-        return;
-      }
-
-      if ($(this._element).hasClass(ClassName$5.FADE)) {
-        this._isTransitioning = true;
-      }
-
-      var showEvent = $.Event(Event$5.SHOW, {
-        relatedTarget: relatedTarget
-      });
-      $(this._element).trigger(showEvent);
-
-      if (this._isShown || showEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._isShown = true;
-
-      this._checkScrollbar();
-
-      this._setScrollbar();
-
-      this._adjustDialog();
-
-      this._setEscapeEvent();
-
-      this._setResizeEvent();
-
-      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
-        return _this.hide(event);
-      });
-      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
-        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
-          if ($(event.target).is(_this._element)) {
-            _this._ignoreBackdropClick = true;
-          }
-        });
-      });
-
-      this._showBackdrop(function () {
-        return _this._showElement(relatedTarget);
-      });
-    };
-
-    _proto.hide = function hide(event) {
-      var _this2 = this;
-
-      if (event) {
-        event.preventDefault();
-      }
-
-      if (!this._isShown || this._isTransitioning) {
-        return;
-      }
-
-      var hideEvent = $.Event(Event$5.HIDE);
-      $(this._element).trigger(hideEvent);
-
-      if (!this._isShown || hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      this._isShown = false;
-      var transition = $(this._element).hasClass(ClassName$5.FADE);
-
-      if (transition) {
-        this._isTransitioning = true;
-      }
-
-      this._setEscapeEvent();
-
-      this._setResizeEvent();
-
-      $(document).off(Event$5.FOCUSIN);
-      $(this._element).removeClass(ClassName$5.SHOW);
-      $(this._element).off(Event$5.CLICK_DISMISS);
-      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
-
-      if (transition) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, function (event) {
-          return _this2._hideModal(event);
-        }).emulateTransitionEnd(transitionDuration);
-      } else {
-        this._hideModal();
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      [window, this._element, this._dialog].forEach(function (htmlElement) {
-        return $(htmlElement).off(EVENT_KEY$5);
-      });
-      /**
-       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
-       * Do not move `document` in `htmlElements` array
-       * It will remove `Event.CLICK_DATA_API` event that should remain
-       */
-
-      $(document).off(Event$5.FOCUSIN);
-      $.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;
-    };
-
-    _proto.handleUpdate = function handleUpdate() {
-      this._adjustDialog();
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$3, config);
-      Util.typeCheckConfig(NAME$5, config, DefaultType$3);
-      return config;
-    };
-
-    _proto._showElement = function _showElement(relatedTarget) {
-      var _this3 = this;
-
-      var transition = $(this._element).hasClass(ClassName$5.FADE);
-
-      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
-        // Don't move modal's DOM position
-        document.body.appendChild(this._element);
-      }
-
-      this._element.style.display = 'block';
-
-      this._element.removeAttribute('aria-hidden');
-
-      this._element.setAttribute('aria-modal', true);
-
-      if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
-        this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
-      } else {
-        this._element.scrollTop = 0;
-      }
-
-      if (transition) {
-        Util.reflow(this._element);
-      }
-
-      $(this._element).addClass(ClassName$5.SHOW);
-
-      if (this._config.focus) {
-        this._enforceFocus();
-      }
-
-      var shownEvent = $.Event(Event$5.SHOWN, {
-        relatedTarget: relatedTarget
-      });
-
-      var transitionComplete = function transitionComplete() {
-        if (_this3._config.focus) {
-          _this3._element.focus();
-        }
-
-        _this3._isTransitioning = false;
-        $(_this3._element).trigger(shownEvent);
-      };
-
-      if (transition) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
-        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
-      } else {
-        transitionComplete();
-      }
-    };
-
-    _proto._enforceFocus = function _enforceFocus() {
-      var _this4 = this;
-
-      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
-      .on(Event$5.FOCUSIN, function (event) {
-        if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
-          _this4._element.focus();
-        }
-      });
-    };
-
-    _proto._setEscapeEvent = function _setEscapeEvent() {
-      var _this5 = this;
-
-      if (this._isShown && this._config.keyboard) {
-        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
-          if (event.which === ESCAPE_KEYCODE$1) {
-            event.preventDefault();
-
-            _this5.hide();
-          }
-        });
-      } else if (!this._isShown) {
-        $(this._element).off(Event$5.KEYDOWN_DISMISS);
-      }
-    };
-
-    _proto._setResizeEvent = function _setResizeEvent() {
-      var _this6 = this;
-
-      if (this._isShown) {
-        $(window).on(Event$5.RESIZE, function (event) {
-          return _this6.handleUpdate(event);
-        });
-      } else {
-        $(window).off(Event$5.RESIZE);
-      }
-    };
-
-    _proto._hideModal = function _hideModal() {
-      var _this7 = this;
-
-      this._element.style.display = 'none';
-
-      this._element.setAttribute('aria-hidden', true);
-
-      this._element.removeAttribute('aria-modal');
-
-      this._isTransitioning = false;
-
-      this._showBackdrop(function () {
-        $(document.body).removeClass(ClassName$5.OPEN);
-
-        _this7._resetAdjustments();
-
-        _this7._resetScrollbar();
-
-        $(_this7._element).trigger(Event$5.HIDDEN);
-      });
-    };
-
-    _proto._removeBackdrop = function _removeBackdrop() {
-      if (this._backdrop) {
-        $(this._backdrop).remove();
-        this._backdrop = null;
-      }
-    };
-
-    _proto._showBackdrop = function _showBackdrop(callback) {
-      var _this8 = this;
-
-      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
-
-      if (this._isShown && this._config.backdrop) {
-        this._backdrop = document.createElement('div');
-        this._backdrop.className = ClassName$5.BACKDROP;
-
-        if (animate) {
-          this._backdrop.classList.add(animate);
-        }
-
-        $(this._backdrop).appendTo(document.body);
-        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
-          if (_this8._ignoreBackdropClick) {
-            _this8._ignoreBackdropClick = false;
-            return;
-          }
-
-          if (event.target !== event.currentTarget) {
-            return;
-          }
-
-          if (_this8._config.backdrop === 'static') {
-            _this8._element.focus();
-          } else {
-            _this8.hide();
-          }
-        });
-
-        if (animate) {
-          Util.reflow(this._backdrop);
-        }
-
-        $(this._backdrop).addClass(ClassName$5.SHOW);
-
-        if (!callback) {
-          return;
-        }
-
-        if (!animate) {
-          callback();
-          return;
-        }
-
-        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
-        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
-      } else if (!this._isShown && this._backdrop) {
-        $(this._backdrop).removeClass(ClassName$5.SHOW);
-
-        var callbackRemove = function callbackRemove() {
-          _this8._removeBackdrop();
-
-          if (callback) {
-            callback();
-          }
-        };
-
-        if ($(this._element).hasClass(ClassName$5.FADE)) {
-          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
-
-          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
-        } else {
-          callbackRemove();
-        }
-      } else if (callback) {
-        callback();
-      }
-    } // ----------------------------------------------------------------------
-    // the following methods are used to handle overflowing modals
-    // todo (fat): these should probably be refactored out of modal.js
-    // ----------------------------------------------------------------------
-    ;
-
-    _proto._adjustDialog = function _adjustDialog() {
-      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
-
-      if (!this._isBodyOverflowing && isModalOverflowing) {
-        this._element.style.paddingLeft = this._scrollbarWidth + "px";
-      }
-
-      if (this._isBodyOverflowing && !isModalOverflowing) {
-        this._element.style.paddingRight = this._scrollbarWidth + "px";
-      }
-    };
-
-    _proto._resetAdjustments = function _resetAdjustments() {
-      this._element.style.paddingLeft = '';
-      this._element.style.paddingRight = '';
-    };
-
-    _proto._checkScrollbar = function _checkScrollbar() {
-      var rect = document.body.getBoundingClientRect();
-      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
-      this._scrollbarWidth = this._getScrollbarWidth();
-    };
-
-    _proto._setScrollbar = function _setScrollbar() {
-      var _this9 = this;
-
-      if (this._isBodyOverflowing) {
-        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
-        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
-        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
-        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
-
-        $(fixedContent).each(function (index, element) {
-          var actualPadding = element.style.paddingRight;
-          var calculatedPadding = $(element).css('padding-right');
-          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
-        }); // Adjust sticky content margin
-
-        $(stickyContent).each(function (index, element) {
-          var actualMargin = element.style.marginRight;
-          var calculatedMargin = $(element).css('margin-right');
-          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
-        }); // Adjust body padding
-
-        var actualPadding = document.body.style.paddingRight;
-        var calculatedPadding = $(document.body).css('padding-right');
-        $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
-      }
-
-      $(document.body).addClass(ClassName$5.OPEN);
-    };
-
-    _proto._resetScrollbar = function _resetScrollbar() {
-      // Restore fixed content padding
-      var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
-      $(fixedContent).each(function (index, element) {
-        var padding = $(element).data('padding-right');
-        $(element).removeData('padding-right');
-        element.style.paddingRight = padding ? padding : '';
-      }); // Restore sticky content
-
-      var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
-      $(elements).each(function (index, element) {
-        var margin = $(element).data('margin-right');
-
-        if (typeof margin !== 'undefined') {
-          $(element).css('margin-right', margin).removeData('margin-right');
-        }
-      }); // Restore body padding
-
-      var padding = $(document.body).data('padding-right');
-      $(document.body).removeData('padding-right');
-      document.body.style.paddingRight = padding ? padding : '';
-    };
-
-    _proto._getScrollbarWidth = function _getScrollbarWidth() {
-      // thx d.walsh
-      var scrollDiv = document.createElement('div');
-      scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
-      document.body.appendChild(scrollDiv);
-      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
-      document.body.removeChild(scrollDiv);
-      return scrollbarWidth;
-    } // Static
-    ;
-
-    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$5);
-
-        var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
-
-        if (!data) {
-          data = new Modal(this, _config);
-          $(this).data(DATA_KEY$5, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config](relatedTarget);
-        } else if (_config.show) {
-          data.show(relatedTarget);
-        }
-      });
-    };
-
-    _createClass(Modal, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$5;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$3;
-      }
-    }]);
-
-    return Modal;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
-    var _this10 = this;
-
-    var target;
-    var selector = Util.getSelectorFromElement(this);
-
-    if (selector) {
-      target = document.querySelector(selector);
-    }
-
-    var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
-
-    if (this.tagName === 'A' || this.tagName === 'AREA') {
-      event.preventDefault();
-    }
-
-    var $target = $(target).one(Event$5.SHOW, function (showEvent) {
-      if (showEvent.isDefaultPrevented()) {
-        // Only register focus restorer if modal will actually get shown
-        return;
-      }
-
-      $target.one(Event$5.HIDDEN, function () {
-        if ($(_this10).is(':visible')) {
-          _this10.focus();
-        }
-      });
-    });
-
-    Modal._jQueryInterface.call($(target), config, this);
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$5] = Modal._jQueryInterface;
-  $.fn[NAME$5].Constructor = Modal;
-
-  $.fn[NAME$5].noConflict = function () {
-    $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
-    return Modal._jQueryInterface;
-  };
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): tools/sanitizer.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
-  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
-  var DefaultWhitelist = {
-    // Global attributes allowed on any supplied element below.
-    '*': ['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: []
-    /**
-     * A pattern that recognizes a commonly useful subset of URLs that are safe.
-     *
-     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-     */
-
-  };
-  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
-  /**
-   * A pattern that matches safe data URLs. Only matches image, video and audio types.
-   *
-   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-   */
-
-  var 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;
-
-  function allowedAttribute(attr, allowedAttributeList) {
-    var attrName = attr.nodeName.toLowerCase();
-
-    if (allowedAttributeList.indexOf(attrName) !== -1) {
-      if (uriAttrs.indexOf(attrName) !== -1) {
-        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
-      }
-
-      return true;
-    }
-
-    var regExp = allowedAttributeList.filter(function (attrRegex) {
-      return attrRegex instanceof RegExp;
-    }); // Check if a regular expression validates the attribute.
-
-    for (var i = 0, l = regExp.length; i < l; i++) {
-      if (attrName.match(regExp[i])) {
-        return true;
-      }
-    }
-
-    return false;
-  }
-
-  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
-    if (unsafeHtml.length === 0) {
-      return unsafeHtml;
-    }
-
-    if (sanitizeFn && typeof sanitizeFn === 'function') {
-      return sanitizeFn(unsafeHtml);
-    }
-
-    var domParser = new window.DOMParser();
-    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
-    var whitelistKeys = Object.keys(whiteList);
-    var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
-
-    var _loop = function _loop(i, len) {
-      var el = elements[i];
-      var elName = el.nodeName.toLowerCase();
-
-      if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
-        el.parentNode.removeChild(el);
-        return "continue";
-      }
-
-      var attributeList = [].slice.call(el.attributes);
-      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
-      attributeList.forEach(function (attr) {
-        if (!allowedAttribute(attr, whitelistedAttributes)) {
-          el.removeAttribute(attr.nodeName);
-        }
-      });
-    };
-
-    for (var i = 0, len = elements.length; i < len; i++) {
-      var _ret = _loop(i, len);
-
-      if (_ret === "continue") continue;
-    }
-
-    return createdDocument.body.innerHTML;
-  }
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$6 = 'tooltip';
-  var VERSION$6 = '4.3.1';
-  var DATA_KEY$6 = 'bs.tooltip';
-  var EVENT_KEY$6 = "." + DATA_KEY$6;
-  var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
-  var CLASS_PREFIX = 'bs-tooltip';
-  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
-  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
-  var 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'
-  };
-  var AttachmentMap$1 = {
-    AUTO: 'auto',
-    TOP: 'top',
-    RIGHT: 'right',
-    BOTTOM: 'bottom',
-    LEFT: 'left'
-  };
-  var Default$4 = {
-    animation: true,
-    template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    selector: false,
-    placement: 'top',
-    offset: 0,
-    container: false,
-    fallbackPlacement: 'flip',
-    boundary: 'scrollParent',
-    sanitize: true,
-    sanitizeFn: null,
-    whiteList: DefaultWhitelist
-  };
-  var HoverState = {
-    SHOW: 'show',
-    OUT: 'out'
-  };
-  var Event$6 = {
-    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
-  };
-  var ClassName$6 = {
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$6 = {
-    TOOLTIP: '.tooltip',
-    TOOLTIP_INNER: '.tooltip-inner',
-    ARROW: '.arrow'
-  };
-  var Trigger = {
-    HOVER: 'hover',
-    FOCUS: 'focus',
-    CLICK: 'click',
-    MANUAL: 'manual'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Tooltip =
-  /*#__PURE__*/
-  function () {
-    function Tooltip(element, config) {
-      /**
-       * Check for Popper dependency
-       * Popper - https://popper.js.org
-       */
-      if (typeof Popper === 'undefined') {
-        throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
-      } // private
-
-
-      this._isEnabled = true;
-      this._timeout = 0;
-      this._hoverState = '';
-      this._activeTrigger = {};
-      this._popper = null; // Protected
-
-      this.element = element;
-      this.config = this._getConfig(config);
-      this.tip = null;
-
-      this._setListeners();
-    } // Getters
-
-
-    var _proto = Tooltip.prototype;
-
-    // Public
-    _proto.enable = function enable() {
-      this._isEnabled = true;
-    };
-
-    _proto.disable = function disable() {
-      this._isEnabled = false;
-    };
-
-    _proto.toggleEnabled = function toggleEnabled() {
-      this._isEnabled = !this._isEnabled;
-    };
-
-    _proto.toggle = function toggle(event) {
-      if (!this._isEnabled) {
-        return;
-      }
-
-      if (event) {
-        var dataKey = this.constructor.DATA_KEY;
-        var context = $(event.currentTarget).data(dataKey);
-
-        if (!context) {
-          context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-          $(event.currentTarget).data(dataKey, context);
-        }
-
-        context._activeTrigger.click = !context._activeTrigger.click;
-
-        if (context._isWithActiveTrigger()) {
-          context._enter(null, context);
-        } else {
-          context._leave(null, context);
-        }
-      } else {
-        if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
-          this._leave(null, this);
-
-          return;
-        }
-
-        this._enter(null, this);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      clearTimeout(this._timeout);
-      $.removeData(this.element, this.constructor.DATA_KEY);
-      $(this.element).off(this.constructor.EVENT_KEY);
-      $(this.element).closest('.modal').off('hide.bs.modal');
-
-      if (this.tip) {
-        $(this.tip).remove();
-      }
-
-      this._isEnabled = null;
-      this._timeout = null;
-      this._hoverState = null;
-      this._activeTrigger = null;
-
-      if (this._popper !== null) {
-        this._popper.destroy();
-      }
-
-      this._popper = null;
-      this.element = null;
-      this.config = null;
-      this.tip = null;
-    };
-
-    _proto.show = function show() {
-      var _this = this;
-
-      if ($(this.element).css('display') === 'none') {
-        throw new Error('Please use show on visible elements');
-      }
-
-      var showEvent = $.Event(this.constructor.Event.SHOW);
-
-      if (this.isWithContent() && this._isEnabled) {
-        $(this.element).trigger(showEvent);
-        var shadowRoot = Util.findShadowRoot(this.element);
-        var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
-
-        if (showEvent.isDefaultPrevented() || !isInTheDom) {
-          return;
-        }
-
-        var tip = this.getTipElement();
-        var tipId = Util.getUID(this.constructor.NAME);
-        tip.setAttribute('id', tipId);
-        this.element.setAttribute('aria-describedby', tipId);
-        this.setContent();
-
-        if (this.config.animation) {
-          $(tip).addClass(ClassName$6.FADE);
-        }
-
-        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
-
-        var attachment = this._getAttachment(placement);
-
-        this.addAttachmentClass(attachment);
-
-        var container = this._getContainer();
-
-        $(tip).data(this.constructor.DATA_KEY, this);
-
-        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
-          $(tip).appendTo(container);
-        }
-
-        $(this.element).trigger(this.constructor.Event.INSERTED);
-        this._popper = new Popper(this.element, tip, {
-          placement: attachment,
-          modifiers: {
-            offset: this._getOffset(),
-            flip: {
-              behavior: this.config.fallbackPlacement
-            },
-            arrow: {
-              element: Selector$6.ARROW
-            },
-            preventOverflow: {
-              boundariesElement: this.config.boundary
-            }
-          },
-          onCreate: function onCreate(data) {
-            if (data.originalPlacement !== data.placement) {
-              _this._handlePopperPlacementChange(data);
-            }
-          },
-          onUpdate: function onUpdate(data) {
-            return _this._handlePopperPlacementChange(data);
-          }
-        });
-        $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
-        // empty mouseover listeners to the body's immediate children;
-        // only needed because of broken event delegation on iOS
-        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-
-        if ('ontouchstart' in document.documentElement) {
-          $(document.body).children().on('mouseover', null, $.noop);
-        }
-
-        var complete = function complete() {
-          if (_this.config.animation) {
-            _this._fixTransition();
-          }
-
-          var prevHoverState = _this._hoverState;
-          _this._hoverState = null;
-          $(_this.element).trigger(_this.constructor.Event.SHOWN);
-
-          if (prevHoverState === HoverState.OUT) {
-            _this._leave(null, _this);
-          }
-        };
-
-        if ($(this.tip).hasClass(ClassName$6.FADE)) {
-          var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
-          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-        } else {
-          complete();
-        }
-      }
-    };
-
-    _proto.hide = function hide(callback) {
-      var _this2 = this;
-
-      var tip = this.getTipElement();
-      var hideEvent = $.Event(this.constructor.Event.HIDE);
-
-      var complete = function complete() {
-        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
-          tip.parentNode.removeChild(tip);
-        }
-
-        _this2._cleanTipClass();
-
-        _this2.element.removeAttribute('aria-describedby');
-
-        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
-
-        if (_this2._popper !== null) {
-          _this2._popper.destroy();
-        }
-
-        if (callback) {
-          callback();
-        }
-      };
-
-      $(this.element).trigger(hideEvent);
-
-      if (hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
-      // empty mouseover listeners we added for iOS support
-
-      if ('ontouchstart' in document.documentElement) {
-        $(document.body).children().off('mouseover', null, $.noop);
-      }
-
-      this._activeTrigger[Trigger.CLICK] = false;
-      this._activeTrigger[Trigger.FOCUS] = false;
-      this._activeTrigger[Trigger.HOVER] = false;
-
-      if ($(this.tip).hasClass(ClassName$6.FADE)) {
-        var transitionDuration = Util.getTransitionDurationFromElement(tip);
-        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-
-      this._hoverState = '';
-    };
-
-    _proto.update = function update() {
-      if (this._popper !== null) {
-        this._popper.scheduleUpdate();
-      }
-    } // Protected
-    ;
-
-    _proto.isWithContent = function isWithContent() {
-      return Boolean(this.getTitle());
-    };
-
-    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
-      $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
-    };
-
-    _proto.getTipElement = function getTipElement() {
-      this.tip = this.tip || $(this.config.template)[0];
-      return this.tip;
-    };
-
-    _proto.setContent = function setContent() {
-      var tip = this.getTipElement();
-      this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
-      $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
-    };
-
-    _proto.setElementContent = function setElementContent($element, content) {
-      if (typeof content === 'object' && (content.nodeType || content.jquery)) {
-        // Content is a DOM node or a jQuery
-        if (this.config.html) {
-          if (!$(content).parent().is($element)) {
-            $element.empty().append(content);
-          }
-        } else {
-          $element.text($(content).text());
-        }
-
-        return;
-      }
-
-      if (this.config.html) {
-        if (this.config.sanitize) {
-          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
-        }
-
-        $element.html(content);
-      } else {
-        $element.text(content);
-      }
-    };
-
-    _proto.getTitle = function getTitle() {
-      var title = this.element.getAttribute('data-original-title');
-
-      if (!title) {
-        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;
-      }
-
-      return title;
-    } // Private
-    ;
-
-    _proto._getOffset = function _getOffset() {
-      var _this3 = this;
-
-      var offset = {};
-
-      if (typeof this.config.offset === 'function') {
-        offset.fn = function (data) {
-          data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
-          return data;
-        };
-      } else {
-        offset.offset = this.config.offset;
-      }
-
-      return offset;
-    };
-
-    _proto._getContainer = function _getContainer() {
-      if (this.config.container === false) {
-        return document.body;
-      }
-
-      if (Util.isElement(this.config.container)) {
-        return $(this.config.container);
-      }
-
-      return $(document).find(this.config.container);
-    };
-
-    _proto._getAttachment = function _getAttachment(placement) {
-      return AttachmentMap$1[placement.toUpperCase()];
-    };
-
-    _proto._setListeners = function _setListeners() {
-      var _this4 = this;
-
-      var triggers = this.config.trigger.split(' ');
-      triggers.forEach(function (trigger) {
-        if (trigger === 'click') {
-          $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
-            return _this4.toggle(event);
-          });
-        } else if (trigger !== Trigger.MANUAL) {
-          var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
-          var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
-          $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
-            return _this4._enter(event);
-          }).on(eventOut, _this4.config.selector, function (event) {
-            return _this4._leave(event);
-          });
-        }
-      });
-      $(this.element).closest('.modal').on('hide.bs.modal', function () {
-        if (_this4.element) {
-          _this4.hide();
-        }
-      });
-
-      if (this.config.selector) {
-        this.config = _objectSpread({}, this.config, {
-          trigger: 'manual',
-          selector: ''
-        });
-      } else {
-        this._fixTitle();
-      }
-    };
-
-    _proto._fixTitle = function _fixTitle() {
-      var titleType = typeof this.element.getAttribute('data-original-title');
-
-      if (this.element.getAttribute('title') || titleType !== 'string') {
-        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');
-        this.element.setAttribute('title', '');
-      }
-    };
-
-    _proto._enter = function _enter(event, context) {
-      var dataKey = this.constructor.DATA_KEY;
-      context = context || $(event.currentTarget).data(dataKey);
-
-      if (!context) {
-        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-        $(event.currentTarget).data(dataKey, context);
-      }
-
-      if (event) {
-        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
-      }
-
-      if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
-        context._hoverState = HoverState.SHOW;
-        return;
-      }
-
-      clearTimeout(context._timeout);
-      context._hoverState = HoverState.SHOW;
-
-      if (!context.config.delay || !context.config.delay.show) {
-        context.show();
-        return;
-      }
-
-      context._timeout = setTimeout(function () {
-        if (context._hoverState === HoverState.SHOW) {
-          context.show();
-        }
-      }, context.config.delay.show);
-    };
-
-    _proto._leave = function _leave(event, context) {
-      var dataKey = this.constructor.DATA_KEY;
-      context = context || $(event.currentTarget).data(dataKey);
-
-      if (!context) {
-        context = new this.constructor(event.currentTarget, this._getDelegateConfig());
-        $(event.currentTarget).data(dataKey, context);
-      }
-
-      if (event) {
-        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
-      }
-
-      if (context._isWithActiveTrigger()) {
-        return;
-      }
-
-      clearTimeout(context._timeout);
-      context._hoverState = HoverState.OUT;
-
-      if (!context.config.delay || !context.config.delay.hide) {
-        context.hide();
-        return;
-      }
-
-      context._timeout = setTimeout(function () {
-        if (context._hoverState === HoverState.OUT) {
-          context.hide();
-        }
-      }, context.config.delay.hide);
-    };
-
-    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {
-      for (var trigger in this._activeTrigger) {
-        if (this._activeTrigger[trigger]) {
-          return true;
-        }
-      }
-
-      return false;
-    };
-
-    _proto._getConfig = function _getConfig(config) {
-      var dataAttributes = $(this.element).data();
-      Object.keys(dataAttributes).forEach(function (dataAttr) {
-        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
-          delete dataAttributes[dataAttr];
-        }
-      });
-      config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
-
-      if (typeof config.delay === 'number') {
-        config.delay = {
-          show: config.delay,
-          hide: config.delay
-        };
-      }
-
-      if (typeof config.title === 'number') {
-        config.title = config.title.toString();
-      }
-
-      if (typeof config.content === 'number') {
-        config.content = config.content.toString();
-      }
-
-      Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
-
-      if (config.sanitize) {
-        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
-      }
-
-      return config;
-    };
-
-    _proto._getDelegateConfig = function _getDelegateConfig() {
-      var config = {};
-
-      if (this.config) {
-        for (var key in this.config) {
-          if (this.constructor.Default[key] !== this.config[key]) {
-            config[key] = this.config[key];
-          }
-        }
-      }
-
-      return config;
-    };
-
-    _proto._cleanTipClass = function _cleanTipClass() {
-      var $tip = $(this.getTipElement());
-      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
-
-      if (tabClass !== null && tabClass.length) {
-        $tip.removeClass(tabClass.join(''));
-      }
-    };
-
-    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
-      var popperInstance = popperData.instance;
-      this.tip = popperInstance.popper;
-
-      this._cleanTipClass();
-
-      this.addAttachmentClass(this._getAttachment(popperData.placement));
-    };
-
-    _proto._fixTransition = function _fixTransition() {
-      var tip = this.getTipElement();
-      var initConfigAnimation = this.config.animation;
-
-      if (tip.getAttribute('x-placement') !== null) {
-        return;
-      }
-
-      $(tip).removeClass(ClassName$6.FADE);
-      this.config.animation = false;
-      this.hide();
-      this.show();
-      this.config.animation = initConfigAnimation;
-    } // Static
-    ;
-
-    Tooltip._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$6);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data && /dispose|hide/.test(config)) {
-          return;
-        }
-
-        if (!data) {
-          data = new Tooltip(this, _config);
-          $(this).data(DATA_KEY$6, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Tooltip, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$6;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$4;
-      }
-    }, {
-      key: "NAME",
-      get: function get() {
-        return NAME$6;
-      }
-    }, {
-      key: "DATA_KEY",
-      get: function get() {
-        return DATA_KEY$6;
-      }
-    }, {
-      key: "Event",
-      get: function get() {
-        return Event$6;
-      }
-    }, {
-      key: "EVENT_KEY",
-      get: function get() {
-        return EVENT_KEY$6;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$4;
-      }
-    }]);
-
-    return Tooltip;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$6] = Tooltip._jQueryInterface;
-  $.fn[NAME$6].Constructor = Tooltip;
-
-  $.fn[NAME$6].noConflict = function () {
-    $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
-    return Tooltip._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$7 = 'popover';
-  var VERSION$7 = '4.3.1';
-  var DATA_KEY$7 = 'bs.popover';
-  var EVENT_KEY$7 = "." + DATA_KEY$7;
-  var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
-  var CLASS_PREFIX$1 = 'bs-popover';
-  var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
-
-  var Default$5 = _objectSpread({}, Tooltip.Default, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
-  });
-
-  var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
-    content: '(string|element|function)'
-  });
-
-  var ClassName$7 = {
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$7 = {
-    TITLE: '.popover-header',
-    CONTENT: '.popover-body'
-  };
-  var Event$7 = {
-    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
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Popover =
-  /*#__PURE__*/
-  function (_Tooltip) {
-    _inheritsLoose(Popover, _Tooltip);
-
-    function Popover() {
-      return _Tooltip.apply(this, arguments) || this;
-    }
-
-    var _proto = Popover.prototype;
-
-    // Overrides
-    _proto.isWithContent = function isWithContent() {
-      return this.getTitle() || this._getContent();
-    };
-
-    _proto.addAttachmentClass = function addAttachmentClass(attachment) {
-      $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
-    };
-
-    _proto.getTipElement = function getTipElement() {
-      this.tip = this.tip || $(this.config.template)[0];
-      return this.tip;
-    };
-
-    _proto.setContent = function setContent() {
-      var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
-
-      this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
-
-      var content = this._getContent();
-
-      if (typeof content === 'function') {
-        content = content.call(this.element);
-      }
-
-      this.setElementContent($tip.find(Selector$7.CONTENT), content);
-      $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
-    } // Private
-    ;
-
-    _proto._getContent = function _getContent() {
-      return this.element.getAttribute('data-content') || this.config.content;
-    };
-
-    _proto._cleanTipClass = function _cleanTipClass() {
-      var $tip = $(this.getTipElement());
-      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
-
-      if (tabClass !== null && tabClass.length > 0) {
-        $tip.removeClass(tabClass.join(''));
-      }
-    } // Static
-    ;
-
-    Popover._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$7);
-
-        var _config = typeof config === 'object' ? config : null;
-
-        if (!data && /dispose|hide/.test(config)) {
-          return;
-        }
-
-        if (!data) {
-          data = new Popover(this, _config);
-          $(this).data(DATA_KEY$7, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Popover, null, [{
-      key: "VERSION",
-      // Getters
-      get: function get() {
-        return VERSION$7;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$5;
-      }
-    }, {
-      key: "NAME",
-      get: function get() {
-        return NAME$7;
-      }
-    }, {
-      key: "DATA_KEY",
-      get: function get() {
-        return DATA_KEY$7;
-      }
-    }, {
-      key: "Event",
-      get: function get() {
-        return Event$7;
-      }
-    }, {
-      key: "EVENT_KEY",
-      get: function get() {
-        return EVENT_KEY$7;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$5;
-      }
-    }]);
-
-    return Popover;
-  }(Tooltip);
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$7] = Popover._jQueryInterface;
-  $.fn[NAME$7].Constructor = Popover;
-
-  $.fn[NAME$7].noConflict = function () {
-    $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
-    return Popover._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$8 = 'scrollspy';
-  var VERSION$8 = '4.3.1';
-  var DATA_KEY$8 = 'bs.scrollspy';
-  var EVENT_KEY$8 = "." + DATA_KEY$8;
-  var DATA_API_KEY$6 = '.data-api';
-  var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
-  var Default$6 = {
-    offset: 10,
-    method: 'auto',
-    target: ''
-  };
-  var DefaultType$6 = {
-    offset: 'number',
-    method: 'string',
-    target: '(string|element)'
-  };
-  var Event$8 = {
-    ACTIVATE: "activate" + EVENT_KEY$8,
-    SCROLL: "scroll" + EVENT_KEY$8,
-    LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
-  };
-  var ClassName$8 = {
-    DROPDOWN_ITEM: 'dropdown-item',
-    DROPDOWN_MENU: 'dropdown-menu',
-    ACTIVE: 'active'
-  };
-  var Selector$8 = {
-    DATA_SPY: '[data-spy="scroll"]',
-    ACTIVE: '.active',
-    NAV_LIST_GROUP: '.nav, .list-group',
-    NAV_LINKS: '.nav-link',
-    NAV_ITEMS: '.nav-item',
-    LIST_ITEMS: '.list-group-item',
-    DROPDOWN: '.dropdown',
-    DROPDOWN_ITEMS: '.dropdown-item',
-    DROPDOWN_TOGGLE: '.dropdown-toggle'
-  };
-  var OffsetMethod = {
-    OFFSET: 'offset',
-    POSITION: 'position'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var ScrollSpy =
-  /*#__PURE__*/
-  function () {
-    function ScrollSpy(element, config) {
-      var _this = this;
-
-      this._element = element;
-      this._scrollElement = element.tagName === 'BODY' ? window : element;
-      this._config = this._getConfig(config);
-      this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
-      this._offsets = [];
-      this._targets = [];
-      this._activeTarget = null;
-      this._scrollHeight = 0;
-      $(this._scrollElement).on(Event$8.SCROLL, function (event) {
-        return _this._process(event);
-      });
-      this.refresh();
-
-      this._process();
-    } // Getters
-
-
-    var _proto = ScrollSpy.prototype;
-
-    // Public
-    _proto.refresh = function refresh() {
-      var _this2 = this;
-
-      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
-      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
-      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
-      this._offsets = [];
-      this._targets = [];
-      this._scrollHeight = this._getScrollHeight();
-      var targets = [].slice.call(document.querySelectorAll(this._selector));
-      targets.map(function (element) {
-        var target;
-        var targetSelector = Util.getSelectorFromElement(element);
-
-        if (targetSelector) {
-          target = document.querySelector(targetSelector);
-        }
-
-        if (target) {
-          var targetBCR = target.getBoundingClientRect();
-
-          if (targetBCR.width || targetBCR.height) {
-            // TODO (fat): remove sketch reliance on jQuery position/offset
-            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
-          }
-        }
-
-        return null;
-      }).filter(function (item) {
-        return item;
-      }).sort(function (a, b) {
-        return a[0] - b[0];
-      }).forEach(function (item) {
-        _this2._offsets.push(item[0]);
-
-        _this2._targets.push(item[1]);
-      });
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$8);
-      $(this._scrollElement).off(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;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
-
-      if (typeof config.target !== 'string') {
-        var id = $(config.target).attr('id');
-
-        if (!id) {
-          id = Util.getUID(NAME$8);
-          $(config.target).attr('id', id);
-        }
-
-        config.target = "#" + id;
-      }
-
-      Util.typeCheckConfig(NAME$8, config, DefaultType$6);
-      return config;
-    };
-
-    _proto._getScrollTop = function _getScrollTop() {
-      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
-    };
-
-    _proto._getScrollHeight = function _getScrollHeight() {
-      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
-    };
-
-    _proto._getOffsetHeight = function _getOffsetHeight() {
-      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
-    };
-
-    _proto._process = function _process() {
-      var scrollTop = this._getScrollTop() + this._config.offset;
-
-      var scrollHeight = this._getScrollHeight();
-
-      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
-
-      if (this._scrollHeight !== scrollHeight) {
-        this.refresh();
-      }
-
-      if (scrollTop >= maxScroll) {
-        var target = this._targets[this._targets.length - 1];
-
-        if (this._activeTarget !== target) {
-          this._activate(target);
-        }
-
-        return;
-      }
-
-      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
-        this._activeTarget = null;
-
-        this._clear();
-
-        return;
-      }
-
-      var offsetLength = this._offsets.length;
-
-      for (var i = offsetLength; i--;) {
-        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
-
-        if (isActiveTarget) {
-          this._activate(this._targets[i]);
-        }
-      }
-    };
-
-    _proto._activate = function _activate(target) {
-      this._activeTarget = target;
-
-      this._clear();
-
-      var queries = this._selector.split(',').map(function (selector) {
-        return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
-      });
-
-      var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
-
-      if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
-        $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
-        $link.addClass(ClassName$8.ACTIVE);
-      } else {
-        // Set triggered link as active
-        $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
-        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
-
-        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
-
-        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
-      }
-
-      $(this._scrollElement).trigger(Event$8.ACTIVATE, {
-        relatedTarget: target
-      });
-    };
-
-    _proto._clear = function _clear() {
-      [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
-        return node.classList.contains(ClassName$8.ACTIVE);
-      }).forEach(function (node) {
-        return node.classList.remove(ClassName$8.ACTIVE);
-      });
-    } // Static
-    ;
-
-    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var data = $(this).data(DATA_KEY$8);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data) {
-          data = new ScrollSpy(this, _config);
-          $(this).data(DATA_KEY$8, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(ScrollSpy, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$8;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$6;
-      }
-    }]);
-
-    return ScrollSpy;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(window).on(Event$8.LOAD_DATA_API, function () {
-    var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
-    var scrollSpysLength = scrollSpys.length;
-
-    for (var i = scrollSpysLength; i--;) {
-      var $spy = $(scrollSpys[i]);
-
-      ScrollSpy._jQueryInterface.call($spy, $spy.data());
-    }
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$8] = ScrollSpy._jQueryInterface;
-  $.fn[NAME$8].Constructor = ScrollSpy;
-
-  $.fn[NAME$8].noConflict = function () {
-    $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
-    return ScrollSpy._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$9 = 'tab';
-  var VERSION$9 = '4.3.1';
-  var DATA_KEY$9 = 'bs.tab';
-  var EVENT_KEY$9 = "." + DATA_KEY$9;
-  var DATA_API_KEY$7 = '.data-api';
-  var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
-  var Event$9 = {
-    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
-  };
-  var ClassName$9 = {
-    DROPDOWN_MENU: 'dropdown-menu',
-    ACTIVE: 'active',
-    DISABLED: 'disabled',
-    FADE: 'fade',
-    SHOW: 'show'
-  };
-  var Selector$9 = {
-    DROPDOWN: '.dropdown',
-    NAV_LIST_GROUP: '.nav, .list-group',
-    ACTIVE: '.active',
-    ACTIVE_UL: '> li > .active',
-    DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
-    DROPDOWN_TOGGLE: '.dropdown-toggle',
-    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Tab =
-  /*#__PURE__*/
-  function () {
-    function Tab(element) {
-      this._element = element;
-    } // Getters
-
-
-    var _proto = Tab.prototype;
-
-    // Public
-    _proto.show = function show() {
-      var _this = this;
-
-      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
-        return;
-      }
-
-      var target;
-      var previous;
-      var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
-      var selector = Util.getSelectorFromElement(this._element);
-
-      if (listElement) {
-        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
-        previous = $.makeArray($(listElement).find(itemSelector));
-        previous = previous[previous.length - 1];
-      }
-
-      var hideEvent = $.Event(Event$9.HIDE, {
-        relatedTarget: this._element
-      });
-      var showEvent = $.Event(Event$9.SHOW, {
-        relatedTarget: previous
-      });
-
-      if (previous) {
-        $(previous).trigger(hideEvent);
-      }
-
-      $(this._element).trigger(showEvent);
-
-      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
-        return;
-      }
-
-      if (selector) {
-        target = document.querySelector(selector);
-      }
-
-      this._activate(this._element, listElement);
-
-      var complete = function complete() {
-        var hiddenEvent = $.Event(Event$9.HIDDEN, {
-          relatedTarget: _this._element
-        });
-        var shownEvent = $.Event(Event$9.SHOWN, {
-          relatedTarget: previous
-        });
-        $(previous).trigger(hiddenEvent);
-        $(_this._element).trigger(shownEvent);
-      };
-
-      if (target) {
-        this._activate(target, target.parentNode, complete);
-      } else {
-        complete();
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      $.removeData(this._element, DATA_KEY$9);
-      this._element = null;
-    } // Private
-    ;
-
-    _proto._activate = function _activate(element, container, callback) {
-      var _this2 = this;
-
-      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
-      var active = activeElements[0];
-      var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
-
-      var complete = function complete() {
-        return _this2._transitionComplete(element, active, callback);
-      };
-
-      if (active && isTransitioning) {
-        var transitionDuration = Util.getTransitionDurationFromElement(active);
-        $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    };
-
-    _proto._transitionComplete = function _transitionComplete(element, active, callback) {
-      if (active) {
-        $(active).removeClass(ClassName$9.ACTIVE);
-        var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
-
-        if (dropdownChild) {
-          $(dropdownChild).removeClass(ClassName$9.ACTIVE);
-        }
-
-        if (active.getAttribute('role') === 'tab') {
-          active.setAttribute('aria-selected', false);
-        }
-      }
-
-      $(element).addClass(ClassName$9.ACTIVE);
-
-      if (element.getAttribute('role') === 'tab') {
-        element.setAttribute('aria-selected', true);
-      }
-
-      Util.reflow(element);
-
-      if (element.classList.contains(ClassName$9.FADE)) {
-        element.classList.add(ClassName$9.SHOW);
-      }
-
-      if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
-        var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
-
-        if (dropdownElement) {
-          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
-          $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
-        }
-
-        element.setAttribute('aria-expanded', true);
-      }
-
-      if (callback) {
-        callback();
-      }
-    } // Static
-    ;
-
-    Tab._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $this = $(this);
-        var data = $this.data(DATA_KEY$9);
-
-        if (!data) {
-          data = new Tab(this);
-          $this.data(DATA_KEY$9, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config]();
-        }
-      });
-    };
-
-    _createClass(Tab, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$9;
-      }
-    }]);
-
-    return Tab;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * Data Api implementation
-   * ------------------------------------------------------------------------
-   */
-
-
-  $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
-    event.preventDefault();
-
-    Tab._jQueryInterface.call($(this), 'show');
-  });
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-  $.fn[NAME$9] = Tab._jQueryInterface;
-  $.fn[NAME$9].Constructor = Tab;
-
-  $.fn[NAME$9].noConflict = function () {
-    $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
-    return Tab._jQueryInterface;
-  };
-
-  /**
-   * ------------------------------------------------------------------------
-   * Constants
-   * ------------------------------------------------------------------------
-   */
-
-  var NAME$a = 'toast';
-  var VERSION$a = '4.3.1';
-  var DATA_KEY$a = 'bs.toast';
-  var EVENT_KEY$a = "." + DATA_KEY$a;
-  var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
-  var Event$a = {
-    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
-  };
-  var ClassName$a = {
-    FADE: 'fade',
-    HIDE: 'hide',
-    SHOW: 'show',
-    SHOWING: 'showing'
-  };
-  var DefaultType$7 = {
-    animation: 'boolean',
-    autohide: 'boolean',
-    delay: 'number'
-  };
-  var Default$7 = {
-    animation: true,
-    autohide: true,
-    delay: 500
-  };
-  var Selector$a = {
-    DATA_DISMISS: '[data-dismiss="toast"]'
-    /**
-     * ------------------------------------------------------------------------
-     * Class Definition
-     * ------------------------------------------------------------------------
-     */
-
-  };
-
-  var Toast =
-  /*#__PURE__*/
-  function () {
-    function Toast(element, config) {
-      this._element = element;
-      this._config = this._getConfig(config);
-      this._timeout = null;
-
-      this._setListeners();
-    } // Getters
-
-
-    var _proto = Toast.prototype;
-
-    // Public
-    _proto.show = function show() {
-      var _this = this;
-
-      $(this._element).trigger(Event$a.SHOW);
-
-      if (this._config.animation) {
-        this._element.classList.add(ClassName$a.FADE);
-      }
-
-      var complete = function complete() {
-        _this._element.classList.remove(ClassName$a.SHOWING);
-
-        _this._element.classList.add(ClassName$a.SHOW);
-
-        $(_this._element).trigger(Event$a.SHOWN);
-
-        if (_this._config.autohide) {
-          _this.hide();
-        }
-      };
-
-      this._element.classList.remove(ClassName$a.HIDE);
-
-      this._element.classList.add(ClassName$a.SHOWING);
-
-      if (this._config.animation) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    };
-
-    _proto.hide = function hide(withoutTimeout) {
-      var _this2 = this;
-
-      if (!this._element.classList.contains(ClassName$a.SHOW)) {
-        return;
-      }
-
-      $(this._element).trigger(Event$a.HIDE);
-
-      if (withoutTimeout) {
-        this._close();
-      } else {
-        this._timeout = setTimeout(function () {
-          _this2._close();
-        }, this._config.delay);
-      }
-    };
-
-    _proto.dispose = function dispose() {
-      clearTimeout(this._timeout);
-      this._timeout = null;
-
-      if (this._element.classList.contains(ClassName$a.SHOW)) {
-        this._element.classList.remove(ClassName$a.SHOW);
-      }
-
-      $(this._element).off(Event$a.CLICK_DISMISS);
-      $.removeData(this._element, DATA_KEY$a);
-      this._element = null;
-      this._config = null;
-    } // Private
-    ;
-
-    _proto._getConfig = function _getConfig(config) {
-      config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
-      Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
-      return config;
-    };
-
-    _proto._setListeners = function _setListeners() {
-      var _this3 = this;
-
-      $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
-        return _this3.hide(true);
-      });
-    };
-
-    _proto._close = function _close() {
-      var _this4 = this;
-
-      var complete = function complete() {
-        _this4._element.classList.add(ClassName$a.HIDE);
-
-        $(_this4._element).trigger(Event$a.HIDDEN);
-      };
-
-      this._element.classList.remove(ClassName$a.SHOW);
-
-      if (this._config.animation) {
-        var transitionDuration = Util.getTransitionDurationFromElement(this._element);
-        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
-      } else {
-        complete();
-      }
-    } // Static
-    ;
-
-    Toast._jQueryInterface = function _jQueryInterface(config) {
-      return this.each(function () {
-        var $element = $(this);
-        var data = $element.data(DATA_KEY$a);
-
-        var _config = typeof config === 'object' && config;
-
-        if (!data) {
-          data = new Toast(this, _config);
-          $element.data(DATA_KEY$a, data);
-        }
-
-        if (typeof config === 'string') {
-          if (typeof data[config] === 'undefined') {
-            throw new TypeError("No method named \"" + config + "\"");
-          }
-
-          data[config](this);
-        }
-      });
-    };
-
-    _createClass(Toast, null, [{
-      key: "VERSION",
-      get: function get() {
-        return VERSION$a;
-      }
-    }, {
-      key: "DefaultType",
-      get: function get() {
-        return DefaultType$7;
-      }
-    }, {
-      key: "Default",
-      get: function get() {
-        return Default$7;
-      }
-    }]);
-
-    return Toast;
-  }();
-  /**
-   * ------------------------------------------------------------------------
-   * jQuery
-   * ------------------------------------------------------------------------
-   */
-
-
-  $.fn[NAME$a] = Toast._jQueryInterface;
-  $.fn[NAME$a].Constructor = Toast;
-
-  $.fn[NAME$a].noConflict = function () {
-    $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
-    return Toast._jQueryInterface;
-  };
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap (v4.3.1): index.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-  (function () {
-    if (typeof $ === 'undefined') {
-      throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
-    }
-
-    var version = $.fn.jquery.split(' ')[0].split('.');
-    var minMajor = 1;
-    var ltMajor = 2;
-    var minMinor = 9;
-    var minPatch = 1;
-    var maxMajor = 4;
-
-    if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
-      throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
-    }
-  })();
-
-  exports.Util = Util;
-  exports.Alert = Alert;
-  exports.Button = Button;
-  exports.Carousel = Carousel;
-  exports.Collapse = Collapse;
-  exports.Dropdown = Dropdown;
-  exports.Modal = Modal;
-  exports.Popover = Popover;
-  exports.Scrollspy = ScrollSpy;
-  exports.Tab = Tab;
-  exports.Toast = Toast;
-  exports.Tooltip = Tooltip;
-
-  Object.defineProperty(exports, '__esModule', { value: true });
-
-}));
-//# sourceMappingURL=bootstrap.js.map
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js.map b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js.map
deleted file mode 100644
index 70b358f..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n  return {\n    bindType: TRANSITION_END,\n    delegateType: TRANSITION_END,\n    handle(event) {\n      if ($(event.target).is(this)) {\n        return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n      }\n      return undefined // eslint-disable-line no-undefined\n    }\n  }\n}\n\nfunction transitionEndEmulator(duration) {\n  let called = false\n\n  $(this).one(Util.TRANSITION_END, () => {\n    called = true\n  })\n\n  setTimeout(() => {\n    if (!called) {\n      Util.triggerTransitionEnd(this)\n    }\n  }, duration)\n\n  return this\n}\n\nfunction setTransitionEndSupport() {\n  $.fn.emulateTransitionEnd = transitionEndEmulator\n  $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n  TRANSITION_END: 'bsTransitionEnd',\n\n  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    return prefix\n  },\n\n  getSelectorFromElement(element) {\n    let selector = element.getAttribute('data-target')\n\n    if (!selector || selector === '#') {\n      const hrefAttr = element.getAttribute('href')\n      selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n    }\n\n    try {\n      return document.querySelector(selector) ? selector : null\n    } catch (err) {\n      return null\n    }\n  },\n\n  getTransitionDurationFromElement(element) {\n    if (!element) {\n      return 0\n    }\n\n    // Get transition-duration of the element\n    let transitionDuration = $(element).css('transition-duration')\n    let transitionDelay = $(element).css('transition-delay')\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\n  reflow(element) {\n    return element.offsetHeight\n  },\n\n  triggerTransitionEnd(element) {\n    $(element).trigger(TRANSITION_END)\n  },\n\n  // TODO: Remove in v5\n  supportsTransitionEnd() {\n    return Boolean(TRANSITION_END)\n  },\n\n  isElement(obj) {\n    return (obj[0] || obj).nodeType\n  },\n\n  typeCheckConfig(componentName, config, configTypes) {\n    for (const property in configTypes) {\n      if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n        const expectedTypes = configTypes[property]\n        const value         = config[property]\n        const valueType     = value && Util.isElement(value)\n          ? 'element' : 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  },\n\n  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 Util.findShadowRoot(element.parentNode)\n  }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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\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.isDefaultPrevented()) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    let parent     = false\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    if (!parent) {\n      parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n    }\n\n    return parent\n  }\n\n  _triggerCloseEvent(element) {\n    const closeEvent = $.Event(Event.CLOSE)\n\n    $(element).trigger(closeEvent)\n    return closeEvent\n  }\n\n  _removeElement(element) {\n    $(element).removeClass(ClassName.SHOW)\n\n    if (!$(element).hasClass(ClassName.FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n    $(element)\n      .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  _destroyElement(element) {\n    $(element)\n      .detach()\n      .trigger(Event.CLOSED)\n      .remove()\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n        $element.data(DATA_KEY, data)\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n  Event.CLICK_DATA_API,\n  Selector.DISMISS,\n  Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n                          `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  }\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    const rootElement = $(this._element).closest(\n      Selector.DATA_TOGGLE\n    )[0]\n\n    if (rootElement) {\n      const input = this._element.querySelector(Selector.INPUT)\n\n      if (input) {\n        if (input.type === 'radio') {\n          if (input.checked &&\n            this._element.classList.contains(ClassName.ACTIVE)) {\n            triggerChangeEvent = false\n          } else {\n            const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n            if (activeElement) {\n              $(activeElement).removeClass(ClassName.ACTIVE)\n            }\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          input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n          $(input).trigger('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).toggleClass(ClassName.ACTIVE)\n    }\n  }\n\n  dispose() {\n    $.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 = $(this).data(DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    event.preventDefault()\n\n    let button = event.target\n\n    if (!$(button).hasClass(ClassName.BUTTON)) {\n      button = $(button).closest(Selector.BUTTON)\n    }\n\n    Button._jQueryInterface.call($(button), 'toggle')\n  })\n  .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    const button = $(event.target).closest(Selector.BUTTON)[0]\n    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Button._jQueryInterface\n}\n\nexport default Button\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT     = $.fn[NAME]\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 = this._element.querySelector(Selector.INDICATORS)\n    this._touchSupported    = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent      = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n    this._addEventListeners()\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 &&\n      ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\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 (this._element.querySelector(Selector.NEXT_PREV)) {\n      Util.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.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 = this._element.querySelector(Selector.ACTIVE_ITEM)\n\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      $(this._element).one(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    $(this._element).off(EVENT_KEY)\n    $.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    Util.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    // 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      $(this._element)\n        .on(Event.KEYDOWN, (event) => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      $(this._element)\n        .on(Event.MOUSEENTER, (event) => this.pause(event))\n        .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n    }\n\n    if (this._config.touch) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    if (!this._touchSupported) {\n      return\n    }\n\n    const start = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchStartX = event.originalEvent.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.originalEvent.touches[0].clientX\n      }\n    }\n\n    const move = (event) => {\n      // ensure swiping with one touch and not pinching\n      if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.originalEvent.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        this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n    if (this._pointerEvent) {\n      $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n      $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n      this._element.classList.add(ClassName.POINTER_EVENT)\n    } else {\n      $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n      $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n      $(this._element).on(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      ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\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] : this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n    const slideEvent = $.Event(Event.SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n\n    $(this._element).trigger(slideEvent)\n\n    return slideEvent\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n      $(indicators)\n        .removeClass(ClassName.ACTIVE)\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        $(nextIndicator).addClass(ClassName.ACTIVE)\n      }\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement   = element || activeElement &&\n      this._getItemByDirection(direction, activeElement)\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).hasClass(ClassName.ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.isDefaultPrevented()) {\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    const slidEvent = $.Event(Event.SLID, {\n      relatedTarget: nextElement,\n      direction: eventDirectionName,\n      from: activeElementIndex,\n      to: nextElementIndex\n    })\n\n    if ($(this._element).hasClass(ClassName.SLIDE)) {\n      $(nextElement).addClass(orderClassName)\n\n      Util.reflow(nextElement)\n\n      $(activeElement).addClass(directionalClassName)\n      $(nextElement).addClass(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 = Util.getTransitionDurationFromElement(activeElement)\n\n      $(activeElement)\n        .one(Util.TRANSITION_END, () => {\n          $(nextElement)\n            .removeClass(`${directionalClassName} ${orderClassName}`)\n            .addClass(ClassName.ACTIVE)\n\n          $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n          this._isSliding = false\n\n          setTimeout(() => $(this._element).trigger(slidEvent), 0)\n        })\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      $(activeElement).removeClass(ClassName.ACTIVE)\n      $(nextElement).addClass(ClassName.ACTIVE)\n\n      this._isSliding = false\n      $(this._element).trigger(slidEvent)\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      let _config = {\n        ...Default,\n        ...$(this).data()\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(this, _config)\n        $(this).data(DATA_KEY, data)\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        data[action]()\n      } else if (_config.interval && _config.ride) {\n        data.pause()\n        data.cycle()\n      }\n    })\n  }\n\n  static _dataApiClickHandler(event) {\n    const selector = Util.getSelectorFromElement(this)\n\n    if (!selector) {\n      return\n    }\n\n    const target = $(selector)[0]\n\n    if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n    const slideIndex = this.getAttribute('data-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel._jQueryInterface.call($(target), config)\n\n    if (slideIndex) {\n      $(target).data(DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    const $carousel = $(carousels[i])\n    Carousel._jQueryInterface.call($carousel, $carousel.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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    = [].slice.call(document.querySelectorAll(\n      `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n      `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n    ))\n\n    const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = Util.getSelectorFromElement(elem)\n      const filterElement = [].slice.call(document.querySelectorAll(selector))\n        .filter((foundElem) => foundElem === element)\n\n      if (selector !== null && filterElement.length > 0) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if ($(this._element).hasClass(ClassName.SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      $(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\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    if (actives) {\n      activesData = $(actives).not(this._selector).data(DATA_KEY)\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = $.Event(Event.SHOW)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (actives) {\n      Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n      if (!activesData) {\n        $(actives).data(DATA_KEY, null)\n      }\n    }\n\n    const dimension = this._getDimension()\n\n    $(this._element)\n      .removeClass(ClassName.COLLAPSE)\n      .addClass(ClassName.COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      $(this._triggerArray)\n        .removeClass(ClassName.COLLAPSED)\n        .attr('aria-expanded', true)\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .addClass(ClassName.SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      $(this._element).trigger(Event.SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !$(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const startEvent = $.Event(Event.HIDE)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    Util.reflow(this._element)\n\n    $(this._element)\n      .addClass(ClassName.COLLAPSING)\n      .removeClass(ClassName.COLLAPSE)\n      .removeClass(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 selector = Util.getSelectorFromElement(trigger)\n\n        if (selector !== null) {\n          const $elem = $([].slice.call(document.querySelectorAll(selector)))\n          if (!$elem.hasClass(ClassName.SHOW)) {\n            $(trigger).addClass(ClassName.COLLAPSED)\n              .attr('aria-expanded', false)\n          }\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .trigger(Event.HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n    return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n  }\n\n  _getParent() {\n    let parent\n\n    if (Util.isElement(this._config.parent)) {\n      parent = this._config.parent\n\n      // It's a jQuery object\n      if (typeof this._config.parent.jquery !== 'undefined') {\n        parent = this._config.parent[0]\n      }\n    } else {\n      parent = document.querySelector(this._config.parent)\n    }\n\n    const selector =\n      `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n    const children = [].slice.call(parent.querySelectorAll(selector))\n    $(children).each((i, element) => {\n      this._addAriaAndCollapsedClass(\n        Collapse._getTargetFromElement(element),\n        [element]\n      )\n    })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    const isOpen = $(element).hasClass(ClassName.SHOW)\n\n    if (triggerArray.length) {\n      $(triggerArray)\n        .toggleClass(ClassName.COLLAPSED, !isOpen)\n        .attr('aria-expanded', isOpen)\n    }\n  }\n\n  // Static\n\n  static _getTargetFromElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    return selector ? document.querySelector(selector) : null\n  }\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this   = $(this)\n      let data      = $this.data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$this.data(),\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(this, _config)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(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.currentTarget.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const $trigger = $(this)\n  const selector = Util.getSelectorFromElement(this)\n  const selectors = [].slice.call(document.querySelectorAll(selector))\n\n  $(selectors).each(function () {\n    const $target = $(this)\n    const data    = $target.data(DATA_KEY)\n    const config  = data ? 'toggle' : $trigger.data()\n    Collapse._jQueryInterface.call($target, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT       = $.fn[NAME]\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  MENULEFT        : 'dropdown-menu-left',\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}\n\nconst DefaultType = {\n  offset    : '(number|string|function)',\n  flip      : 'boolean',\n  boundary  : '(string|element)',\n  reference : '(string|element)',\n  display   : 'string'\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  }\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).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this._element)\n    const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    // Disable totally Popper.js for Dropdown in Navbar\n    if (!this._inNavbar) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\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 (Util.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).addClass(ClassName.POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  show() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(Event.HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.HIDDEN, relatedTarget))\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._element).off(EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    $(this._element).on(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      ...$(this._element).data(),\n      ...config\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _getMenuElement() {\n    if (!this._menu) {\n      const parent = Dropdown._getParentFromElement(this._element)\n\n      if (parent) {\n        this._menu = parent.querySelector(Selector.MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = AttachmentMap.BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n      placement = AttachmentMap.TOP\n      if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.TOPEND\n      }\n    } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n      placement = AttachmentMap.RIGHT\n    } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n      placement = AttachmentMap.LEFT\n    } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n      placement = AttachmentMap.BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\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 popperConfig\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(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        data[config]()\n      }\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 = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(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).hasClass(ClassName.SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(Event.HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\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        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      $(dropdownMenu).removeClass(ClassName.SHOW)\n      $(parent)\n        .removeClass(ClassName.SHOW)\n        .trigger($.Event(Event.HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\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        $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(ClassName.SHOW)\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n        $(toggle).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n    if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n  .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n  .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    event.stopPropagation()\n    Dropdown._jQueryInterface.call($(this), 'toggle')\n  })\n  .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n    e.stopPropagation()\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT = $.fn[NAME]\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              = element.querySelector(Selector.DIALOG)\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  }\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).hasClass(ClassName.FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\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    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      (event) => this.hide(event)\n    )\n\n    $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n        if ($(event.target).is(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 = $.Event(Event.HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(Event.FOCUSIN)\n\n    $(this._element).removeClass(ClassName.SHOW)\n\n    $(this._element).off(Event.CLICK_DISMISS)\n    $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach((htmlElement) => $(htmlElement).off(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    $(document).off(Event.FOCUSIN)\n\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(ClassName.FADE)\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).hasClass(ClassName.SCROLLABLE)) {\n      this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(ClassName.SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(Event.SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(Event.FOCUSIN) // Guard against infinite focus loop\n      .on(Event.FOCUSIN, (event) => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown && this._config.keyboard) {\n      $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n        if (event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(Event.KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n    } else {\n      $(window).off(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).removeClass(ClassName.OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(Event.HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(ClassName.FADE)\n      ? ClassName.FADE : ''\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      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(Event.CLICK_DISMISS, (event) => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n        if (event.target !== event.currentTarget) {\n          return\n        }\n        if (this._config.backdrop === 'static') {\n          this._element.focus()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(ClassName.SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(ClassName.SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(ClassName.FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\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      const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(ClassName.OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\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 = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(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        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY)\n    ? 'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(Event.SHOW, (showEvent) => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(Event.HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\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\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\nfunction 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 function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n  if (unsafeHtml.length === 0) {\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 = [].slice.call(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(el.nodeName.toLowerCase()) === -1) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].slice.call(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  DefaultWhitelist,\n  sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT    = $.fn[NAME]\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}\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=\"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}\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       : '.tooltip',\n  TOOLTIP_INNER : '.tooltip-inner',\n  ARROW         : '.arrow'\n}\n\nconst Trigger = {\n  HOVER  : 'hover',\n  FOCUS  : 'focus',\n  CLICK  : 'click',\n  MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    /**\n     * Check for Popper dependency\n     * Popper - https://popper.js.org\n     */\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  }\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 = $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(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()).hasClass(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    $.removeData(this.element, this.constructor.DATA_KEY)\n\n    $(this.element).off(this.constructor.EVENT_KEY)\n    $(this.element).closest('.modal').off('hide.bs.modal')\n\n    if (this.tip) {\n      $(this.tip).remove()\n    }\n\n    this._isEnabled     = null\n    this._timeout       = null\n    this._hoverState    = null\n    this._activeTrigger = null\n    if (this._popper !== null) {\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).css('display') === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    const showEvent = $.Event(this.constructor.Event.SHOW)\n    if (this.isWithContent() && this._isEnabled) {\n      $(this.element).trigger(showEvent)\n\n      const shadowRoot = Util.findShadowRoot(this.element)\n      const isInTheDom = $.contains(\n        shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n        this.element\n      )\n\n      if (showEvent.isDefaultPrevented() || !isInTheDom) {\n        return\n      }\n\n      const tip   = this.getTipElement()\n      const tipId = Util.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).addClass(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      $(tip).data(this.constructor.DATA_KEY, this)\n\n      if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n        $(tip).appendTo(container)\n      }\n\n      $(this.element).trigger(this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, {\n        placement: attachment,\n        modifiers: {\n          offset: this._getOffset(),\n          flip: {\n            behavior: this.config.fallbackPlacement\n          },\n          arrow: {\n            element: Selector.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      $(tip).addClass(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        $(document.body).children().on('mouseover', null, $.noop)\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n        const prevHoverState = this._hoverState\n        this._hoverState     = null\n\n        $(this.element).trigger(this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HoverState.OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if ($(this.tip).hasClass(ClassName.FADE)) {\n        const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n        $(this.tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide(callback) {\n    const tip       = this.getTipElement()\n    const hideEvent = $.Event(this.constructor.Event.HIDE)\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      $(this.element).trigger(this.constructor.Event.HIDDEN)\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    $(this.element).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(tip).removeClass(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      $(document.body).children().off('mouseover', null, $.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).hasClass(ClassName.FADE)) {\n      const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n      $(tip)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n    $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  setElementContent($element, content) {\n    if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n      // Content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (!$(content).parent().is($element)) {\n          $element.empty().append(content)\n        }\n      } else {\n        $element.text($(content).text())\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.html(content)\n    } else {\n      $element.text(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  _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 (Util.isElement(this.config.container)) {\n      return $(this.config.container)\n    }\n\n    return $(document).find(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        $(this.element).on(\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        $(this.element)\n          .on(\n            eventIn,\n            this.config.selector,\n            (event) => this._enter(event)\n          )\n          .on(\n            eventOut,\n            this.config.selector,\n            (event) => this._leave(event)\n          )\n      }\n    })\n\n    $(this.element).closest('.modal').on(\n      'hide.bs.modal',\n      () => {\n        if (this.element) {\n          this.hide()\n        }\n      }\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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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()).hasClass(ClassName.SHOW) || 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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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 = $(this.element).data()\n\n    Object.keys(dataAttributes)\n      .forEach((dataAttr) => {\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n          delete dataAttributes[dataAttr]\n        }\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    Util.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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length) {\n      $tip.removeClass(tabClass.join(''))\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\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    $(tip).removeClass(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 = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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 JQUERY_NO_CONFLICT  = $.fn[NAME]\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=\"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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const $tip = $(this.getTipElement())\n\n    // We use append for html objects to maintain js events\n    this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n    this.setElementContent($tip.find(Selector.CONTENT), content)\n\n    $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active'\n}\n\nconst Selector = {\n  DATA_SPY        : '[data-spy=\"scroll\"]',\n  ACTIVE          : '.active',\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_ITEMS  : '.dropdown-item',\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} ${Selector.DROPDOWN_ITEMS}`\n    this._offsets       = []\n    this._targets       = []\n    this._activeTarget  = null\n    this._scrollHeight  = 0\n\n    $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n    this.refresh()\n    this._process()\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 : OffsetMethod.POSITION\n\n    const offsetMethod = this._config.method === 'auto'\n      ? autoMethod : this._config.method\n\n    const offsetBase = offsetMethod === OffsetMethod.POSITION\n      ? this._getScrollTop() : 0\n\n    this._offsets = []\n    this._targets = []\n\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n    targets\n      .map((element) => {\n        let target\n        const targetSelector = Util.getSelectorFromElement(element)\n\n        if (targetSelector) {\n          target = document.querySelector(targetSelector)\n        }\n\n        if (target) {\n          const targetBCR = target.getBoundingClientRect()\n          if (targetBCR.width || targetBCR.height) {\n            // TODO (fat): remove sketch reliance on jQuery position/offset\n            return [\n              $(target)[offsetMethod]().top + offsetBase,\n              targetSelector\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    $.removeData(this._element, DATA_KEY)\n    $(this._scrollElement).off(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).attr('id')\n      if (!id) {\n        id = Util.getUID(NAME)\n        $(config.target).attr('id', id)\n      }\n      config.target = `#${id}`\n    }\n\n    Util.typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window\n      ? this._scrollElement.pageYOffset : 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 : 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      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\n      .split(',')\n      .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n    if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n      $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n      $link.addClass(ClassName.ACTIVE)\n    } else {\n      // Set triggered link as active\n      $link.addClass(ClassName.ACTIVE)\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      $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n      // Handle special case when .nav-link is inside .nav-item\n      $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n    }\n\n    $(this._scrollElement).trigger(Event.ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    [].slice.call(document.querySelectorAll(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 = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n  const scrollSpysLength = scrollSpys.length\n\n  for (let i = scrollSpysLength; i--;) {\n    const $spy = $(scrollSpys[i])\n    ScrollSpy._jQueryInterface.call($spy, $spy.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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             : '> li > .active',\n  DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n  DROPDOWN_TOGGLE       : '.dropdown-toggle',\n  DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\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).hasClass(ClassName.ACTIVE) ||\n        $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    let target\n    let previous\n    const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n    const selector = Util.getSelectorFromElement(this._element)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n      previous = $.makeArray($(listElement).find(itemSelector))\n      previous = previous[previous.length - 1]\n    }\n\n    const hideEvent = $.Event(Event.HIDE, {\n      relatedTarget: this._element\n    })\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget: previous\n    })\n\n    if (previous) {\n      $(previous).trigger(hideEvent)\n    }\n\n    $(this._element).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() ||\n        hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (selector) {\n      target = document.querySelector(selector)\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      const hiddenEvent = $.Event(Event.HIDDEN, {\n        relatedTarget: this._element\n      })\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget: previous\n      })\n\n      $(previous).trigger(hiddenEvent)\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    $.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      ? $(container).find(Selector.ACTIVE_UL)\n      : $(container).children(Selector.ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n      $(active)\n        .removeClass(ClassName.SHOW)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      $(active).removeClass(ClassName.ACTIVE)\n\n      const dropdownChild = $(active.parentNode).find(\n        Selector.DROPDOWN_ACTIVE_CHILD\n      )[0]\n\n      if (dropdownChild) {\n        $(dropdownChild).removeClass(ClassName.ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    $(element).addClass(ClassName.ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    Util.reflow(element)\n\n    if (element.classList.contains(ClassName.FADE)) {\n      element.classList.add(ClassName.SHOW)\n    }\n\n    if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n      const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n      if (dropdownElement) {\n        const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n        $(dropdownToggleList).addClass(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 $this = $(this)\n      let data = $this.data(DATA_KEY)\n\n      if (!data) {\n        data = new Tab(this)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    Tab._jQueryInterface.call($(this), 'show')\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  }\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    $(this._element).trigger(Event.SHOW)\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      $(this._element).trigger(Event.SHOWN)\n\n      if (this._config.autohide) {\n        this.hide()\n      }\n    }\n\n    this._element.classList.remove(ClassName.HIDE)\n    this._element.classList.add(ClassName.SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide(withoutTimeout) {\n    if (!this._element.classList.contains(ClassName.SHOW)) {\n      return\n    }\n\n    $(this._element).trigger(Event.HIDE)\n\n    if (withoutTimeout) {\n      this._close()\n    } else {\n      this._timeout = setTimeout(() => {\n        this._close()\n      }, this._config.delay)\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    $(this._element).off(Event.CLICK_DISMISS)\n\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n    this._config  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...$(this._element).data(),\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _setListeners() {\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      () => this.hide(true)\n    )\n  }\n\n  _close() {\n    const complete = () => {\n      this._element.classList.add(ClassName.HIDE)\n      $(this._element).trigger(Event.HIDDEN)\n    }\n\n    this._element.classList.remove(ClassName.SHOW)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n      const _config  = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n        $element.data(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](this)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})()\n\nexport {\n  Util,\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":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","Alert","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","ACTIVE","BUTTON","FOCUS","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","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","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_handleSwipe","absDeltax","abs","_keydown","_addTouchEventListeners","start","originalEvent","pointerType","clientX","touches","move","end","clearTimeout","querySelectorAll","e","add","tagName","which","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","ride","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOWN","HIDE","HIDDEN","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","ACTIVES","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","complete","capitalizedDimension","scrollSize","getBoundingClientRect","triggerArrayLength","$elem","isTransitioning","hasWidth","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","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","MENULEFT","POSITION_STATIC","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","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","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","uriAttrs","ARIA_ATTRIBUTE_PATTERN","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","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attrName","nodeName","nodeValue","regExp","attrRegex","l","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","keys","el","elName","attributeList","attributes","whitelistedAttributes","concat","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","sanitize","AUTO","HoverState","OUT","INSERTED","FOCUSOUT","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","MANUAL","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","empty","append","text","find","triggers","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","TITLE","CONTENT","Popover","_getContent","method","ACTIVATE","SCROLL","DROPDOWN_ITEM","DROPDOWN_MENU","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","map","targetSelector","targetBCR","height","top","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","offsetLength","isActiveTarget","queries","$link","parents","node","scrollSpys","scrollSpysLength","$spy","ACTIVE_UL","DROPDOWN_ACTIVE_CHILD","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","activeElements","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","SHOWING","autohide","Toast","withoutTimeout","_close","version","minMajor","ltMajor","minMinor","minPatch","maxMajor"],"mappings":"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"}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js
deleted file mode 100644
index c4c0d1f..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
-  * Bootstrap v4.3.1 (https://getbootstrap.com/)
-  * 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?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(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 s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}g=g&&g.hasOwnProperty("default")?g.default:g,u=u&&u.hasOwnProperty("default")?u.default:u;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",y="bs.button",E="."+y,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A='input:not([type="hidden"])',N=".active",O=".btn",k={CLICK_DATA_API:"click"+E+C,FOCUS_BLUR_DATA_API:"focus"+E+C+" blur"+E+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(N);o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,y),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(y);t||(t=new n(this),g(this).data(y,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",x=g.fn[L],F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},W="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",z="carousel-item-right",X="carousel-item-left",$="carousel-item-next",G="carousel-item-prev",J="pointer-event",Z=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",ot=".carousel-indicators",rt="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(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=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(W)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?W:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),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(t){return t=l({},F,t),_.typeCheckConfig(L,t,U),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._config.touch&&this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(J)):(g(this._element).on(Q.TOUCHSTART,function(t){return e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._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()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===W,i=t===q,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===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(Z));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===W?(n=X,i=$,M):(n=z,i=G,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},F,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&e.ride&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-slide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return F}}]),r}();g(document).on(Q.CLICK_DATA_API,rt,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=x,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",yt="collapsed",Et="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<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()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._config.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(yt).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(yt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(Et)?Et:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(yt,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",jt="dropup",Ht="dropright",Rt="dropleft",xt="dropdown-menu-right",Ft="position-static",Ut='[data-toggle="dropdown"]',Wt=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",zt="right-start",Xt="left-start",$t={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Gt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Jt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof u)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Ft),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(jt)?(e=Qt,g(this._menu).hasClass(xt)&&(e=Bt)):t.hasClass(Ht)?e=zt:t.hasClass(Rt)?e=Xt:g(this._menu).hasClass(xt)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getOffset=function(){var e=this,t={};return"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets,e._element)||{}),t}:t.offset=this._config.offset,t},t._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}),t},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Ut)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(Ut);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $t}},{key:"DefaultType",get:function(){return Gt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,Ut,Jt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Jt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Jt._clearMenus).on(kt.CLICK_DATA_API,Ut,function(t){t.preventDefault(),t.stopPropagation(),Jt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API,Wt,function(t){t.stopPropagation()}),g.fn[It]=Jt._jQueryInterface,g.fn[It].Constructor=Jt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Jt._jQueryInterface};var Zt="modal",te="bs.modal",ee="."+te,ne=g.fn[Zt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-dialog-scrollable",ae="modal-scrollbar-measure",le="modal-backdrop",ce="modal-open",he="fade",ue="show",fe=".modal-dialog",de=".modal-body",ge='[data-toggle="modal"]',_e='[data-dismiss="modal"]',me=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",pe=".sticky-top",ve=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(fe),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(he)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,_e,function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(he);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(ue),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),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(t){return t=l({},ie,t),_.typeCheckConfig(Zt,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(he);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),g(this._dialog).hasClass(se)?this._dialog.querySelector(de).scrollTop=0:this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(ue),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._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(){g(document.body).removeClass(ce),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(he)?he:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=le,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body),g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(ue),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(ue);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(he)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._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")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(me)),e=[].slice.call(document.querySelectorAll(pe));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(ce)},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(me));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+pe));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=ae,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(o,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,ge,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});ve._jQueryInterface.call(g(e),o,this)}),g.fn[Zt]=ve._jQueryInterface,g.fn[Zt].Constructor=ve,g.fn[Zt].noConflict=function(){return g.fn[Zt]=ne,ve._jQueryInterface};var ye=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Ee={"*":["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:[]},Ce=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function Se(t,s,e){if(0===t.length)return t;if(e&&"function"==typeof e)return e(t);for(var n=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(s),l=[].slice.call(n.body.querySelectorAll("*")),i=function(t,e){var n=l[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),"continue";var o=[].slice.call(n.attributes),r=[].concat(s["*"]||[],s[i]||[]);o.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===ye.indexOf(n)||Boolean(t.nodeValue.match(Ce)||t.nodeValue.match(Te));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})(t,r)||n.removeAttribute(t.nodeName)})},o=0,r=l.length;o<r;o++)i(o);return n.body.innerHTML}var be="tooltip",Ie="bs.tooltip",De="."+Ie,we=g.fn[be],Ae="bs-tooltip",Ne=new RegExp("(^|\\s)"+Ae+"\\S+","g"),Oe=["sanitize","whiteList","sanitizeFn"],ke={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"},Pe={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Le={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="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:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)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()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),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"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);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 l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.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},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},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)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._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",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},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()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._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},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ye),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Je}},{key:"NAME",get:function(){return Ve}},{key:"DATA_KEY",get:function(){return Ye}},{key:"Event",get:function(){return rn}},{key:"EVENT_KEY",get:function(){return ze}},{key:"DefaultType",get:function(){return Ze}}]),i}(Be);g.fn[Ve]=sn._jQueryInterface,g.fn[Ve].Constructor=sn,g.fn[Ve].noConflict=function(){return g.fn[Ve]=Xe,sn._jQueryInterface};var an="scrollspy",ln="bs.scrollspy",cn="."+ln,hn=g.fn[an],un={offset:10,method:"auto",target:""},fn={offset:"number",method:"string",target:"(string|element)"},dn={ACTIVATE:"activate"+cn,SCROLL:"scroll"+cn,LOAD_DATA_API:"load"+cn+".data-api"},gn="dropdown-item",_n="active",mn='[data-spy="scroll"]',pn=".nav, .list-group",vn=".nav-link",yn=".nav-item",En=".list-group-item",Cn=".dropdown",Tn=".dropdown-item",Sn=".dropdown-toggle",bn="offset",In="position",Dn=function(){function n(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+" "+vn+","+this._config.target+" "+En+","+this._config.target+" "+Tn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(dn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?bn:In,o="auto"===this._config.method?t:this._config.method,r=o===In?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,ln),g(this._scrollElement).off(cn),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(t){if("string"!=typeof(t=l({},un,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(an),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(an,t,fn),t},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 t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[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])}}},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=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(gn)?(n.closest(Cn).find(Sn).addClass(_n),n.addClass(_n)):(n.addClass(_n),n.parents(pn).prev(vn+", "+En).addClass(_n),n.parents(pn).prev(yn).children(vn).addClass(_n)),g(this._scrollElement).trigger(dn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(_n)}).forEach(function(t){return t.classList.remove(_n)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(ln);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data(ln,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return un}}]),n}();g(window).on(dn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(mn)),e=t.length;e--;){var n=g(t[e]);Dn._jQueryInterface.call(n,n.data())}}),g.fn[an]=Dn._jQueryInterface,g.fn[an].Constructor=Dn,g.fn[an].noConflict=function(){return g.fn[an]=hn,Dn._jQueryInterface};var wn="bs.tab",An="."+wn,Nn=g.fn.tab,On={HIDE:"hide"+An,HIDDEN:"hidden"+An,SHOW:"show"+An,SHOWN:"shown"+An,CLICK_DATA_API:"click"+An+".data-api"},kn="dropdown-menu",Pn="active",Ln="disabled",jn="fade",Hn="show",Rn=".dropdown",xn=".nav, .list-group",Fn=".active",Un="> li > .active",Wn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',qn=".dropdown-toggle",Mn="> .dropdown-menu .active",Kn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(Pn)||g(this._element).hasClass(Ln))){var t,i,e=g(this._element).closest(xn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?Un:Fn;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(On.HIDE,{relatedTarget:this._element}),a=g.Event(On.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(On.HIDDEN,{relatedTarget:n._element}),e=g.Event(On.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,wn),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(Fn):g(e).find(Un))[0],r=n&&o&&g(o).hasClass(jn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(Hn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(Pn);var i=g(e.parentNode).find(Mn)[0];i&&g(i).removeClass(Pn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(Pn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),t.classList.contains(jn)&&t.classList.add(Hn),t.parentNode&&g(t.parentNode).hasClass(kn)){var o=g(t).closest(Rn)[0];if(o){var r=[].slice.call(o.querySelectorAll(qn));g(r).addClass(Pn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(wn);if(e||(e=new i(this),t.data(wn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),i}();g(document).on(On.CLICK_DATA_API,Wn,function(t){t.preventDefault(),Kn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Kn._jQueryInterface,g.fn.tab.Constructor=Kn,g.fn.tab.noConflict=function(){return g.fn.tab=Nn,Kn._jQueryInterface};var Qn="toast",Bn="bs.toast",Vn="."+Bn,Yn=g.fn[Qn],zn={CLICK_DISMISS:"click.dismiss"+Vn,HIDE:"hide"+Vn,HIDDEN:"hidden"+Vn,SHOW:"show"+Vn,SHOWN:"shown"+Vn},Xn="fade",$n="hide",Gn="show",Jn="showing",Zn={animation:"boolean",autohide:"boolean",delay:"number"},ti={animation:!0,autohide:!0,delay:500},ei='[data-dismiss="toast"]',ni=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(zn.SHOW),this._config.animation&&this._element.classList.add(Xn);var e=function(){t._element.classList.remove(Jn),t._element.classList.add(Gn),g(t._element).trigger(zn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove($n),this._element.classList.add(Jn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Gn)&&(g(this._element).trigger(zn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Gn)&&this._element.classList.remove(Gn),g(this._element).off(zn.CLICK_DISMISS),g.removeData(this._element,Bn),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},ti,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Qn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(zn.CLICK_DISMISS,ei,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add($n),g(t._element).trigger(zn.HIDDEN)};if(this._element.classList.remove(Gn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Bn);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Bn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Zn}},{key:"Default",get:function(){return ti}}]),i}();g.fn[Qn]=ni._jQueryInterface,g.fn[Qn].Constructor=ni,g.fn[Qn].noConflict=function(){return g.fn[Qn]=Yn,ni._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Jt,t.Modal=ve,t.Popover=sn,t.Scrollspy=Dn,t.Tab=Kn,t.Toast=ni,t.Tooltip=Be,Object.defineProperty(t,"__esModule",{value:!0})});
-//# sourceMappingURL=bootstrap.min.js.map
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js.map b/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js.map
deleted file mode 100644
index 1bcefd0..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/script/js/bootstrap.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/index.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","DATA_API_KEY","Selector","FOCUS_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","hasAttribute","focus","setAttribute","toggleClass","button","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","Direction","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHSTART","TOUCHMOVE","TOUCHEND","POINTERDOWN","POINTERUP","DRAG_START","LOAD_DATA_API","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","window","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","direction","off","_objectSpread","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","querySelectorAll","e","add","tagName","which","slice","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","nextElementInterval","parseInt","defaultInterval","action","TypeError","ride","_dataApiClickHandler","slideIndex","carousels","i","len","$carousel","SHOW","SHOWN","HIDE","HIDDEN","Dimension","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","getBoundingClientRect","triggerArrayLength","isTransitioning","jquery","_getTargetFromElement","triggerArray","isOpen","$this","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","CLICK","KEYDOWN_DATA_API","KEYUP_DATA_API","AttachmentMap","offset","flip","boundary","reference","display","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","_getParentFromElement","isActive","_clearMenus","showEvent","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","popperConfig","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","backdrop","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","has","_this5","_this6","_this7","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this8","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","isModalOverflowing","scrollHeight","clientHeight","paddingLeft","paddingRight","rect","left","right","innerWidth","_getScrollbarWidth","_this9","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this10","uriAttrs","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","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","l","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","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","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","content","text","empty","append","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","popperInstance","instance","popper","initConfigAnimation","Popover","_getContent","method","ACTIVATE","SCROLL","OffsetMethod","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","item","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","autohide","Toast","withoutTimeout","_close","version"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n  return {\n    bindType: TRANSITION_END,\n    delegateType: TRANSITION_END,\n    handle(event) {\n      if ($(event.target).is(this)) {\n        return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n      }\n      return undefined // eslint-disable-line no-undefined\n    }\n  }\n}\n\nfunction transitionEndEmulator(duration) {\n  let called = false\n\n  $(this).one(Util.TRANSITION_END, () => {\n    called = true\n  })\n\n  setTimeout(() => {\n    if (!called) {\n      Util.triggerTransitionEnd(this)\n    }\n  }, duration)\n\n  return this\n}\n\nfunction setTransitionEndSupport() {\n  $.fn.emulateTransitionEnd = transitionEndEmulator\n  $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n  TRANSITION_END: 'bsTransitionEnd',\n\n  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    return prefix\n  },\n\n  getSelectorFromElement(element) {\n    let selector = element.getAttribute('data-target')\n\n    if (!selector || selector === '#') {\n      const hrefAttr = element.getAttribute('href')\n      selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n    }\n\n    try {\n      return document.querySelector(selector) ? selector : null\n    } catch (err) {\n      return null\n    }\n  },\n\n  getTransitionDurationFromElement(element) {\n    if (!element) {\n      return 0\n    }\n\n    // Get transition-duration of the element\n    let transitionDuration = $(element).css('transition-duration')\n    let transitionDelay = $(element).css('transition-delay')\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\n  reflow(element) {\n    return element.offsetHeight\n  },\n\n  triggerTransitionEnd(element) {\n    $(element).trigger(TRANSITION_END)\n  },\n\n  // TODO: Remove in v5\n  supportsTransitionEnd() {\n    return Boolean(TRANSITION_END)\n  },\n\n  isElement(obj) {\n    return (obj[0] || obj).nodeType\n  },\n\n  typeCheckConfig(componentName, config, configTypes) {\n    for (const property in configTypes) {\n      if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n        const expectedTypes = configTypes[property]\n        const value         = config[property]\n        const valueType     = value && Util.isElement(value)\n          ? 'element' : 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  },\n\n  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 Util.findShadowRoot(element.parentNode)\n  }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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\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.isDefaultPrevented()) {\n      return\n    }\n\n    this._removeElement(rootElement)\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n  }\n\n  // Private\n\n  _getRootElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    let parent     = false\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    if (!parent) {\n      parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n    }\n\n    return parent\n  }\n\n  _triggerCloseEvent(element) {\n    const closeEvent = $.Event(Event.CLOSE)\n\n    $(element).trigger(closeEvent)\n    return closeEvent\n  }\n\n  _removeElement(element) {\n    $(element).removeClass(ClassName.SHOW)\n\n    if (!$(element).hasClass(ClassName.FADE)) {\n      this._destroyElement(element)\n      return\n    }\n\n    const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n    $(element)\n      .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  _destroyElement(element) {\n    $(element)\n      .detach()\n      .trigger(Event.CLOSED)\n      .remove()\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n\n      if (!data) {\n        data = new Alert(this)\n        $element.data(DATA_KEY, data)\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n  Event.CLICK_DATA_API,\n  Selector.DISMISS,\n  Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n                          `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  }\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    const rootElement = $(this._element).closest(\n      Selector.DATA_TOGGLE\n    )[0]\n\n    if (rootElement) {\n      const input = this._element.querySelector(Selector.INPUT)\n\n      if (input) {\n        if (input.type === 'radio') {\n          if (input.checked &&\n            this._element.classList.contains(ClassName.ACTIVE)) {\n            triggerChangeEvent = false\n          } else {\n            const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n            if (activeElement) {\n              $(activeElement).removeClass(ClassName.ACTIVE)\n            }\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          input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n          $(input).trigger('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).toggleClass(ClassName.ACTIVE)\n    }\n  }\n\n  dispose() {\n    $.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 = $(this).data(DATA_KEY)\n\n      if (!data) {\n        data = new Button(this)\n        $(this).data(DATA_KEY, data)\n      }\n\n      if (config === 'toggle') {\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    event.preventDefault()\n\n    let button = event.target\n\n    if (!$(button).hasClass(ClassName.BUTTON)) {\n      button = $(button).closest(Selector.BUTTON)\n    }\n\n    Button._jQueryInterface.call($(button), 'toggle')\n  })\n  .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n    const button = $(event.target).closest(Selector.BUTTON)[0]\n    $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n  $.fn[NAME] = JQUERY_NO_CONFLICT\n  return Button._jQueryInterface\n}\n\nexport default Button\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT     = $.fn[NAME]\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 = this._element.querySelector(Selector.INDICATORS)\n    this._touchSupported    = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n    this._pointerEvent      = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n    this._addEventListeners()\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 &&\n      ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\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 (this._element.querySelector(Selector.NEXT_PREV)) {\n      Util.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.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 = this._element.querySelector(Selector.ACTIVE_ITEM)\n\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      $(this._element).one(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    $(this._element).off(EVENT_KEY)\n    $.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    Util.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    // 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      $(this._element)\n        .on(Event.KEYDOWN, (event) => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      $(this._element)\n        .on(Event.MOUSEENTER, (event) => this.pause(event))\n        .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n    }\n\n    if (this._config.touch) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    if (!this._touchSupported) {\n      return\n    }\n\n    const start = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchStartX = event.originalEvent.clientX\n      } else if (!this._pointerEvent) {\n        this.touchStartX = event.originalEvent.touches[0].clientX\n      }\n    }\n\n    const move = (event) => {\n      // ensure swiping with one touch and not pinching\n      if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n        this.touchDeltaX = 0\n      } else {\n        this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n      }\n    }\n\n    const end = (event) => {\n      if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n        this.touchDeltaX = event.originalEvent.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        this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n      }\n    }\n\n    $(this._element.querySelectorAll(Selector.ITEM_IMG)).on(Event.DRAG_START, (e) => e.preventDefault())\n    if (this._pointerEvent) {\n      $(this._element).on(Event.POINTERDOWN, (event) => start(event))\n      $(this._element).on(Event.POINTERUP, (event) => end(event))\n\n      this._element.classList.add(ClassName.POINTER_EVENT)\n    } else {\n      $(this._element).on(Event.TOUCHSTART, (event) => start(event))\n      $(this._element).on(Event.TOUCHMOVE, (event) => move(event))\n      $(this._element).on(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      ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\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] : this._items[itemIndex]\n  }\n\n  _triggerSlideEvent(relatedTarget, eventDirectionName) {\n    const targetIndex = this._getItemIndex(relatedTarget)\n    const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n    const slideEvent = $.Event(Event.SLIDE, {\n      relatedTarget,\n      direction: eventDirectionName,\n      from: fromIndex,\n      to: targetIndex\n    })\n\n    $(this._element).trigger(slideEvent)\n\n    return slideEvent\n  }\n\n  _setActiveIndicatorElement(element) {\n    if (this._indicatorsElement) {\n      const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n      $(indicators)\n        .removeClass(ClassName.ACTIVE)\n\n      const nextIndicator = this._indicatorsElement.children[\n        this._getItemIndex(element)\n      ]\n\n      if (nextIndicator) {\n        $(nextIndicator).addClass(ClassName.ACTIVE)\n      }\n    }\n  }\n\n  _slide(direction, element) {\n    const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n    const activeElementIndex = this._getItemIndex(activeElement)\n    const nextElement   = element || activeElement &&\n      this._getItemByDirection(direction, activeElement)\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).hasClass(ClassName.ACTIVE)) {\n      this._isSliding = false\n      return\n    }\n\n    const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n    if (slideEvent.isDefaultPrevented()) {\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    const slidEvent = $.Event(Event.SLID, {\n      relatedTarget: nextElement,\n      direction: eventDirectionName,\n      from: activeElementIndex,\n      to: nextElementIndex\n    })\n\n    if ($(this._element).hasClass(ClassName.SLIDE)) {\n      $(nextElement).addClass(orderClassName)\n\n      Util.reflow(nextElement)\n\n      $(activeElement).addClass(directionalClassName)\n      $(nextElement).addClass(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 = Util.getTransitionDurationFromElement(activeElement)\n\n      $(activeElement)\n        .one(Util.TRANSITION_END, () => {\n          $(nextElement)\n            .removeClass(`${directionalClassName} ${orderClassName}`)\n            .addClass(ClassName.ACTIVE)\n\n          $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n          this._isSliding = false\n\n          setTimeout(() => $(this._element).trigger(slidEvent), 0)\n        })\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      $(activeElement).removeClass(ClassName.ACTIVE)\n      $(nextElement).addClass(ClassName.ACTIVE)\n\n      this._isSliding = false\n      $(this._element).trigger(slidEvent)\n    }\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      let _config = {\n        ...Default,\n        ...$(this).data()\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(this, _config)\n        $(this).data(DATA_KEY, data)\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        data[action]()\n      } else if (_config.interval && _config.ride) {\n        data.pause()\n        data.cycle()\n      }\n    })\n  }\n\n  static _dataApiClickHandler(event) {\n    const selector = Util.getSelectorFromElement(this)\n\n    if (!selector) {\n      return\n    }\n\n    const target = $(selector)[0]\n\n    if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n      return\n    }\n\n    const config = {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n    const slideIndex = this.getAttribute('data-slide-to')\n\n    if (slideIndex) {\n      config.interval = false\n    }\n\n    Carousel._jQueryInterface.call($(target), config)\n\n    if (slideIndex) {\n      $(target).data(DATA_KEY).to(slideIndex)\n    }\n\n    event.preventDefault()\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n  for (let i = 0, len = carousels.length; i < len; i++) {\n    const $carousel = $(carousels[i])\n    Carousel._jQueryInterface.call($carousel, $carousel.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT  = $.fn[NAME]\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    = [].slice.call(document.querySelectorAll(\n      `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n      `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n    ))\n\n    const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n    for (let i = 0, len = toggleList.length; i < len; i++) {\n      const elem = toggleList[i]\n      const selector = Util.getSelectorFromElement(elem)\n      const filterElement = [].slice.call(document.querySelectorAll(selector))\n        .filter((foundElem) => foundElem === element)\n\n      if (selector !== null && filterElement.length > 0) {\n        this._selector = selector\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._parent = this._config.parent ? this._getParent() : null\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get Default() {\n    return Default\n  }\n\n  // Public\n\n  toggle() {\n    if ($(this._element).hasClass(ClassName.SHOW)) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning ||\n      $(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    let actives\n    let activesData\n\n    if (this._parent) {\n      actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\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    if (actives) {\n      activesData = $(actives).not(this._selector).data(DATA_KEY)\n      if (activesData && activesData._isTransitioning) {\n        return\n      }\n    }\n\n    const startEvent = $.Event(Event.SHOW)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (actives) {\n      Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n      if (!activesData) {\n        $(actives).data(DATA_KEY, null)\n      }\n    }\n\n    const dimension = this._getDimension()\n\n    $(this._element)\n      .removeClass(ClassName.COLLAPSE)\n      .addClass(ClassName.COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    if (this._triggerArray.length) {\n      $(this._triggerArray)\n        .removeClass(ClassName.COLLAPSED)\n        .attr('aria-expanded', true)\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .addClass(ClassName.SHOW)\n\n      this._element.style[dimension] = ''\n\n      this.setTransitioning(false)\n\n      $(this._element).trigger(Event.SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning ||\n      !$(this._element).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const startEvent = $.Event(Event.HIDE)\n    $(this._element).trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    Util.reflow(this._element)\n\n    $(this._element)\n      .addClass(ClassName.COLLAPSING)\n      .removeClass(ClassName.COLLAPSE)\n      .removeClass(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 selector = Util.getSelectorFromElement(trigger)\n\n        if (selector !== null) {\n          const $elem = $([].slice.call(document.querySelectorAll(selector)))\n          if (!$elem.hasClass(ClassName.SHOW)) {\n            $(trigger).addClass(ClassName.COLLAPSED)\n              .attr('aria-expanded', false)\n          }\n        }\n      }\n    }\n\n    this.setTransitioning(true)\n\n    const complete = () => {\n      this.setTransitioning(false)\n      $(this._element)\n        .removeClass(ClassName.COLLAPSING)\n        .addClass(ClassName.COLLAPSE)\n        .trigger(Event.HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n    const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n    $(this._element)\n      .one(Util.TRANSITION_END, complete)\n      .emulateTransitionEnd(transitionDuration)\n  }\n\n  setTransitioning(isTransitioning) {\n    this._isTransitioning = isTransitioning\n  }\n\n  dispose() {\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _getDimension() {\n    const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n    return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n  }\n\n  _getParent() {\n    let parent\n\n    if (Util.isElement(this._config.parent)) {\n      parent = this._config.parent\n\n      // It's a jQuery object\n      if (typeof this._config.parent.jquery !== 'undefined') {\n        parent = this._config.parent[0]\n      }\n    } else {\n      parent = document.querySelector(this._config.parent)\n    }\n\n    const selector =\n      `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n    const children = [].slice.call(parent.querySelectorAll(selector))\n    $(children).each((i, element) => {\n      this._addAriaAndCollapsedClass(\n        Collapse._getTargetFromElement(element),\n        [element]\n      )\n    })\n\n    return parent\n  }\n\n  _addAriaAndCollapsedClass(element, triggerArray) {\n    const isOpen = $(element).hasClass(ClassName.SHOW)\n\n    if (triggerArray.length) {\n      $(triggerArray)\n        .toggleClass(ClassName.COLLAPSED, !isOpen)\n        .attr('aria-expanded', isOpen)\n    }\n  }\n\n  // Static\n\n  static _getTargetFromElement(element) {\n    const selector = Util.getSelectorFromElement(element)\n    return selector ? document.querySelector(selector) : null\n  }\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $this   = $(this)\n      let data      = $this.data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$this.data(),\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(this, _config)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(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.currentTarget.tagName === 'A') {\n    event.preventDefault()\n  }\n\n  const $trigger = $(this)\n  const selector = Util.getSelectorFromElement(this)\n  const selectors = [].slice.call(document.querySelectorAll(selector))\n\n  $(selectors).each(function () {\n    const $target = $(this)\n    const data    = $target.data(DATA_KEY)\n    const config  = data ? 'toggle' : $trigger.data()\n    Collapse._jQueryInterface.call($target, config)\n  })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT       = $.fn[NAME]\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  MENULEFT        : 'dropdown-menu-left',\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}\n\nconst DefaultType = {\n  offset    : '(number|string|function)',\n  flip      : 'boolean',\n  boundary  : '(string|element)',\n  reference : '(string|element)',\n  display   : 'string'\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  }\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).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this._element)\n    const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n    Dropdown._clearMenus()\n\n    if (isActive) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    // Disable totally Popper.js for Dropdown in Navbar\n    if (!this._inNavbar) {\n      /**\n       * Check for Popper dependency\n       * Popper - https://popper.js.org\n       */\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 (Util.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).addClass(ClassName.POSITION_STATIC)\n      }\n      this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n    }\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement &&\n        $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n      $(document.body).children().on('mouseover', null, $.noop)\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', true)\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  show() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || $(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const showEvent = $.Event(Event.SHOW, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.SHOWN, relatedTarget))\n  }\n\n  hide() {\n    if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED) || !$(this._menu).hasClass(ClassName.SHOW)) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n    const hideEvent = $.Event(Event.HIDE, relatedTarget)\n    const parent = Dropdown._getParentFromElement(this._element)\n\n    $(parent).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(this._menu).toggleClass(ClassName.SHOW)\n    $(parent)\n      .toggleClass(ClassName.SHOW)\n      .trigger($.Event(Event.HIDDEN, relatedTarget))\n  }\n\n  dispose() {\n    $.removeData(this._element, DATA_KEY)\n    $(this._element).off(EVENT_KEY)\n    this._element = null\n    this._menu = null\n    if (this._popper !== null) {\n      this._popper.destroy()\n      this._popper = null\n    }\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Private\n\n  _addEventListeners() {\n    $(this._element).on(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      ...$(this._element).data(),\n      ...config\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _getMenuElement() {\n    if (!this._menu) {\n      const parent = Dropdown._getParentFromElement(this._element)\n\n      if (parent) {\n        this._menu = parent.querySelector(Selector.MENU)\n      }\n    }\n    return this._menu\n  }\n\n  _getPlacement() {\n    const $parentDropdown = $(this._element.parentNode)\n    let placement = AttachmentMap.BOTTOM\n\n    // Handle dropup\n    if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n      placement = AttachmentMap.TOP\n      if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n        placement = AttachmentMap.TOPEND\n      }\n    } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n      placement = AttachmentMap.RIGHT\n    } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n      placement = AttachmentMap.LEFT\n    } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n      placement = AttachmentMap.BOTTOMEND\n    }\n    return placement\n  }\n\n  _detectNavbar() {\n    return $(this._element).closest('.navbar').length > 0\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 popperConfig\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' ? config : null\n\n      if (!data) {\n        data = new Dropdown(this, _config)\n        $(this).data(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        data[config]()\n      }\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 = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n\n    for (let i = 0, len = toggles.length; i < len; i++) {\n      const parent = Dropdown._getParentFromElement(toggles[i])\n      const context = $(toggles[i]).data(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).hasClass(ClassName.SHOW)) {\n        continue\n      }\n\n      if (event && (event.type === 'click' &&\n          /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n          $.contains(parent, event.target)) {\n        continue\n      }\n\n      const hideEvent = $.Event(Event.HIDE, relatedTarget)\n      $(parent).trigger(hideEvent)\n      if (hideEvent.isDefaultPrevented()) {\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        $(document.body).children().off('mouseover', null, $.noop)\n      }\n\n      toggles[i].setAttribute('aria-expanded', 'false')\n\n      $(dropdownMenu).removeClass(ClassName.SHOW)\n      $(parent)\n        .removeClass(ClassName.SHOW)\n        .trigger($.Event(Event.HIDDEN, relatedTarget))\n    }\n  }\n\n  static _getParentFromElement(element) {\n    let parent\n    const selector = Util.getSelectorFromElement(element)\n\n    if (selector) {\n      parent = document.querySelector(selector)\n    }\n\n    return parent || element.parentNode\n  }\n\n  // eslint-disable-next-line complexity\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        $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    const parent   = Dropdown._getParentFromElement(this)\n    const isActive = $(parent).hasClass(ClassName.SHOW)\n\n    if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n      if (event.which === ESCAPE_KEYCODE) {\n        const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n        $(toggle).trigger('focus')\n      }\n\n      $(this).trigger('click')\n      return\n    }\n\n    const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n    if (items.length === 0) {\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\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n  .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n  .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    event.stopPropagation()\n    Dropdown._jQueryInterface.call($(this), 'toggle')\n  })\n  .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n    e.stopPropagation()\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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 $ from 'jquery'\nimport Util from './util'\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 JQUERY_NO_CONFLICT = $.fn[NAME]\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              = element.querySelector(Selector.DIALOG)\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  }\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).hasClass(ClassName.FADE)) {\n      this._isTransitioning = true\n    }\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget\n    })\n\n    $(this._element).trigger(showEvent)\n\n    if (this._isShown || showEvent.isDefaultPrevented()) {\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    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      (event) => this.hide(event)\n    )\n\n    $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n      $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n        if ($(event.target).is(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 = $.Event(Event.HIDE)\n\n    $(this._element).trigger(hideEvent)\n\n    if (!this._isShown || hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    this._isShown = false\n    const transition = $(this._element).hasClass(ClassName.FADE)\n\n    if (transition) {\n      this._isTransitioning = true\n    }\n\n    this._setEscapeEvent()\n    this._setResizeEvent()\n\n    $(document).off(Event.FOCUSIN)\n\n    $(this._element).removeClass(ClassName.SHOW)\n\n    $(this._element).off(Event.CLICK_DISMISS)\n    $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      this._hideModal()\n    }\n  }\n\n  dispose() {\n    [window, this._element, this._dialog]\n      .forEach((htmlElement) => $(htmlElement).off(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    $(document).off(Event.FOCUSIN)\n\n    $.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    Util.typeCheckConfig(NAME, config, DefaultType)\n    return config\n  }\n\n  _showElement(relatedTarget) {\n    const transition = $(this._element).hasClass(ClassName.FADE)\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).hasClass(ClassName.SCROLLABLE)) {\n      this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0\n    } else {\n      this._element.scrollTop = 0\n    }\n\n    if (transition) {\n      Util.reflow(this._element)\n    }\n\n    $(this._element).addClass(ClassName.SHOW)\n\n    if (this._config.focus) {\n      this._enforceFocus()\n    }\n\n    const shownEvent = $.Event(Event.SHOWN, {\n      relatedTarget\n    })\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._element.focus()\n      }\n      this._isTransitioning = false\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (transition) {\n      const transitionDuration  = Util.getTransitionDurationFromElement(this._dialog)\n\n      $(this._dialog)\n        .one(Util.TRANSITION_END, transitionComplete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      transitionComplete()\n    }\n  }\n\n  _enforceFocus() {\n    $(document)\n      .off(Event.FOCUSIN) // Guard against infinite focus loop\n      .on(Event.FOCUSIN, (event) => {\n        if (document !== event.target &&\n            this._element !== event.target &&\n            $(this._element).has(event.target).length === 0) {\n          this._element.focus()\n        }\n      })\n  }\n\n  _setEscapeEvent() {\n    if (this._isShown && this._config.keyboard) {\n      $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n        if (event.which === ESCAPE_KEYCODE) {\n          event.preventDefault()\n          this.hide()\n        }\n      })\n    } else if (!this._isShown) {\n      $(this._element).off(Event.KEYDOWN_DISMISS)\n    }\n  }\n\n  _setResizeEvent() {\n    if (this._isShown) {\n      $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n    } else {\n      $(window).off(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).removeClass(ClassName.OPEN)\n      this._resetAdjustments()\n      this._resetScrollbar()\n      $(this._element).trigger(Event.HIDDEN)\n    })\n  }\n\n  _removeBackdrop() {\n    if (this._backdrop) {\n      $(this._backdrop).remove()\n      this._backdrop = null\n    }\n  }\n\n  _showBackdrop(callback) {\n    const animate = $(this._element).hasClass(ClassName.FADE)\n      ? ClassName.FADE : ''\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      $(this._backdrop).appendTo(document.body)\n\n      $(this._element).on(Event.CLICK_DISMISS, (event) => {\n        if (this._ignoreBackdropClick) {\n          this._ignoreBackdropClick = false\n          return\n        }\n        if (event.target !== event.currentTarget) {\n          return\n        }\n        if (this._config.backdrop === 'static') {\n          this._element.focus()\n        } else {\n          this.hide()\n        }\n      })\n\n      if (animate) {\n        Util.reflow(this._backdrop)\n      }\n\n      $(this._backdrop).addClass(ClassName.SHOW)\n\n      if (!callback) {\n        return\n      }\n\n      if (!animate) {\n        callback()\n        return\n      }\n\n      const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n      $(this._backdrop)\n        .one(Util.TRANSITION_END, callback)\n        .emulateTransitionEnd(backdropTransitionDuration)\n    } else if (!this._isShown && this._backdrop) {\n      $(this._backdrop).removeClass(ClassName.SHOW)\n\n      const callbackRemove = () => {\n        this._removeBackdrop()\n        if (callback) {\n          callback()\n        }\n      }\n\n      if ($(this._element).hasClass(ClassName.FADE)) {\n        const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n        $(this._backdrop)\n          .one(Util.TRANSITION_END, callbackRemove)\n          .emulateTransitionEnd(backdropTransitionDuration)\n      } else {\n        callbackRemove()\n      }\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // ----------------------------------------------------------------------\n  // the following methods are used to handle overflowing modals\n  // todo (fat): these should probably be refactored out of modal.js\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      const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n      const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n      // Adjust fixed content padding\n      $(fixedContent).each((index, element) => {\n        const actualPadding = element.style.paddingRight\n        const calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n      })\n\n      // Adjust sticky content margin\n      $(stickyContent).each((index, element) => {\n        const actualMargin = element.style.marginRight\n        const calculatedMargin = $(element).css('margin-right')\n        $(element)\n          .data('margin-right', actualMargin)\n          .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n      })\n\n      // Adjust body padding\n      const actualPadding = document.body.style.paddingRight\n      const calculatedPadding = $(document.body).css('padding-right')\n      $(document.body)\n        .data('padding-right', actualPadding)\n        .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n    }\n\n    $(document.body).addClass(ClassName.OPEN)\n  }\n\n  _resetScrollbar() {\n    // Restore fixed content padding\n    const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n    $(fixedContent).each((index, element) => {\n      const padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n\n    // Restore sticky content\n    const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n    $(elements).each((index, element) => {\n      const margin = $(element).data('margin-right')\n      if (typeof margin !== 'undefined') {\n        $(element).css('margin-right', margin).removeData('margin-right')\n      }\n    })\n\n    // Restore body padding\n    const padding = $(document.body).data('padding-right')\n    $(document.body).removeData('padding-right')\n    document.body.style.paddingRight = padding ? padding : ''\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 = $(this).data(DATA_KEY)\n      const _config = {\n        ...Default,\n        ...$(this).data(),\n        ...typeof config === 'object' && config ? config : {}\n      }\n\n      if (!data) {\n        data = new Modal(this, _config)\n        $(this).data(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        data[config](relatedTarget)\n      } else if (_config.show) {\n        data.show(relatedTarget)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n  let target\n  const selector = Util.getSelectorFromElement(this)\n\n  if (selector) {\n    target = document.querySelector(selector)\n  }\n\n  const config = $(target).data(DATA_KEY)\n    ? 'toggle' : {\n      ...$(target).data(),\n      ...$(this).data()\n    }\n\n  if (this.tagName === 'A' || this.tagName === 'AREA') {\n    event.preventDefault()\n  }\n\n  const $target = $(target).one(Event.SHOW, (showEvent) => {\n    if (showEvent.isDefaultPrevented()) {\n      // Only register focus restorer if modal will actually get shown\n      return\n    }\n\n    $target.one(Event.HIDDEN, () => {\n      if ($(this).is(':visible')) {\n        this.focus()\n      }\n    })\n  })\n\n  Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\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\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\nfunction 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 function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n  if (unsafeHtml.length === 0) {\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 = [].slice.call(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(el.nodeName.toLowerCase()) === -1) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].slice.call(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  DefaultWhitelist,\n  sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\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 JQUERY_NO_CONFLICT    = $.fn[NAME]\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}\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=\"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}\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       : '.tooltip',\n  TOOLTIP_INNER : '.tooltip-inner',\n  ARROW         : '.arrow'\n}\n\nconst Trigger = {\n  HOVER  : 'hover',\n  FOCUS  : 'focus',\n  CLICK  : 'click',\n  MANUAL : 'manual'\n}\n\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n  constructor(element, config) {\n    /**\n     * Check for Popper dependency\n     * Popper - https://popper.js.org\n     */\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  }\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 = $(event.currentTarget).data(dataKey)\n\n      if (!context) {\n        context = new this.constructor(\n          event.currentTarget,\n          this._getDelegateConfig()\n        )\n        $(event.currentTarget).data(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()).hasClass(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    $.removeData(this.element, this.constructor.DATA_KEY)\n\n    $(this.element).off(this.constructor.EVENT_KEY)\n    $(this.element).closest('.modal').off('hide.bs.modal')\n\n    if (this.tip) {\n      $(this.tip).remove()\n    }\n\n    this._isEnabled     = null\n    this._timeout       = null\n    this._hoverState    = null\n    this._activeTrigger = null\n    if (this._popper !== null) {\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).css('display') === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    const showEvent = $.Event(this.constructor.Event.SHOW)\n    if (this.isWithContent() && this._isEnabled) {\n      $(this.element).trigger(showEvent)\n\n      const shadowRoot = Util.findShadowRoot(this.element)\n      const isInTheDom = $.contains(\n        shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n        this.element\n      )\n\n      if (showEvent.isDefaultPrevented() || !isInTheDom) {\n        return\n      }\n\n      const tip   = this.getTipElement()\n      const tipId = Util.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).addClass(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      $(tip).data(this.constructor.DATA_KEY, this)\n\n      if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n        $(tip).appendTo(container)\n      }\n\n      $(this.element).trigger(this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this.element, tip, {\n        placement: attachment,\n        modifiers: {\n          offset: this._getOffset(),\n          flip: {\n            behavior: this.config.fallbackPlacement\n          },\n          arrow: {\n            element: Selector.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      $(tip).addClass(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        $(document.body).children().on('mouseover', null, $.noop)\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n        const prevHoverState = this._hoverState\n        this._hoverState     = null\n\n        $(this.element).trigger(this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HoverState.OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if ($(this.tip).hasClass(ClassName.FADE)) {\n        const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n        $(this.tip)\n          .one(Util.TRANSITION_END, complete)\n          .emulateTransitionEnd(transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide(callback) {\n    const tip       = this.getTipElement()\n    const hideEvent = $.Event(this.constructor.Event.HIDE)\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      $(this.element).trigger(this.constructor.Event.HIDDEN)\n      if (this._popper !== null) {\n        this._popper.destroy()\n      }\n\n      if (callback) {\n        callback()\n      }\n    }\n\n    $(this.element).trigger(hideEvent)\n\n    if (hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    $(tip).removeClass(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      $(document.body).children().off('mouseover', null, $.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).hasClass(ClassName.FADE)) {\n      const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n      $(tip)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n    $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n  }\n\n  setElementContent($element, content) {\n    if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n      // Content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (!$(content).parent().is($element)) {\n          $element.empty().append(content)\n        }\n      } else {\n        $element.text($(content).text())\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.html(content)\n    } else {\n      $element.text(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  _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 (Util.isElement(this.config.container)) {\n      return $(this.config.container)\n    }\n\n    return $(document).find(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        $(this.element).on(\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        $(this.element)\n          .on(\n            eventIn,\n            this.config.selector,\n            (event) => this._enter(event)\n          )\n          .on(\n            eventOut,\n            this.config.selector,\n            (event) => this._leave(event)\n          )\n      }\n    })\n\n    $(this.element).closest('.modal').on(\n      'hide.bs.modal',\n      () => {\n        if (this.element) {\n          this.hide()\n        }\n      }\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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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()).hasClass(ClassName.SHOW) || 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 || $(event.currentTarget).data(dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.currentTarget,\n        this._getDelegateConfig()\n      )\n      $(event.currentTarget).data(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 = $(this.element).data()\n\n    Object.keys(dataAttributes)\n      .forEach((dataAttr) => {\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n          delete dataAttributes[dataAttr]\n        }\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    Util.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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length) {\n      $tip.removeClass(tabClass.join(''))\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\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    $(tip).removeClass(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 = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\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 JQUERY_NO_CONFLICT  = $.fn[NAME]\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=\"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  addAttachmentClass(attachment) {\n    $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n  }\n\n  getTipElement() {\n    this.tip = this.tip || $(this.config.template)[0]\n    return this.tip\n  }\n\n  setContent() {\n    const $tip = $(this.getTipElement())\n\n    // We use append for html objects to maintain js events\n    this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n    let content = this._getContent()\n    if (typeof content === 'function') {\n      content = content.call(this.element)\n    }\n    this.setElementContent($tip.find(Selector.CONTENT), content)\n\n    $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\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.attr('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      $tip.removeClass(tabClass.join(''))\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      let data = $(this).data(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        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  DROPDOWN_MENU : 'dropdown-menu',\n  ACTIVE        : 'active'\n}\n\nconst Selector = {\n  DATA_SPY        : '[data-spy=\"scroll\"]',\n  ACTIVE          : '.active',\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_ITEMS  : '.dropdown-item',\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} ${Selector.DROPDOWN_ITEMS}`\n    this._offsets       = []\n    this._targets       = []\n    this._activeTarget  = null\n    this._scrollHeight  = 0\n\n    $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n    this.refresh()\n    this._process()\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 : OffsetMethod.POSITION\n\n    const offsetMethod = this._config.method === 'auto'\n      ? autoMethod : this._config.method\n\n    const offsetBase = offsetMethod === OffsetMethod.POSITION\n      ? this._getScrollTop() : 0\n\n    this._offsets = []\n    this._targets = []\n\n    this._scrollHeight = this._getScrollHeight()\n\n    const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n    targets\n      .map((element) => {\n        let target\n        const targetSelector = Util.getSelectorFromElement(element)\n\n        if (targetSelector) {\n          target = document.querySelector(targetSelector)\n        }\n\n        if (target) {\n          const targetBCR = target.getBoundingClientRect()\n          if (targetBCR.width || targetBCR.height) {\n            // TODO (fat): remove sketch reliance on jQuery position/offset\n            return [\n              $(target)[offsetMethod]().top + offsetBase,\n              targetSelector\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    $.removeData(this._element, DATA_KEY)\n    $(this._scrollElement).off(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).attr('id')\n      if (!id) {\n        id = Util.getUID(NAME)\n        $(config.target).attr('id', id)\n      }\n      config.target = `#${id}`\n    }\n\n    Util.typeCheckConfig(NAME, config, DefaultType)\n\n    return config\n  }\n\n  _getScrollTop() {\n    return this._scrollElement === window\n      ? this._scrollElement.pageYOffset : 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 : 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      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\n      .split(',')\n      .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n    const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n    if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n      $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n      $link.addClass(ClassName.ACTIVE)\n    } else {\n      // Set triggered link as active\n      $link.addClass(ClassName.ACTIVE)\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      $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n      // Handle special case when .nav-link is inside .nav-item\n      $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE)\n    }\n\n    $(this._scrollElement).trigger(Event.ACTIVATE, {\n      relatedTarget: target\n    })\n  }\n\n  _clear() {\n    [].slice.call(document.querySelectorAll(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 = $(this).data(DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data) {\n        data = new ScrollSpy(this, _config)\n        $(this).data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(window).on(Event.LOAD_DATA_API, () => {\n  const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))\n  const scrollSpysLength = scrollSpys.length\n\n  for (let i = scrollSpysLength; i--;) {\n    const $spy = $(scrollSpys[i])\n    ScrollSpy._jQueryInterface.call($spy, $spy.data())\n  }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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             : '> li > .active',\n  DATA_TOGGLE           : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n  DROPDOWN_TOGGLE       : '.dropdown-toggle',\n  DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tab {\n  constructor(element) {\n    this._element = element\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).hasClass(ClassName.ACTIVE) ||\n        $(this._element).hasClass(ClassName.DISABLED)) {\n      return\n    }\n\n    let target\n    let previous\n    const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n    const selector = Util.getSelectorFromElement(this._element)\n\n    if (listElement) {\n      const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector.ACTIVE_UL : Selector.ACTIVE\n      previous = $.makeArray($(listElement).find(itemSelector))\n      previous = previous[previous.length - 1]\n    }\n\n    const hideEvent = $.Event(Event.HIDE, {\n      relatedTarget: this._element\n    })\n\n    const showEvent = $.Event(Event.SHOW, {\n      relatedTarget: previous\n    })\n\n    if (previous) {\n      $(previous).trigger(hideEvent)\n    }\n\n    $(this._element).trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() ||\n        hideEvent.isDefaultPrevented()) {\n      return\n    }\n\n    if (selector) {\n      target = document.querySelector(selector)\n    }\n\n    this._activate(\n      this._element,\n      listElement\n    )\n\n    const complete = () => {\n      const hiddenEvent = $.Event(Event.HIDDEN, {\n        relatedTarget: this._element\n      })\n\n      const shownEvent = $.Event(Event.SHOWN, {\n        relatedTarget: previous\n      })\n\n      $(previous).trigger(hiddenEvent)\n      $(this._element).trigger(shownEvent)\n    }\n\n    if (target) {\n      this._activate(target, target.parentNode, complete)\n    } else {\n      complete()\n    }\n  }\n\n  dispose() {\n    $.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      ? $(container).find(Selector.ACTIVE_UL)\n      : $(container).children(Selector.ACTIVE)\n\n    const active = activeElements[0]\n    const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))\n    const complete = () => this._transitionComplete(\n      element,\n      active,\n      callback\n    )\n\n    if (active && isTransitioning) {\n      const transitionDuration = Util.getTransitionDurationFromElement(active)\n\n      $(active)\n        .removeClass(ClassName.SHOW)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  _transitionComplete(element, active, callback) {\n    if (active) {\n      $(active).removeClass(ClassName.ACTIVE)\n\n      const dropdownChild = $(active.parentNode).find(\n        Selector.DROPDOWN_ACTIVE_CHILD\n      )[0]\n\n      if (dropdownChild) {\n        $(dropdownChild).removeClass(ClassName.ACTIVE)\n      }\n\n      if (active.getAttribute('role') === 'tab') {\n        active.setAttribute('aria-selected', false)\n      }\n    }\n\n    $(element).addClass(ClassName.ACTIVE)\n    if (element.getAttribute('role') === 'tab') {\n      element.setAttribute('aria-selected', true)\n    }\n\n    Util.reflow(element)\n\n    if (element.classList.contains(ClassName.FADE)) {\n      element.classList.add(ClassName.SHOW)\n    }\n\n    if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n      const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n\n      if (dropdownElement) {\n        const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))\n\n        $(dropdownToggleList).addClass(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 $this = $(this)\n      let data = $this.data(DATA_KEY)\n\n      if (!data) {\n        data = new Tab(this)\n        $this.data(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        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n  .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n    event.preventDefault()\n    Tab._jQueryInterface.call($(this), 'show')\n  })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\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 $ from 'jquery'\nimport Util from './util'\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}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\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  }\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    $(this._element).trigger(Event.SHOW)\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      $(this._element).trigger(Event.SHOWN)\n\n      if (this._config.autohide) {\n        this.hide()\n      }\n    }\n\n    this._element.classList.remove(ClassName.HIDE)\n    this._element.classList.add(ClassName.SHOWING)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  hide(withoutTimeout) {\n    if (!this._element.classList.contains(ClassName.SHOW)) {\n      return\n    }\n\n    $(this._element).trigger(Event.HIDE)\n\n    if (withoutTimeout) {\n      this._close()\n    } else {\n      this._timeout = setTimeout(() => {\n        this._close()\n      }, this._config.delay)\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    $(this._element).off(Event.CLICK_DISMISS)\n\n    $.removeData(this._element, DATA_KEY)\n    this._element = null\n    this._config  = null\n  }\n\n  // Private\n\n  _getConfig(config) {\n    config = {\n      ...Default,\n      ...$(this._element).data(),\n      ...typeof config === 'object' && config ? config : {}\n    }\n\n    Util.typeCheckConfig(\n      NAME,\n      config,\n      this.constructor.DefaultType\n    )\n\n    return config\n  }\n\n  _setListeners() {\n    $(this._element).on(\n      Event.CLICK_DISMISS,\n      Selector.DATA_DISMISS,\n      () => this.hide(true)\n    )\n  }\n\n  _close() {\n    const complete = () => {\n      this._element.classList.add(ClassName.HIDE)\n      $(this._element).trigger(Event.HIDDEN)\n    }\n\n    this._element.classList.remove(ClassName.SHOW)\n    if (this._config.animation) {\n      const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n      $(this._element)\n        .one(Util.TRANSITION_END, complete)\n        .emulateTransitionEnd(transitionDuration)\n    } else {\n      complete()\n    }\n  }\n\n  // Static\n\n  static _jQueryInterface(config) {\n    return this.each(function () {\n      const $element = $(this)\n      let data       = $element.data(DATA_KEY)\n      const _config  = typeof config === 'object' && config\n\n      if (!data) {\n        data = new Toast(this, _config)\n        $element.data(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](this)\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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\nexport default Toast\n","import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Toast from './toast'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(() => {\n  if (typeof $ === 'undefined') {\n    throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n  }\n\n  const version = $.fn.jquery.split(' ')[0].split('.')\n  const minMajor = 1\n  const ltMajor = 2\n  const minMinor = 9\n  const minPatch = 1\n  const maxMajor = 4\n\n  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n    throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n  }\n})()\n\nexport {\n  Util,\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/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css
deleted file mode 100644
index 68b84f8..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css
+++ /dev/null
@@ -1,3719 +0,0 @@
-/*!
- * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-html {
-  box-sizing: border-box;
-  -ms-overflow-style: scrollbar;
-}
-
-*,
-*::before,
-*::after {
-  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 {
-  width: 100%;
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-
-.row {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  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-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
-.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,
-.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,
-.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,
-.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,
-.col-xl-auto {
-  position: relative;
-  width: 100%;
-  padding-right: 15px;
-  padding-left: 15px;
-}
-
-.col {
-  -ms-flex-preferred-size: 0;
-  flex-basis: 0;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  max-width: 100%;
-}
-
-.col-auto {
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  width: auto;
-  max-width: 100%;
-}
-
-.col-1 {
-  -ms-flex: 0 0 8.333333%;
-  flex: 0 0 8.333333%;
-  max-width: 8.333333%;
-}
-
-.col-2 {
-  -ms-flex: 0 0 16.666667%;
-  flex: 0 0 16.666667%;
-  max-width: 16.666667%;
-}
-
-.col-3 {
-  -ms-flex: 0 0 25%;
-  flex: 0 0 25%;
-  max-width: 25%;
-}
-
-.col-4 {
-  -ms-flex: 0 0 33.333333%;
-  flex: 0 0 33.333333%;
-  max-width: 33.333333%;
-}
-
-.col-5 {
-  -ms-flex: 0 0 41.666667%;
-  flex: 0 0 41.666667%;
-  max-width: 41.666667%;
-}
-
-.col-6 {
-  -ms-flex: 0 0 50%;
-  flex: 0 0 50%;
-  max-width: 50%;
-}
-
-.col-7 {
-  -ms-flex: 0 0 58.333333%;
-  flex: 0 0 58.333333%;
-  max-width: 58.333333%;
-}
-
-.col-8 {
-  -ms-flex: 0 0 66.666667%;
-  flex: 0 0 66.666667%;
-  max-width: 66.666667%;
-}
-
-.col-9 {
-  -ms-flex: 0 0 75%;
-  flex: 0 0 75%;
-  max-width: 75%;
-}
-
-.col-10 {
-  -ms-flex: 0 0 83.333333%;
-  flex: 0 0 83.333333%;
-  max-width: 83.333333%;
-}
-
-.col-11 {
-  -ms-flex: 0 0 91.666667%;
-  flex: 0 0 91.666667%;
-  max-width: 91.666667%;
-}
-
-.col-12 {
-  -ms-flex: 0 0 100%;
-  flex: 0 0 100%;
-  max-width: 100%;
-}
-
-.order-first {
-  -ms-flex-order: -1;
-  order: -1;
-}
-
-.order-last {
-  -ms-flex-order: 13;
-  order: 13;
-}
-
-.order-0 {
-  -ms-flex-order: 0;
-  order: 0;
-}
-
-.order-1 {
-  -ms-flex-order: 1;
-  order: 1;
-}
-
-.order-2 {
-  -ms-flex-order: 2;
-  order: 2;
-}
-
-.order-3 {
-  -ms-flex-order: 3;
-  order: 3;
-}
-
-.order-4 {
-  -ms-flex-order: 4;
-  order: 4;
-}
-
-.order-5 {
-  -ms-flex-order: 5;
-  order: 5;
-}
-
-.order-6 {
-  -ms-flex-order: 6;
-  order: 6;
-}
-
-.order-7 {
-  -ms-flex-order: 7;
-  order: 7;
-}
-
-.order-8 {
-  -ms-flex-order: 8;
-  order: 8;
-}
-
-.order-9 {
-  -ms-flex-order: 9;
-  order: 9;
-}
-
-.order-10 {
-  -ms-flex-order: 10;
-  order: 10;
-}
-
-.order-11 {
-  -ms-flex-order: 11;
-  order: 11;
-}
-
-.order-12 {
-  -ms-flex-order: 12;
-  order: 12;
-}
-
-.offset-1 {
-  margin-left: 8.333333%;
-}
-
-.offset-2 {
-  margin-left: 16.666667%;
-}
-
-.offset-3 {
-  margin-left: 25%;
-}
-
-.offset-4 {
-  margin-left: 33.333333%;
-}
-
-.offset-5 {
-  margin-left: 41.666667%;
-}
-
-.offset-6 {
-  margin-left: 50%;
-}
-
-.offset-7 {
-  margin-left: 58.333333%;
-}
-
-.offset-8 {
-  margin-left: 66.666667%;
-}
-
-.offset-9 {
-  margin-left: 75%;
-}
-
-.offset-10 {
-  margin-left: 83.333333%;
-}
-
-.offset-11 {
-  margin-left: 91.666667%;
-}
-
-@media (min-width: 576px) {
-  .col-sm {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-sm-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-sm-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-sm-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-sm-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-sm-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-sm-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-sm-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-sm-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-sm-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-sm-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-sm-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-sm-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-sm-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-sm-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-sm-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-sm-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-sm-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-sm-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-sm-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-sm-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-sm-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-sm-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-sm-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-sm-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-sm-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-sm-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-sm-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-sm-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-sm-0 {
-    margin-left: 0;
-  }
-  .offset-sm-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-sm-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-sm-3 {
-    margin-left: 25%;
-  }
-  .offset-sm-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-sm-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-sm-6 {
-    margin-left: 50%;
-  }
-  .offset-sm-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-sm-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-sm-9 {
-    margin-left: 75%;
-  }
-  .offset-sm-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-sm-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 768px) {
-  .col-md {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-md-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-md-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-md-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-md-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-md-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-md-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-md-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-md-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-md-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-md-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-md-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-md-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-md-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-md-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-md-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-md-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-md-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-md-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-md-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-md-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-md-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-md-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-md-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-md-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-md-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-md-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-md-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-md-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-md-0 {
-    margin-left: 0;
-  }
-  .offset-md-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-md-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-md-3 {
-    margin-left: 25%;
-  }
-  .offset-md-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-md-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-md-6 {
-    margin-left: 50%;
-  }
-  .offset-md-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-md-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-md-9 {
-    margin-left: 75%;
-  }
-  .offset-md-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-md-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 992px) {
-  .col-lg {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-lg-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-lg-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-lg-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-lg-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-lg-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-lg-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-lg-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-lg-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-lg-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-lg-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-lg-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-lg-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-lg-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-lg-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-lg-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-lg-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-lg-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-lg-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-lg-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-lg-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-lg-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-lg-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-lg-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-lg-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-lg-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-lg-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-lg-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-lg-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-lg-0 {
-    margin-left: 0;
-  }
-  .offset-lg-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-lg-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-lg-3 {
-    margin-left: 25%;
-  }
-  .offset-lg-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-lg-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-lg-6 {
-    margin-left: 50%;
-  }
-  .offset-lg-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-lg-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-lg-9 {
-    margin-left: 75%;
-  }
-  .offset-lg-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-lg-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 1200px) {
-  .col-xl {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-xl-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-xl-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-xl-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-xl-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-xl-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-xl-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-xl-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-xl-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-xl-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-xl-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-xl-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-xl-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-xl-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-xl-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-xl-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-xl-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-xl-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-xl-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-xl-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-xl-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-xl-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-xl-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-xl-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-xl-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-xl-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-xl-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-xl-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-xl-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-xl-0 {
-    margin-left: 0;
-  }
-  .offset-xl-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-xl-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-xl-3 {
-    margin-left: 25%;
-  }
-  .offset-xl-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-xl-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-xl-6 {
-    margin-left: 50%;
-  }
-  .offset-xl-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-xl-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-xl-9 {
-    margin-left: 75%;
-  }
-  .offset-xl-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-xl-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-.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: -ms-flexbox !important;
-  display: flex !important;
-}
-
-.d-inline-flex {
-  display: -ms-inline-flexbox !important;
-  display: inline-flex !important;
-}
-
-@media (min-width: 576px) {
-  .d-sm-none {
-    display: none !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-table {
-    display: table !important;
-  }
-  .d-sm-table-row {
-    display: table-row !important;
-  }
-  .d-sm-table-cell {
-    display: table-cell !important;
-  }
-  .d-sm-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-sm-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .d-md-none {
-    display: none !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-table {
-    display: table !important;
-  }
-  .d-md-table-row {
-    display: table-row !important;
-  }
-  .d-md-table-cell {
-    display: table-cell !important;
-  }
-  .d-md-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-md-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .d-lg-none {
-    display: none !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-table {
-    display: table !important;
-  }
-  .d-lg-table-row {
-    display: table-row !important;
-  }
-  .d-lg-table-cell {
-    display: table-cell !important;
-  }
-  .d-lg-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-lg-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .d-xl-none {
-    display: none !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-table {
-    display: table !important;
-  }
-  .d-xl-table-row {
-    display: table-row !important;
-  }
-  .d-xl-table-cell {
-    display: table-cell !important;
-  }
-  .d-xl-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-xl-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media print {
-  .d-print-none {
-    display: none !important;
-  }
-  .d-print-inline {
-    display: inline !important;
-  }
-  .d-print-inline-block {
-    display: inline-block !important;
-  }
-  .d-print-block {
-    display: block !important;
-  }
-  .d-print-table {
-    display: table !important;
-  }
-  .d-print-table-row {
-    display: table-row !important;
-  }
-  .d-print-table-cell {
-    display: table-cell !important;
-  }
-  .d-print-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-print-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-.flex-row {
-  -ms-flex-direction: row !important;
-  flex-direction: row !important;
-}
-
-.flex-column {
-  -ms-flex-direction: column !important;
-  flex-direction: column !important;
-}
-
-.flex-row-reverse {
-  -ms-flex-direction: row-reverse !important;
-  flex-direction: row-reverse !important;
-}
-
-.flex-column-reverse {
-  -ms-flex-direction: column-reverse !important;
-  flex-direction: column-reverse !important;
-}
-
-.flex-wrap {
-  -ms-flex-wrap: wrap !important;
-  flex-wrap: wrap !important;
-}
-
-.flex-nowrap {
-  -ms-flex-wrap: nowrap !important;
-  flex-wrap: nowrap !important;
-}
-
-.flex-wrap-reverse {
-  -ms-flex-wrap: wrap-reverse !important;
-  flex-wrap: wrap-reverse !important;
-}
-
-.flex-fill {
-  -ms-flex: 1 1 auto !important;
-  flex: 1 1 auto !important;
-}
-
-.flex-grow-0 {
-  -ms-flex-positive: 0 !important;
-  flex-grow: 0 !important;
-}
-
-.flex-grow-1 {
-  -ms-flex-positive: 1 !important;
-  flex-grow: 1 !important;
-}
-
-.flex-shrink-0 {
-  -ms-flex-negative: 0 !important;
-  flex-shrink: 0 !important;
-}
-
-.flex-shrink-1 {
-  -ms-flex-negative: 1 !important;
-  flex-shrink: 1 !important;
-}
-
-.justify-content-start {
-  -ms-flex-pack: start !important;
-  justify-content: flex-start !important;
-}
-
-.justify-content-end {
-  -ms-flex-pack: end !important;
-  justify-content: flex-end !important;
-}
-
-.justify-content-center {
-  -ms-flex-pack: center !important;
-  justify-content: center !important;
-}
-
-.justify-content-between {
-  -ms-flex-pack: justify !important;
-  justify-content: space-between !important;
-}
-
-.justify-content-around {
-  -ms-flex-pack: distribute !important;
-  justify-content: space-around !important;
-}
-
-.align-items-start {
-  -ms-flex-align: start !important;
-  align-items: flex-start !important;
-}
-
-.align-items-end {
-  -ms-flex-align: end !important;
-  align-items: flex-end !important;
-}
-
-.align-items-center {
-  -ms-flex-align: center !important;
-  align-items: center !important;
-}
-
-.align-items-baseline {
-  -ms-flex-align: baseline !important;
-  align-items: baseline !important;
-}
-
-.align-items-stretch {
-  -ms-flex-align: stretch !important;
-  align-items: stretch !important;
-}
-
-.align-content-start {
-  -ms-flex-line-pack: start !important;
-  align-content: flex-start !important;
-}
-
-.align-content-end {
-  -ms-flex-line-pack: end !important;
-  align-content: flex-end !important;
-}
-
-.align-content-center {
-  -ms-flex-line-pack: center !important;
-  align-content: center !important;
-}
-
-.align-content-between {
-  -ms-flex-line-pack: justify !important;
-  align-content: space-between !important;
-}
-
-.align-content-around {
-  -ms-flex-line-pack: distribute !important;
-  align-content: space-around !important;
-}
-
-.align-content-stretch {
-  -ms-flex-line-pack: stretch !important;
-  align-content: stretch !important;
-}
-
-.align-self-auto {
-  -ms-flex-item-align: auto !important;
-  align-self: auto !important;
-}
-
-.align-self-start {
-  -ms-flex-item-align: start !important;
-  align-self: flex-start !important;
-}
-
-.align-self-end {
-  -ms-flex-item-align: end !important;
-  align-self: flex-end !important;
-}
-
-.align-self-center {
-  -ms-flex-item-align: center !important;
-  align-self: center !important;
-}
-
-.align-self-baseline {
-  -ms-flex-item-align: baseline !important;
-  align-self: baseline !important;
-}
-
-.align-self-stretch {
-  -ms-flex-item-align: stretch !important;
-  align-self: stretch !important;
-}
-
-@media (min-width: 576px) {
-  .flex-sm-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-sm-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-sm-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-sm-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-sm-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-sm-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-sm-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-sm-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-sm-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-sm-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-sm-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-sm-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-sm-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-sm-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-sm-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-sm-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-sm-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-sm-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-sm-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-sm-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-sm-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-sm-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-sm-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-sm-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-sm-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-sm-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-sm-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-sm-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-sm-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-sm-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-sm-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-sm-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-sm-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-sm-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .flex-md-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-md-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-md-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-md-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-md-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-md-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-md-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-md-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-md-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-md-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-md-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-md-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-md-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-md-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-md-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-md-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-md-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-md-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-md-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-md-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-md-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-md-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-md-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-md-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-md-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-md-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-md-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-md-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-md-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-md-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-md-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-md-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-md-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-md-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .flex-lg-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-lg-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-lg-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-lg-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-lg-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-lg-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-lg-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-lg-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-lg-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-lg-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-lg-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-lg-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-lg-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-lg-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-lg-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-lg-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-lg-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-lg-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-lg-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-lg-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-lg-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-lg-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-lg-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-lg-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-lg-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-lg-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-lg-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-lg-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-lg-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-lg-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-lg-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-lg-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-lg-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-lg-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .flex-xl-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-xl-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-xl-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-xl-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-xl-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-xl-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-xl-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-xl-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-xl-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-xl-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-xl-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-xl-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-xl-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-xl-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-xl-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-xl-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-xl-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-xl-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-xl-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-xl-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-xl-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-xl-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-xl-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-xl-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-xl-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-xl-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-xl-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-xl-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-xl-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-xl-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-xl-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-xl-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-xl-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-xl-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.mt-0,
-.my-0 {
-  margin-top: 0 !important;
-}
-
-.mr-0,
-.mx-0 {
-  margin-right: 0 !important;
-}
-
-.mb-0,
-.my-0 {
-  margin-bottom: 0 !important;
-}
-
-.ml-0,
-.mx-0 {
-  margin-left: 0 !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.mt-1,
-.my-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mr-1,
-.mx-1 {
-  margin-right: 0.25rem !important;
-}
-
-.mb-1,
-.my-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.ml-1,
-.mx-1 {
-  margin-left: 0.25rem !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.mt-2,
-.my-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mr-2,
-.mx-2 {
-  margin-right: 0.5rem !important;
-}
-
-.mb-2,
-.my-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.ml-2,
-.mx-2 {
-  margin-left: 0.5rem !important;
-}
-
-.m-3 {
-  margin: 1rem !important;
-}
-
-.mt-3,
-.my-3 {
-  margin-top: 1rem !important;
-}
-
-.mr-3,
-.mx-3 {
-  margin-right: 1rem !important;
-}
-
-.mb-3,
-.my-3 {
-  margin-bottom: 1rem !important;
-}
-
-.ml-3,
-.mx-3 {
-  margin-left: 1rem !important;
-}
-
-.m-4 {
-  margin: 1.5rem !important;
-}
-
-.mt-4,
-.my-4 {
-  margin-top: 1.5rem !important;
-}
-
-.mr-4,
-.mx-4 {
-  margin-right: 1.5rem !important;
-}
-
-.mb-4,
-.my-4 {
-  margin-bottom: 1.5rem !important;
-}
-
-.ml-4,
-.mx-4 {
-  margin-left: 1.5rem !important;
-}
-
-.m-5 {
-  margin: 3rem !important;
-}
-
-.mt-5,
-.my-5 {
-  margin-top: 3rem !important;
-}
-
-.mr-5,
-.mx-5 {
-  margin-right: 3rem !important;
-}
-
-.mb-5,
-.my-5 {
-  margin-bottom: 3rem !important;
-}
-
-.ml-5,
-.mx-5 {
-  margin-left: 3rem !important;
-}
-
-.p-0 {
-  padding: 0 !important;
-}
-
-.pt-0,
-.py-0 {
-  padding-top: 0 !important;
-}
-
-.pr-0,
-.px-0 {
-  padding-right: 0 !important;
-}
-
-.pb-0,
-.py-0 {
-  padding-bottom: 0 !important;
-}
-
-.pl-0,
-.px-0 {
-  padding-left: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.pt-1,
-.py-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pr-1,
-.px-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pb-1,
-.py-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pl-1,
-.px-1 {
-  padding-left: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.pt-2,
-.py-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pr-2,
-.px-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pb-2,
-.py-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pl-2,
-.px-2 {
-  padding-left: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 1rem !important;
-}
-
-.pt-3,
-.py-3 {
-  padding-top: 1rem !important;
-}
-
-.pr-3,
-.px-3 {
-  padding-right: 1rem !important;
-}
-
-.pb-3,
-.py-3 {
-  padding-bottom: 1rem !important;
-}
-
-.pl-3,
-.px-3 {
-  padding-left: 1rem !important;
-}
-
-.p-4 {
-  padding: 1.5rem !important;
-}
-
-.pt-4,
-.py-4 {
-  padding-top: 1.5rem !important;
-}
-
-.pr-4,
-.px-4 {
-  padding-right: 1.5rem !important;
-}
-
-.pb-4,
-.py-4 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pl-4,
-.px-4 {
-  padding-left: 1.5rem !important;
-}
-
-.p-5 {
-  padding: 3rem !important;
-}
-
-.pt-5,
-.py-5 {
-  padding-top: 3rem !important;
-}
-
-.pr-5,
-.px-5 {
-  padding-right: 3rem !important;
-}
-
-.pb-5,
-.py-5 {
-  padding-bottom: 3rem !important;
-}
-
-.pl-5,
-.px-5 {
-  padding-left: 3rem !important;
-}
-
-.m-n1 {
-  margin: -0.25rem !important;
-}
-
-.mt-n1,
-.my-n1 {
-  margin-top: -0.25rem !important;
-}
-
-.mr-n1,
-.mx-n1 {
-  margin-right: -0.25rem !important;
-}
-
-.mb-n1,
-.my-n1 {
-  margin-bottom: -0.25rem !important;
-}
-
-.ml-n1,
-.mx-n1 {
-  margin-left: -0.25rem !important;
-}
-
-.m-n2 {
-  margin: -0.5rem !important;
-}
-
-.mt-n2,
-.my-n2 {
-  margin-top: -0.5rem !important;
-}
-
-.mr-n2,
-.mx-n2 {
-  margin-right: -0.5rem !important;
-}
-
-.mb-n2,
-.my-n2 {
-  margin-bottom: -0.5rem !important;
-}
-
-.ml-n2,
-.mx-n2 {
-  margin-left: -0.5rem !important;
-}
-
-.m-n3 {
-  margin: -1rem !important;
-}
-
-.mt-n3,
-.my-n3 {
-  margin-top: -1rem !important;
-}
-
-.mr-n3,
-.mx-n3 {
-  margin-right: -1rem !important;
-}
-
-.mb-n3,
-.my-n3 {
-  margin-bottom: -1rem !important;
-}
-
-.ml-n3,
-.mx-n3 {
-  margin-left: -1rem !important;
-}
-
-.m-n4 {
-  margin: -1.5rem !important;
-}
-
-.mt-n4,
-.my-n4 {
-  margin-top: -1.5rem !important;
-}
-
-.mr-n4,
-.mx-n4 {
-  margin-right: -1.5rem !important;
-}
-
-.mb-n4,
-.my-n4 {
-  margin-bottom: -1.5rem !important;
-}
-
-.ml-n4,
-.mx-n4 {
-  margin-left: -1.5rem !important;
-}
-
-.m-n5 {
-  margin: -3rem !important;
-}
-
-.mt-n5,
-.my-n5 {
-  margin-top: -3rem !important;
-}
-
-.mr-n5,
-.mx-n5 {
-  margin-right: -3rem !important;
-}
-
-.mb-n5,
-.my-n5 {
-  margin-bottom: -3rem !important;
-}
-
-.ml-n5,
-.mx-n5 {
-  margin-left: -3rem !important;
-}
-
-.m-auto {
-  margin: auto !important;
-}
-
-.mt-auto,
-.my-auto {
-  margin-top: auto !important;
-}
-
-.mr-auto,
-.mx-auto {
-  margin-right: auto !important;
-}
-
-.mb-auto,
-.my-auto {
-  margin-bottom: auto !important;
-}
-
-.ml-auto,
-.mx-auto {
-  margin-left: auto !important;
-}
-
-@media (min-width: 576px) {
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .mt-sm-0,
-  .my-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mr-sm-0,
-  .mx-sm-0 {
-    margin-right: 0 !important;
-  }
-  .mb-sm-0,
-  .my-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-sm-0,
-  .mx-sm-0 {
-    margin-left: 0 !important;
-  }
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-sm-1,
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-sm-1,
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-sm-1,
-  .my-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-sm-1,
-  .mx-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-sm-2,
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-sm-2,
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-sm-2,
-  .my-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-sm-2,
-  .mx-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-sm-3 {
-    margin: 1rem !important;
-  }
-  .mt-sm-3,
-  .my-sm-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-sm-3,
-  .mx-sm-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-sm-3,
-  .my-sm-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-sm-3,
-  .mx-sm-3 {
-    margin-left: 1rem !important;
-  }
-  .m-sm-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-sm-4,
-  .my-sm-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-sm-4,
-  .mx-sm-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-sm-4,
-  .my-sm-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-sm-4,
-  .mx-sm-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-sm-5 {
-    margin: 3rem !important;
-  }
-  .mt-sm-5,
-  .my-sm-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-sm-5,
-  .mx-sm-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-sm-5,
-  .my-sm-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-sm-5,
-  .mx-sm-5 {
-    margin-left: 3rem !important;
-  }
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .pt-sm-0,
-  .py-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pr-sm-0,
-  .px-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pb-sm-0,
-  .py-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-sm-0,
-  .px-sm-0 {
-    padding-left: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-sm-1,
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-sm-1,
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-sm-1,
-  .py-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-sm-1,
-  .px-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-sm-2,
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-sm-2,
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-sm-2,
-  .py-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-sm-2,
-  .px-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 1rem !important;
-  }
-  .pt-sm-3,
-  .py-sm-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-sm-3,
-  .px-sm-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-sm-3,
-  .py-sm-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-sm-3,
-  .px-sm-3 {
-    padding-left: 1rem !important;
-  }
-  .p-sm-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-sm-4,
-  .py-sm-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-sm-4,
-  .px-sm-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-sm-4,
-  .py-sm-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-sm-4,
-  .px-sm-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-sm-5 {
-    padding: 3rem !important;
-  }
-  .pt-sm-5,
-  .py-sm-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-sm-5,
-  .px-sm-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-5,
-  .py-sm-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-sm-5,
-  .px-sm-5 {
-    padding-left: 3rem !important;
-  }
-  .m-sm-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-sm-n1,
-  .my-sm-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-sm-n1,
-  .mx-sm-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-sm-n1,
-  .my-sm-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-sm-n1,
-  .mx-sm-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-sm-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-sm-n2,
-  .my-sm-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-sm-n2,
-  .mx-sm-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-sm-n2,
-  .my-sm-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-sm-n2,
-  .mx-sm-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-sm-n3 {
-    margin: -1rem !important;
-  }
-  .mt-sm-n3,
-  .my-sm-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-sm-n3,
-  .mx-sm-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-sm-n3,
-  .my-sm-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-sm-n3,
-  .mx-sm-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-sm-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-sm-n4,
-  .my-sm-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-sm-n4,
-  .mx-sm-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-sm-n4,
-  .my-sm-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-sm-n4,
-  .mx-sm-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-sm-n5 {
-    margin: -3rem !important;
-  }
-  .mt-sm-n5,
-  .my-sm-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-sm-n5,
-  .mx-sm-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-sm-n5,
-  .my-sm-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-sm-n5,
-  .mx-sm-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-sm-auto {
-    margin: auto !important;
-  }
-  .mt-sm-auto,
-  .my-sm-auto {
-    margin-top: auto !important;
-  }
-  .mr-sm-auto,
-  .mx-sm-auto {
-    margin-right: auto !important;
-  }
-  .mb-sm-auto,
-  .my-sm-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-sm-auto,
-  .mx-sm-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .mt-md-0,
-  .my-md-0 {
-    margin-top: 0 !important;
-  }
-  .mr-md-0,
-  .mx-md-0 {
-    margin-right: 0 !important;
-  }
-  .mb-md-0,
-  .my-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-md-0,
-  .mx-md-0 {
-    margin-left: 0 !important;
-  }
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-md-1,
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-md-1,
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-md-1,
-  .my-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-md-1,
-  .mx-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-md-2,
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-md-2,
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-md-2,
-  .my-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-md-2,
-  .mx-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-md-3 {
-    margin: 1rem !important;
-  }
-  .mt-md-3,
-  .my-md-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-md-3,
-  .mx-md-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-md-3,
-  .my-md-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-md-3,
-  .mx-md-3 {
-    margin-left: 1rem !important;
-  }
-  .m-md-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-md-4,
-  .my-md-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-md-4,
-  .mx-md-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-md-4,
-  .my-md-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-md-4,
-  .mx-md-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-md-5 {
-    margin: 3rem !important;
-  }
-  .mt-md-5,
-  .my-md-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-md-5,
-  .mx-md-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-md-5,
-  .my-md-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-md-5,
-  .mx-md-5 {
-    margin-left: 3rem !important;
-  }
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .pt-md-0,
-  .py-md-0 {
-    padding-top: 0 !important;
-  }
-  .pr-md-0,
-  .px-md-0 {
-    padding-right: 0 !important;
-  }
-  .pb-md-0,
-  .py-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-md-0,
-  .px-md-0 {
-    padding-left: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-md-1,
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-md-1,
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-md-1,
-  .py-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-md-1,
-  .px-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-md-2,
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-md-2,
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-md-2,
-  .py-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-md-2,
-  .px-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 1rem !important;
-  }
-  .pt-md-3,
-  .py-md-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-md-3,
-  .px-md-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-md-3,
-  .py-md-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-md-3,
-  .px-md-3 {
-    padding-left: 1rem !important;
-  }
-  .p-md-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-md-4,
-  .py-md-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-md-4,
-  .px-md-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-md-4,
-  .py-md-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-md-4,
-  .px-md-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-md-5 {
-    padding: 3rem !important;
-  }
-  .pt-md-5,
-  .py-md-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-md-5,
-  .px-md-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-5,
-  .py-md-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-md-5,
-  .px-md-5 {
-    padding-left: 3rem !important;
-  }
-  .m-md-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-md-n1,
-  .my-md-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-md-n1,
-  .mx-md-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-md-n1,
-  .my-md-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-md-n1,
-  .mx-md-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-md-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-md-n2,
-  .my-md-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-md-n2,
-  .mx-md-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-md-n2,
-  .my-md-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-md-n2,
-  .mx-md-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-md-n3 {
-    margin: -1rem !important;
-  }
-  .mt-md-n3,
-  .my-md-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-md-n3,
-  .mx-md-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-md-n3,
-  .my-md-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-md-n3,
-  .mx-md-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-md-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-md-n4,
-  .my-md-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-md-n4,
-  .mx-md-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-md-n4,
-  .my-md-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-md-n4,
-  .mx-md-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-md-n5 {
-    margin: -3rem !important;
-  }
-  .mt-md-n5,
-  .my-md-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-md-n5,
-  .mx-md-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-md-n5,
-  .my-md-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-md-n5,
-  .mx-md-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-md-auto {
-    margin: auto !important;
-  }
-  .mt-md-auto,
-  .my-md-auto {
-    margin-top: auto !important;
-  }
-  .mr-md-auto,
-  .mx-md-auto {
-    margin-right: auto !important;
-  }
-  .mb-md-auto,
-  .my-md-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-md-auto,
-  .mx-md-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .mt-lg-0,
-  .my-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mr-lg-0,
-  .mx-lg-0 {
-    margin-right: 0 !important;
-  }
-  .mb-lg-0,
-  .my-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-lg-0,
-  .mx-lg-0 {
-    margin-left: 0 !important;
-  }
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-lg-1,
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-lg-1,
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-lg-1,
-  .my-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-lg-1,
-  .mx-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-lg-2,
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-lg-2,
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-lg-2,
-  .my-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-lg-2,
-  .mx-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-lg-3 {
-    margin: 1rem !important;
-  }
-  .mt-lg-3,
-  .my-lg-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-lg-3,
-  .mx-lg-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-lg-3,
-  .my-lg-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-lg-3,
-  .mx-lg-3 {
-    margin-left: 1rem !important;
-  }
-  .m-lg-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-lg-4,
-  .my-lg-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-lg-4,
-  .mx-lg-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-lg-4,
-  .my-lg-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-lg-4,
-  .mx-lg-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-lg-5 {
-    margin: 3rem !important;
-  }
-  .mt-lg-5,
-  .my-lg-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-lg-5,
-  .mx-lg-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-lg-5,
-  .my-lg-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-lg-5,
-  .mx-lg-5 {
-    margin-left: 3rem !important;
-  }
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .pt-lg-0,
-  .py-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pr-lg-0,
-  .px-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pb-lg-0,
-  .py-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-lg-0,
-  .px-lg-0 {
-    padding-left: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-lg-1,
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-lg-1,
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-lg-1,
-  .py-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-lg-1,
-  .px-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-lg-2,
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-lg-2,
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-lg-2,
-  .py-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-lg-2,
-  .px-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 1rem !important;
-  }
-  .pt-lg-3,
-  .py-lg-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-lg-3,
-  .px-lg-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-lg-3,
-  .py-lg-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-lg-3,
-  .px-lg-3 {
-    padding-left: 1rem !important;
-  }
-  .p-lg-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-lg-4,
-  .py-lg-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-lg-4,
-  .px-lg-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-lg-4,
-  .py-lg-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-lg-4,
-  .px-lg-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-lg-5 {
-    padding: 3rem !important;
-  }
-  .pt-lg-5,
-  .py-lg-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-lg-5,
-  .px-lg-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-5,
-  .py-lg-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-lg-5,
-  .px-lg-5 {
-    padding-left: 3rem !important;
-  }
-  .m-lg-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-lg-n1,
-  .my-lg-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-lg-n1,
-  .mx-lg-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-lg-n1,
-  .my-lg-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-lg-n1,
-  .mx-lg-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-lg-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-lg-n2,
-  .my-lg-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-lg-n2,
-  .mx-lg-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-lg-n2,
-  .my-lg-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-lg-n2,
-  .mx-lg-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-lg-n3 {
-    margin: -1rem !important;
-  }
-  .mt-lg-n3,
-  .my-lg-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-lg-n3,
-  .mx-lg-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-lg-n3,
-  .my-lg-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-lg-n3,
-  .mx-lg-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-lg-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-lg-n4,
-  .my-lg-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-lg-n4,
-  .mx-lg-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-lg-n4,
-  .my-lg-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-lg-n4,
-  .mx-lg-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-lg-n5 {
-    margin: -3rem !important;
-  }
-  .mt-lg-n5,
-  .my-lg-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-lg-n5,
-  .mx-lg-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-lg-n5,
-  .my-lg-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-lg-n5,
-  .mx-lg-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-lg-auto {
-    margin: auto !important;
-  }
-  .mt-lg-auto,
-  .my-lg-auto {
-    margin-top: auto !important;
-  }
-  .mr-lg-auto,
-  .mx-lg-auto {
-    margin-right: auto !important;
-  }
-  .mb-lg-auto,
-  .my-lg-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-lg-auto,
-  .mx-lg-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .mt-xl-0,
-  .my-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xl-0,
-  .mx-xl-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xl-0,
-  .my-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xl-0,
-  .mx-xl-0 {
-    margin-left: 0 !important;
-  }
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xl-1,
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xl-1,
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xl-1,
-  .my-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xl-1,
-  .mx-xl-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xl-2,
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xl-2,
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xl-2,
-  .my-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xl-2,
-  .mx-xl-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-xl-3 {
-    margin: 1rem !important;
-  }
-  .mt-xl-3,
-  .my-xl-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-xl-3,
-  .mx-xl-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-xl-3,
-  .my-xl-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xl-3,
-  .mx-xl-3 {
-    margin-left: 1rem !important;
-  }
-  .m-xl-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-xl-4,
-  .my-xl-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xl-4,
-  .mx-xl-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xl-4,
-  .my-xl-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xl-4,
-  .mx-xl-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-xl-5 {
-    margin: 3rem !important;
-  }
-  .mt-xl-5,
-  .my-xl-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-xl-5,
-  .mx-xl-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-xl-5,
-  .my-xl-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xl-5,
-  .mx-xl-5 {
-    margin-left: 3rem !important;
-  }
-  .p-xl-0 {
-    padding: 0 !important;
-  }
-  .pt-xl-0,
-  .py-xl-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xl-0,
-  .px-xl-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xl-0,
-  .py-xl-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xl-0,
-  .px-xl-0 {
-    padding-left: 0 !important;
-  }
-  .p-xl-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xl-1,
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xl-1,
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xl-1,
-  .py-xl-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xl-1,
-  .px-xl-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-xl-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xl-2,
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xl-2,
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xl-2,
-  .py-xl-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xl-2,
-  .px-xl-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-xl-3 {
-    padding: 1rem !important;
-  }
-  .pt-xl-3,
-  .py-xl-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-xl-3,
-  .px-xl-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-xl-3,
-  .py-xl-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xl-3,
-  .px-xl-3 {
-    padding-left: 1rem !important;
-  }
-  .p-xl-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-xl-4,
-  .py-xl-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xl-4,
-  .px-xl-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xl-4,
-  .py-xl-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xl-4,
-  .px-xl-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-xl-5 {
-    padding: 3rem !important;
-  }
-  .pt-xl-5,
-  .py-xl-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-xl-5,
-  .px-xl-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-xl-5,
-  .py-xl-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xl-5,
-  .px-xl-5 {
-    padding-left: 3rem !important;
-  }
-  .m-xl-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-xl-n1,
-  .my-xl-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-xl-n1,
-  .mx-xl-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-xl-n1,
-  .my-xl-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-xl-n1,
-  .mx-xl-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-xl-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-xl-n2,
-  .my-xl-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-xl-n2,
-  .mx-xl-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-xl-n2,
-  .my-xl-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-xl-n2,
-  .mx-xl-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-xl-n3 {
-    margin: -1rem !important;
-  }
-  .mt-xl-n3,
-  .my-xl-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-xl-n3,
-  .mx-xl-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-xl-n3,
-  .my-xl-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-xl-n3,
-  .mx-xl-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-xl-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-xl-n4,
-  .my-xl-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-xl-n4,
-  .mx-xl-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-xl-n4,
-  .my-xl-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-xl-n4,
-  .mx-xl-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-xl-n5 {
-    margin: -3rem !important;
-  }
-  .mt-xl-n5,
-  .my-xl-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-xl-n5,
-  .mx-xl-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-xl-n5,
-  .my-xl-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-xl-n5,
-  .mx-xl-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-xl-auto {
-    margin: auto !important;
-  }
-  .mt-xl-auto,
-  .my-xl-auto {
-    margin-top: auto !important;
-  }
-  .mr-xl-auto,
-  .mx-xl-auto {
-    margin-right: auto !important;
-  }
-  .mb-xl-auto,
-  .my-xl-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-xl-auto,
-  .mx-xl-auto {
-    margin-left: auto !important;
-  }
-}
-/*# sourceMappingURL=bootstrap-grid.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css.map
deleted file mode 100644
index db62f2f..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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vBQ;IHTR,gBAA8C;EF4vB9C;EKnvBQ;IHTR,uBAA8C;EF+vB9C;EKtvBQ;IHTR,uBAA8C;EFkwB9C;EKzvBQ;IHTR,gBAA8C;EFqwB9C;EK5vBQ;IHTR,uBAA8C;EFwwB9C;EK/vBQ;IHTR,uBAA8C;EF2wB9C;AACF;;AMlzBM;EAAwB,wBAA0B;ANszBxD;;AMtzBM;EAAwB,0BAA0B;AN0zBxD;;AM1zBM;EAAwB,gCAA0B;AN8zBxD;;AM9zBM;EAAwB,yBAA0B;ANk0BxD;;AMl0BM;EAAwB,yBAA0B;ANs0BxD;;AMt0BM;EAAwB,6BAA0B;AN00BxD;;AM10BM;EAAwB,8BAA0B;AN80BxD;;AM90BM;EAAwB,+BAA0B;EAA1B,wBAA0B;ANk1BxD;;AMl1BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANs1BxD;;AGryBI;EGjDE;IAAwB,wBAA0B;EN21BtD;EM31BI;IAAwB,0BAA0B;EN81BtD;EM91BI;IAAwB,gCAA0B;ENi2BtD;EMj2BI;IAAwB,yBAA0B;ENo2BtD;EMp2BI;IAAwB,yBAA0B;ENu2BtD;EMv2BI;IAAwB,6BAA0B;EN02BtD;EM12BI;IAAwB,8BAA0B;EN62BtD;EM72BI;IAAwB,+BAA0B;IAA1B,wBAA0B;ENg3BtD;EMh3BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENm3BtD;AACF;;AGn0BI;EGjDE;IAAwB,wBAA0B;ENy3BtD;EMz3BI;IAAwB,0BAA0B;EN43BtD;EM53BI;IAAwB,gCAA0B;EN+3BtD;EM/3BI;IAAwB,yBAA0B;ENk4BtD;EMl4BI;IAAwB,yBAA0B;ENq4BtD;EMr4BI;IAAwB,6BAA0B;ENw4BtD;EMx4BI;IAAwB,8BAA0B;EN24BtD;EM34BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN84BtD;EM94BI;IAAwB,sCAA0B;IAA1B,+BAA0B;ENi5BtD;AACF;;AGj2BI;EGjDE;IAAwB,wBAA0B;ENu5BtD;EMv5BI;IAAwB,0BAA0B;EN05BtD;EM15BI;IAAwB,gCAA0B;EN65BtD;EM75BI;IAAwB,yBAA0B;ENg6BtD;EMh6BI;IAAwB,yBAA0B;ENm6BtD;EMn6BI;IAAwB,6BAA0B;EN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AEE,+BAAwC;ARgoDlD;;AQ9nDQ;;EAEE,gCAA0C;ARioDpD;;AQ/nDQ;;EAEE,8BAAsC;ARkoDhD;;AQjpDQ;EAAgC,uBAA4B;ARqpDpE;;AQppDQ;;EAEE,2BAAoC;ARupD9C;;AQrpDQ;;EAEE,6BAAwC;ARwpDlD;;AQtpDQ;;EAEE,8BAA0C;ARypDpD;;AQvpDQ;;EAEE,4BAAsC;AR0pDhD;;AQzqDQ;EAAgC,qBAA4B;AR6qDpE;;AQ5qDQ;;EAEE,yBAAoC;AR+qD9C;;AQ7qDQ;;EAEE,2BAAwC;ARgrDlD;;AQ9qDQ;;EAEE,4BAA0C;ARirDpD;;AQ/qDQ;;EAEE,0BAAsC;ARkrDhD;;AQjsDQ;EAAgC,2BAA4B;ARqsDpE;;AQpsDQ;;EAEE,+BAAoC;ARusD9C;;AQrsDQ;;EAEE,iCAAwC;ARwsDlD;;AQtsDQ;;EAEE,kCAA0C;ARysDpD;;AQvsDQ;;EAEE,gCAAsC;AR0sDhD;;AQztDQ;EAAgC,0BAA4B;AR6tDpE;;AQ5tDQ;;EAEE,8BAAoC;AR+tD9C;;AQ7tDQ;;EAEE,gCAAwC;ARguDlD;;AQ9tDQ;;EAEE,iCAA0C;ARiuDpD;;AQ/tDQ;;EAEE,+BAAsC;ARkuDhD;;AQjvDQ;EAAgC,wBAA4B;ARqvDpE;;AQpvDQ;;EAEE,4BAAoC;ARuvD9C;;AQrvDQ;;EAEE,8BAAwC;ARwvDlD;;AQtvDQ;;EAEE,+BAA0C;ARyvDpD;;AQvvDQ;;EAEE,6BAAsC;AR0vDhD;;AQzwDQ;EAAgC,0BAA4B;AR6wDpE;;AQ5wDQ;;EAEE,8BAAoC;AR+wD9C;;AQ7wDQ;;EAEE,gCAAwC;ARgxDlD;;AQ9wDQ;;EAEE,iCAA0C;ARixDpD;;AQ/wDQ;;EAEE,+BAAsC;ARkxDhD;;AQjyDQ;EAAgC,wBAA4B;ARqyDpE;;AQpyDQ;;EAEE,4BAAoC;ARuyD9C;;AQryDQ;;EAEE,8BAAwC;ARwyDlD;;AQtyDQ;;EAEE,+BAA0C;ARyyDpD;;AQvyDQ;;EAEE,6BAAsC;AR0yDhD;;AQlyDQ;EAAwB,2BAA2B;ARsyD3D;;AQryDQ;;EAEE,+BAA+B;ARwyDzC;;AQtyDQ;;EAEE,iCAAiC;ARyyD3C;;AQvyDQ;;EAEE,kCAAkC;AR0yD5C;;AQxyDQ;;EAEE,gCAAgC;AR2yD1C;;AQ1zDQ;EAAwB,0BAA2B;AR8zD3D;;AQ7zDQ;;EAEE,8BAA+B;ARg0DzC;;AQ9zDQ;;EAEE,gCAAiC;ARi0D3C;;AQ/zDQ;;EAEE,iCAAkC;ARk0D5C;;AQh0DQ;;EAEE,+BAAgC;ARm0D1C;;AQl1DQ;EAAwB,wBAA2B;ARs1D3D;;AQr1DQ;;EAEE,4BAA+B;ARw1DzC;;AQt1DQ;;EAEE,8BAAiC;ARy1D3C;;AQv1DQ;;EAEE,+BAAkC;AR01D5C;;AQx1DQ;;EAEE,6BAAgC;AR21D1C;;AQ12DQ;EAAwB,0BAA2B;AR82D3D;;AQ72DQ;;EAEE,8BAA+B;ARg3DzC;;AQ92DQ;;EAEE,gCAAiC;ARi3D3C;;AQ/2DQ;;EAEE,iCAAkC;ARk3D5C;;AQh3DQ;;EAEE,+BAAgC;ARm3D1C;;AQl4DQ;EAAwB,wBAA2B;ARs4D3D;;AQr4DQ;;EAEE,4BAA+B;ARw4DzC;;AQt4DQ;;EAEE,8BAAiC;ARy4D3C;;AQv4DQ;;EAEE,+BAAkC;AR04D5C;;AQx4DQ;;EAEE,6BAAgC;AR24D1C;;AQr4DI;EAAmB,uBAAuB;ARy4D9C;;AQx4DI;;EAEE,2BAA2B;AR24DjC;;AQz4DI;;EAEE,6BAA6B;AR44DnC;;AQ14DI;;EAEE,8BAA8B;AR64DpC;;AQ34DI;;EAEE,4BAA4B;AR84DlC;;AGv5DI;EKlDI;IAAgC,oBAA4B;ER88DlE;EQ78DM;;IAEE,wBAAoC;ER+8D5C;EQ78DM;;IAEE,0BAAwC;ER+8DhD;EQ78DM;;IAEE,2BAA0C;ER+8DlD;EQ78DM;;IAEE,yBAAsC;ER+8D9C;EQ99DM;IAAgC,0BAA4B;ERi+DlE;EQh+DM;;IAEE,8BAAoC;ERk+D5C;EQh+DM;;IAEE,gCAAwC;ERk+DhD;EQh+DM;;IAEE,iCAA0C;ERk+DlD;EQh+DM;;IAEE,+BAAsC;ERk+D9C;EQj/DM;IAAgC,yBAA4B;ERo/DlE;EQn/DM;;IAEE,6BAAoC;ERq/D5C;EQn/DM;;IAEE,+BAAwC;ERq/DhD;EQn/DM;;IAEE,gCAA0C;ERq/DlD;EQn/DM;;IAEE,8BAAsC;ERq/D9C;EQpgEM;IAAgC,uBAA4B;ERugElE;EQtgEM;;IAEE,2BAAoC;ERwgE5C;EQtgEM;;IAEE,6BAAwC;ERwgEhD;EQtgEM;;IAEE,8BAA0C;ERwgElD;EQtgEM;;IAEE,4BAAsC;ERwgE9C;EQvhEM;IAAgC,yBAA4B;ER0hElE;EQzhEM;;IAEE,6BAAoC;ER2hE5C;EQzhEM;;IAEE,+BAAwC;ER2hEhD;EQzhEM;;IAEE,gCAA0C;ER2hElD;EQzhEM;;IAEE,8BAAsC;ER2hE9C;EQ1iEM;IAAgC,uBAA4B;ER6iElE;EQ5iEM;;IAEE,2BAAoC;ER8iE5C;EQ5iEM;;IAEE,6BAAwC;ER8iEhD;EQ5iEM;;IAEE,8BAA0C;ER8iElD;EQ5iEM;;IAEE,4BAAsC;ER8iE9C;EQ7jEM;IAAgC,qBAA4B;ERgkElE;EQ/jEM;;IAEE,yBAAoC;ERikE5C;EQ/jEM;;IAEE,2BAAwC;ERikEhD;EQ/jEM;;IAEE,4BAA0C;ERikElD;EQ/jEM;;IAEE,0BAAsC;ERikE9C;EQhlEM;IAAgC,2BAA4B;ERmlElE;EQllEM;;IAEE,+BAAoC;ERolE5C;EQllEM;;IAEE,iCAAwC;ERolEhD;EQllEM;;IAEE,kCAA0C;ERolElD;EQllEM;;IAEE,gCAAsC;ERolE9C;EQnmEM;IAAgC,0BAA4B;ERsmElE;EQrmEM;;IAEE,8BAAoC;ERumE5C;EQrmEM;;IAEE,gCAAwC;ERumEhD;EQrmEM;;IAEE,iCAA0C;ERumElD;EQrmEM;;IAEE,+BAAsC;ERumE9C;EQtnEM;IAAgC,wBAA4B;ERynElE;EQxnEM;;IAEE,4BAAoC;ER0nE5C;EQxnEM;;IAEE,8BAAwC;ER0nEhD;EQxnEM;;IAEE,+BAA0C;ER0nElD;EQxnEM;;IAEE,6BAAsC;ER0nE9C;EQzoEM;IAAgC,0BAA4B;ER4oElE;EQ3oEM;;IAEE,8BAAoC;ER6oE5C;EQ3oEM;;IAEE,gCAAwC;ER6oEhD;EQ3oEM;;IAEE,iCAA0C;ER6oElD;EQ3oEM;;IAEE,+BAAsC;ER6oE9C;EQ5pEM;IAAgC,wBAA4B;ER+pElE;EQ9pEM;;IAEE,4BAAoC;ERgqE5C;EQ9pEM;;IAEE,8BAAwC;ERgqEhD;EQ9pEM;;IAEE,+BAA0C;ERgqElD;EQ9pEM;;IAEE,6BAAsC;ERgqE9C;EQxpEM;IAAwB,2BAA2B;ER2pEzD;EQ1pEM;;IAEE,+BAA+B;ER4pEvC;EQ1pEM;;IAEE,iCAAiC;ER4pEzC;EQ1pEM;;IAEE,kCAAkC;ER4pE1C;EQ1pEM;;IAEE,gCAAgC;ER4pExC;EQ3qEM;IAAwB,0BAA2B;ER8qEzD;EQ7qEM;;IAEE,8BAA+B;ER+qEvC;EQ7qEM;;IAEE,gCAAiC;ER+qEzC;EQ7qEM;;IAEE,iCAAkC;ER+qE1C;EQ7qEM;;IAEE,+BAAgC;ER+qExC;EQ9rEM;IAAwB,wBAA2B;ERisEzD;EQhsEM;;IAEE,4BAA+B;ERksEvC;EQhsEM;;IAEE,8BAAiC;ERksEzC;EQhsEM;;IAEE,+BAAkC;ERksE1C;EQhsEM;;IAEE,6BAAgC;ERksExC;EQjtEM;IAAwB,0BAA2B;ERotEzD;EQntEM;;IAEE,8BAA+B;ERqtEvC;EQntEM;;IAEE,gCAAiC;ERqtEzC;EQntEM;;IAEE,iCAAkC;ERqtE1C;EQntEM;;IAEE,+BAAgC;ERqtExC;EQpuEM;IAAwB,wBAA2B;ERuuEzD;EQtuEM;;IAEE,4BAA+B;ERwuEvC;EQtuEM;;IAEE,8BAAiC;ERwuEzC;EQtuEM;;IAEE,+BAAkC;ERwuE1C;EQtuEM;;IAEE,6BAAgC;ERwuExC;EQluEE;IAAmB,uBAAuB;ERquE5C;EQpuEE;;IAEE,2BAA2B;ERsuE/B;EQpuEE;;IAEE,6BAA6B;ERsuEjC;EQpuEE;;IAEE,8BAA8B;ERsuElC;EQpuEE;;IAEE,4BAA4B;ERsuEhC;AACF;;AGhvEI;EKlDI;IAAgC,oBAA4B;ERuyElE;EQtyEM;;IAEE,wBAAoC;ERwyE5C;EQtyEM;;IAEE,0BAAwC;ERwyEhD;EQtyEM;;IAEE,2BAA0C;ERwyElD;EQtyEM;;IAEE,yBAAsC;ERwyE9C;EQvzEM;IAAgC,0BAA4B;ER0zElE;EQzzEM;;IAEE,8BAAoC;ER2zE5C;EQzzEM;;IAEE,gCAAwC;ER2zEhD;EQzzEM;;IAEE,iCAA0C;ER2zElD;EQzzEM;;IAEE,+BAAsC;ER2zE9C;EQ10EM;IAAgC,yBAA4B;ER60ElE;EQ50EM;;IAEE,6BAAoC;ER80E5C;EQ50EM;;IAEE,+BAAwC;ER80EhD;EQ50EM;;IAEE,gCAA0C;ER80ElD;EQ50EM;;IAEE,8BAAsC;ER80E9C;EQ71EM;IAAgC,uBAA4B;ERg2ElE;EQ/1EM;;IAEE,2BAAoC;ERi2E5C;EQ/1EM;;IAEE,6BAAwC;ERi2EhD;EQ/1EM;;IAEE,8BAA0C;ERi2ElD;EQ/1EM;;IAEE,4BAAsC;ERi2E9C;EQh3EM;IAAgC,yBAA4B;ERm3ElE;EQl3EM;;IAEE,6BAAoC;ERo3E5C;EQl3EM;;IAEE,+BAAwC;ERo3EhD;EQl3EM;;IAEE,gCAA0C;ERo3ElD;EQl3EM;;IAEE,8BAAsC;ERo3E9C;EQn4EM;IAAgC,uBAA4B;ERs4ElE;EQr4EM;;IAEE,2BAAoC;ERu4E5C;EQr4EM;;IAEE,6BAAwC;ERu4EhD;EQr4EM;;IAEE,8BAA0C;ERu4ElD;EQr4EM;;IAEE,4BAAsC;ERu4E9C;EQt5EM;IAAgC,qBAA4B;ERy5ElE;EQx5EM;;IAEE,yBAAoC;ER05E5C;EQx5EM;;IAEE,2BAAwC;ER05EhD;EQx5EM;;IAEE,4BAA0C;ER05ElD;EQx5EM;;IAEE,0BAAsC;ER05E9C;EQz6EM;IAAgC,2BAA4B;ER46ElE;EQ36EM;;IAEE,+BAAoC;ER66E5C;EQ36EM;;IAEE,iCAAwC;ER66EhD;EQ36EM;;IAEE,kCAA0C;ER66ElD;EQ36EM;;IAEE,gCAAsC;ER66E9C;EQ57EM;IAAgC,0BAA4B;ER+7ElE;EQ97EM;;IAEE,8BAAoC;ERg8E5C;EQ97EM;;IAEE,gCAAwC;ERg8EhD;EQ97EM;;IAEE,iCAA0C;ERg8ElD;EQ97EM;;IAEE,+BAAsC;ERg8E9C;EQ/8EM;IAAgC,wBAA4B;ERk9ElE;EQj9EM;;IAEE,4BAAoC;ERm9E5C;EQj9EM;;IAEE,8BAAwC;ERm9EhD;EQj9EM;;IAEE,+BAA0C;ERm9ElD;EQj9EM;;IAEE,6BAAsC;ERm9E9C;EQl+EM;IAAgC,0BAA4B;ERq+ElE;EQp+EM;;IAEE,8BAAoC;ERs+E5C;EQp+EM;;IAEE,gCAAwC;ERs+EhD;EQp+EM;;IAEE,iCAA0C;ERs+ElD;EQp+EM;;IAEE,+BAAsC;ERs+E9C;EQr/EM;IAAgC,wBAA4B;ERw/ElE;EQv/EM;;IAEE,4BAAoC;ERy/E5C;EQv/EM;;IAEE,8BAAwC;ERy/EhD;EQv/EM;;IAEE,+BAA0C;ERy/ElD;EQv/EM;;IAEE,6BAAsC;ERy/E9C;EQj/EM;IAAwB,2BAA2B;ERo/EzD;EQn/EM;;IAEE,+BAA+B;ERq/EvC;EQn/EM;;IAEE,iCAAiC;ERq/EzC;EQn/EM;;IAEE,kCAAkC;ERq/E1C;EQn/EM;;IAEE,gCAAgC;ERq/ExC;EQpgFM;IAAwB,0BAA2B;ERugFzD;EQtgFM;;IAEE,8BAA+B;ERwgFvC;EQtgFM;;IAEE,gCAAiC;ERwgFzC;EQtgFM;;IAEE,iCAAkC;ERwgF1C;EQtgFM;;IAEE,+BAAgC;ERwgFxC;EQvhFM;IAAwB,wBAA2B;ER0hFzD;EQzhFM;;IAEE,4BAA+B;ER2hFvC;EQzhFM;;IAEE,8BAAiC;ER2hFzC;EQzhFM;;IAEE,+BAAkC;ER2hF1C;EQzhFM;;IAEE,6BAAgC;ER2hFxC;EQ1iFM;IAAwB,0BAA2B;ER6iFzD;EQ5iFM;;IAEE,8BAA+B;ER8iFvC;EQ5iFM;;IAEE,gCAAiC;ER8iFzC;EQ5iFM;;IAEE,iCAAkC;ER8iF1C;EQ5iFM;;IAEE,+BAAgC;ER8iFxC;EQ7jFM;IAAwB,wBAA2B;ERgkFzD;EQ/jFM;;IAEE,4BAA+B;ERikFvC;EQ/jFM;;IAEE,8BAAiC;ERikFzC;EQ/jFM;;IAEE,+BAAkC;ERikF1C;EQ/jFM;;IAEE,6BAAgC;ERikFxC;EQ3jFE;IAAmB,uBAAuB;ER8jF5C;EQ7jFE;;IAEE,2BAA2B;ER+jF/B;EQ7jFE;;IAEE,6BAA6B;ER+jFjC;EQ7jFE;;IAEE,8BAA8B;ER+jFlC;EQ7jFE;;IAEE,4BAA4B;ER+jFhC;AACF;;AGzkFI;EKlDI;IAAgC,oBAA4B;ERgoFlE;EQ/nFM;;IAEE,wBAAoC;ERioF5C;EQ/nFM;;IAEE,0BAAwC;ERioFhD;EQ/nFM;;IAEE,2BAA0C;ERioFlD;EQ/nFM;;IAEE,yBAAsC;ERioF9C;EQhpFM;IAAgC,0BAA4B;ERmpFlE;EQlpFM;;IAEE,8BAAoC;ERopF5C;EQlpFM;;IAEE,gCAAwC;ERopFhD;EQlpFM;;IAEE,iCAA0C;ERopFlD;EQlpFM;;IAEE,+BAAsC;ERopF9C;EQnqFM;IAAgC,yBAA4B;ERsqFlE;EQrqFM;;IAEE,6BAAoC;ERuqF5C;EQrqFM;;IAEE,+BAAwC;ERuqFhD;EQrqFM;;IAEE,gCAA0C;ERuqFlD;EQrqFM;;IAEE,8BAAsC;ERuqF9C;EQtrFM;IAAgC,uBAA4B;ERyrFlE;EQxrFM;;IAEE,2BAAoC;ER0rF5C;EQxrFM;;IAEE,6BAAwC;ER0rFhD;EQxrFM;;IAEE,8BAA0C;ER0rFlD;EQxrFM;;IAEE,4BAAsC;ER0rF9C;EQzsFM;IAAgC,yBAA4B;ER4sFlE;EQ3sFM;;IAEE,6BAAoC;ER6sF5C;EQ3sFM;;IAEE,+BAAwC;ER6sFhD;EQ3sFM;;IAEE,gCAA0C;ER6sFlD;EQ3sFM;;IAEE,8BAAsC;ER6sF9C;EQ5tFM;IAAgC,uBAA4B;ER+tFlE;EQ9tFM;;IAEE,2BAAoC;ERguF5C;EQ9tFM;;IAEE,6BAAwC;ERguFhD;EQ9tFM;;IAEE,8BAA0C;ERguFlD;EQ9tFM;;IAEE,4BAAsC;ERguF9C;EQ/uFM;IAAgC,qBAA4B;ERkvFlE;EQjvFM;;IAEE,yBAAoC;ERmvF5C;EQjvFM;;IAEE,2BAAwC;ERmvFhD;EQjvFM;;IAEE,4BAA0C;ERmvFlD;EQjvFM;;IAEE,0BAAsC;ERmvF9C;EQlwFM;IAAgC,2BAA4B;ERqwFlE;EQpwFM;;IAEE,+BAAoC;ERswF5C;EQpwFM;;IAEE,iCAAwC;ERswFhD;EQpwFM;;IAEE,kCAA0C;ERswFlD;EQpwFM;;IAEE,gCAAsC;ERswF9C;EQrxFM;IAAgC,0BAA4B;ERwxFlE;EQvxFM;;IAEE,8BAAoC;ERyxF5C;EQvxFM;;IAEE,gCAAwC;ERyxFhD;EQvxFM;;IAEE,iCAA0C;ERyxFlD;EQvxFM;;IAEE,+BAAsC;ERyxF9C;EQxyFM;IAAgC,wBAA4B;ER2yFlE;EQ1yFM;;IAEE,4BAAoC;ER4yF5C;EQ1yFM;;IAEE,8BAAwC;ER4yFhD;EQ1yFM;;IAEE,+BAA0C;ER4yFlD;EQ1yFM;;IAEE,6BAAsC;ER4yF9C;EQ3zFM;IAAgC,0BAA4B;ER8zFlE;EQ7zFM;;IAEE,8BAAoC;ER+zF5C;EQ7zFM;;IAEE,gCAAwC;ER+zFhD;EQ7zFM;;IAEE,iCAA0C;ER+zFlD;EQ7zFM;;IAEE,+BAAsC;ER+zF9C;EQ90FM;IAAgC,wBAA4B;ERi1FlE;EQh1FM;;IAEE,4BAAoC;ERk1F5C;EQh1FM;;IAEE,8BAAwC;ERk1FhD;EQh1FM;;IAEE,+BAA0C;ERk1FlD;EQh1FM;;IAEE,6BAAsC;ERk1F9C;EQ10FM;IAAwB,2BAA2B;ER60FzD;EQ50FM;;IAEE,+BAA+B;ER80FvC;EQ50FM;;IAEE,iCAAiC;ER80FzC;EQ50FM;;IAEE,kCAAkC;ER80F1C;EQ50FM;;IAEE,gCAAgC;ER80FxC;EQ71FM;IAAwB,0BAA2B;ERg2FzD;EQ/1FM;;IAEE,8BAA+B;ERi2FvC;EQ/1FM;;IAEE,gCAAiC;ERi2FzC;EQ/1FM;;IAEE,iCAAkC;ERi2F1C;EQ/1FM;;IAEE,+BAAgC;ERi2FxC;EQh3FM;IAAwB,wBAA2B;ERm3FzD;EQl3FM;;IAEE,4BAA+B;ERo3FvC;EQl3FM;;IAEE,8BAAiC;ERo3FzC;EQl3FM;;IAEE,+BAAkC;ERo3F1C;EQl3FM;;IAEE,6BAAgC;ERo3FxC;EQn4FM;IAAwB,0BAA2B;ERs4FzD;EQr4FM;;IAEE,8BAA+B;ERu4FvC;EQr4FM;;IAEE,gCAAiC;ERu4FzC;EQr4FM;;IAEE,iCAAkC;ERu4F1C;EQr4FM;;IAEE,+BAAgC;ERu4FxC;EQt5FM;IAAwB,wBAA2B;ERy5FzD;EQx5FM;;IAEE,4BAA+B;ER05FvC;EQx5FM;;IAEE,8BAAiC;ER05FzC;EQx5FM;;IAEE,+BAAkC;ER05F1C;EQx5FM;;IAEE,6BAAgC;ER05FxC;EQp5FE;IAAmB,uBAAuB;ERu5F5C;EQt5FE;;IAEE,2BAA2B;ERw5F/B;EQt5FE;;IAEE,6BAA6B;ERw5FjC;EQt5FE;;IAEE,8BAA8B;ERw5FlC;EQt5FE;;IAEE,4BAA4B;ERw5FhC;AACF;;AGl6FI;EKlDI;IAAgC,oBAA4B;ERy9FlE;EQx9FM;;IAEE,wBAAoC;ER09F5C;EQx9FM;;IAEE,0BAAwC;ER09FhD;EQx9FM;;IAEE,2BAA0C;ER09FlD;EQx9FM;;IAEE,yBAAsC;ER09F9C;EQz+FM;IAAgC,0BAA4B;ER4+FlE;EQ3+FM;;IAEE,8BAAoC;ER6+F5C;EQ3+FM;;IAEE,gCAAwC;ER6+FhD;EQ3+FM;;IAEE,iCAA0C;ER6+FlD;EQ3+FM;;IAEE,+BAAsC;ER6+F9C;EQ5/FM;IAAgC,yBAA4B;ER+/FlE;EQ9/FM;;IAEE,6BAAoC;ERggG5C;EQ9/FM;;IAEE,+BAAwC;ERggGhD;EQ9/FM;;IAEE,gCAA0C;ERggGlD;EQ9/FM;;IAEE,8BAAsC;ERggG9C;EQ/gGM;IAAgC,uBAA4B;ERkhGlE;EQjhGM;;IAEE,2BAAoC;ERmhG5C;EQjhGM;;IAEE,6BAAwC;ERmhGhD;EQjhGM;;IAEE,8BAA0C;ERmhGlD;EQjhGM;;IAEE,4BAAsC;ERmhG9C;EQliGM;IAAgC,yBAA4B;ERqiGlE;EQpiGM;;IAEE,6BAAoC;ERsiG5C;EQpiGM;;IAEE,+BAAwC;ERsiGhD;EQpiGM;;IAEE,gCAA0C;ERsiGlD;EQpiGM;;IAEE,8BAAsC;ERsiG9C;EQrjGM;IAAgC,uBAA4B;ERwjGlE;EQvjGM;;IAEE,2BAAoC;ERyjG5C;EQvjGM;;IAEE,6BAAwC;ERyjGhD;EQvjGM;;IAEE,8BAA0C;ERyjGlD;EQvjGM;;IAEE,4BAAsC;ERyjG9C;EQxkGM;IAAgC,qBAA4B;ER2kGlE;EQ1kGM;;IAEE,yBAAoC;ER4kG5C;EQ1kGM;;IAEE,2BAAwC;ER4kGhD;EQ1kGM;;IAEE,4BAA0C;ER4kGlD;EQ1kGM;;IAEE,0BAAsC;ER4kG9C;EQ3lGM;IAAgC,2BAA4B;ER8lGlE;EQ7lGM;;IAEE,+BAAoC;ER+lG5C;EQ7lGM;;IAEE,iCAAwC;ER+lGhD;EQ7lGM;;IAEE,kCAA0C;ER+lGlD;EQ7lGM;;IAEE,gCAAsC;ER+lG9C;EQ9mGM;IAAgC,0BAA4B;ERinGlE;EQhnGM;;IAEE,8BAAoC;ERknG5C;EQhnGM;;IAEE,gCAAwC;ERknGhD;EQhnGM;;IAEE,iCAA0C;ERknGlD;EQhnGM;;IAEE,+BAAsC;ERknG9C;EQjoGM;IAAgC,wBAA4B;ERooGlE;EQnoGM;;IAEE,4BAAoC;ERqoG5C;EQnoGM;;IAEE,8BAAwC;ERqoGhD;EQnoGM;;IAEE,+BAA0C;ERqoGlD;EQnoGM;;IAEE,6BAAsC;ERqoG9C;EQppGM;IAAgC,0BAA4B;ERupGlE;EQtpGM;;IAEE,8BAAoC;ERwpG5C;EQtpGM;;IAEE,gCAAwC;ERwpGhD;EQtpGM;;IAEE,iCAA0C;ERwpGlD;EQtpGM;;IAEE,+BAAsC;ERwpG9C;EQvqGM;IAAgC,wBAA4B;ER0qGlE;EQzqGM;;IAEE,4BAAoC;ER2qG5C;EQzqGM;;IAEE,8BAAwC;ER2qGhD;EQzqGM;;IAEE,+BAA0C;ER2qGlD;EQzqGM;;IAEE,6BAAsC;ER2qG9C;EQnqGM;IAAwB,2BAA2B;ERsqGzD;EQrqGM;;IAEE,+BAA+B;ERuqGvC;EQrqGM;;IAEE,iCAAiC;ERuqGzC;EQrqGM;;IAEE,kCAAkC;ERuqG1C;EQrqGM;;IAEE,gCAAgC;ERuqGxC;EQtrGM;IAAwB,0BAA2B;ERyrGzD;EQxrGM;;IAEE,8BAA+B;ER0rGvC;EQxrGM;;IAEE,gCAAiC;ER0rGzC;EQxrGM;;IAEE,iCAAkC;ER0rG1C;EQxrGM;;IAEE,+BAAgC;ER0rGxC;EQzsGM;IAAwB,wBAA2B;ER4sGzD;EQ3sGM;;IAEE,4BAA+B;ER6sGvC;EQ3sGM;;IAEE,8BAAiC;ER6sGzC;EQ3sGM;;IAEE,+BAAkC;ER6sG1C;EQ3sGM;;IAEE,6BAAgC;ER6sGxC;EQ5tGM;IAAwB,0BAA2B;ER+tGzD;EQ9tGM;;IAEE,8BAA+B;ERguGvC;EQ9tGM;;IAEE,gCAAiC;ERguGzC;EQ9tGM;;IAEE,iCAAkC;ERguG1C;EQ9tGM;;IAEE,+BAAgC;ERguGxC;EQ/uGM;IAAwB,wBAA2B;ERkvGzD;EQjvGM;;IAEE,4BAA+B;ERmvGvC;EQjvGM;;IAEE,8BAAiC;ERmvGzC;EQjvGM;;IAEE,+BAAkC;ERmvG1C;EQjvGM;;IAEE,6BAAgC;ERmvGxC;EQ7uGE;IAAmB,uBAAuB;ERgvG5C;EQ/uGE;;IAEE,2BAA2B;ERivG/B;EQ/uGE;;IAEE,6BAA6B;ERivGjC;EQ/uGE;;IAEE,8BAA8B;ERivGlC;EQ/uGE;;IAEE,4BAA4B;ERivGhC;AACF","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  -ms-overflow-style: scrollbar;\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\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\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  -ms-overflow-style: scrollbar;\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 {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\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.order-first {\n  order: -1;\n}\n\n.order-last {\n  order: 13;\n}\n\n.order-0 {\n  order: 0;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\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  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-last {\n    order: 13;\n  }\n  .order-sm-0 {\n    order: 0;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\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  .order-md-first {\n    order: -1;\n  }\n  .order-md-last {\n    order: 13;\n  }\n  .order-md-0 {\n    order: 0;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\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  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-last {\n    order: 13;\n  }\n  .order-lg-0 {\n    order: 0;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\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  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-last {\n    order: 13;\n  }\n  .order-xl-0 {\n    order: 0;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\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@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}\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}\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}\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}\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.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-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.flex-fill {\n  flex: 1 1 auto !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.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@media (min-width: 576px) {\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-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  .flex-sm-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 768px) {\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-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  .flex-md-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 992px) {\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-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  .flex-lg-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 1200px) {\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-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  .flex-xl-fill {\n    flex: 1 1 auto !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  .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}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !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  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of 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($gutter: $grid-gutter-width) {\n  width: 100%;\n  padding-right: $gutter / 2;\n  padding-left: $gutter / 2;\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  @return if($n != null and $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","// 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\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-hover-media-query:                    false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes:                         true !default;\n$enable-pointer-cursor-for-buttons:           true !default;\n$enable-print-styles:                         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// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n  (\n    25: 25%,\n    50: 50%,\n    75: 75%,\n    100: 100%,\n    auto: auto\n  ),\n  $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              theme-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// 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// 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\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"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: join(\n  (\n    (21 9),\n    (16 9),\n    (4 3),\n    (1 1),\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-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-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-border-color:             rgba($black, .1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black, .25) !default;\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:          .75rem !default;\n$table-cell-padding-sm:       .3rem !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\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$table-dark-color:            $white !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-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\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:                      inset 0 1px 1px rgba($black, .075) !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$form-text-margin-top:                  .25rem !default;\n\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .3rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n$form-check-inline-input-margin-x:      .3125rem !default;\n\n$form-grid-gutter-width:                10px !default;\n$form-group-margin-bottom:              1rem !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$custom-forms-transition:               background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter:                 .5rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           $input-bg !default;\n\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg:          $input-disabled-bg !default;\n$custom-control-label-disabled-color:           $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $component-active-color !default;\n$custom-control-indicator-checked-bg:           $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg:  rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow:     $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color:   $input-focus-border-color !default;\n\n$custom-control-indicator-active-color:         $component-active-color !default;\n$custom-control-indicator-active-bg:            lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n$custom-control-indicator-active-border-color:  $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:           $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color:        $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:         str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow:   none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width:                           $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius:         $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size:                  calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y:           $input-padding-y !default;\n$custom-select-padding-x:           $input-padding-x !default;\n$custom-select-font-family:         $input-font-family !default;\n$custom-select-font-size:           $input-font-size !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight:         $input-font-weight !default;\n$custom-select-line-height:         $input-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $input-bg !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     $gray-800 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background:          $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position:      center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size:          $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width:        $input-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n$custom-select-box-shadow:          inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color:  $input-focus-border-color !default;\n$custom-select-focus-width:         $input-focus-width !default;\n$custom-select-focus-box-shadow:    0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm:        $input-padding-y-sm !default;\n$custom-select-padding-x-sm:        $input-padding-x-sm !default;\n$custom-select-font-size-sm:        $input-font-size-sm !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-select-padding-y-lg:        $input-padding-y-lg !default;\n$custom-select-padding-x-lg:        $input-padding-x-lg !default;\n$custom-select-font-size-lg:        $input-font-size-lg !default;\n$custom-select-height-lg:           $input-height-lg !default;\n\n$custom-range-track-width:          100% !default;\n$custom-range-track-height:         .5rem !default;\n$custom-range-track-cursor:         pointer !default;\n$custom-range-track-bg:             $gray-300 !default;\n$custom-range-track-border-radius:  1rem !default;\n$custom-range-track-box-shadow:     inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width:                   1rem !default;\n$custom-range-thumb-height:                  $custom-range-thumb-width !default;\n$custom-range-thumb-bg:                      $component-active-bg !default;\n$custom-range-thumb-border:                  0 !default;\n$custom-range-thumb-border-radius:           1rem !default;\n$custom-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg:               lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg:             $gray-500 !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-height-inner:          $input-height-inner !default;\n$custom-file-focus-border-color:    $input-focus-border-color !default;\n$custom-file-focus-box-shadow:      $input-focus-box-shadow !default;\n$custom-file-disabled-bg:           $input-disabled-bg !default;\n\n$custom-file-padding-y:             $input-padding-y !default;\n$custom-file-padding-x:             $input-padding-x !default;\n$custom-file-line-height:           $input-line-height !default;\n$custom-file-font-family:           $input-font-family !default;\n$custom-file-font-weight:           $input-font-weight !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  en: \"Browse\"\n) !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:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath 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'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !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$nav-divider-color:                 $gray-200 !default;\n$nav-divider-margin-y:              $spacer / 2 !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:       str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:      str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:         $nav-divider-margin-y !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black, .175) !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-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// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-color:                   null !default;\n$jumbotron-bg:                      $gray-200 !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$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !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-box-shadow:                0 .25rem .5rem rgba($black, .2) !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:               .25rem !default;\n$toast-box-shadow:                  0 .25rem .75rem rgba($black, .1) !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-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-transition:                  $btn-transition !default;\n$badge-focus-width:                 $input-btn-focus-width !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               1rem !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-box-shadow-xs:       0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up:    0 .5rem 1rem rgba($black, .5) !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:               inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"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:              0 1px 2px rgba($black, .075) !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:           .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:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size:                   a3 !default;\n$print-body-min-width:              map-get($grid-breakpoints, \"lg\") !default;\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      .order#{$infix}-first { order: -1; }\n\n      .order#{$infix}-last { order: $columns + 1; }\n\n      @for $i from 0 through $columns {\n        .order#{$infix}-#{$i} { order: $i; }\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","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\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    @each $value in $displays {\n      .d#{$infix}-#{$value} { display: $value !important; }\n    }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n  @each $value in $displays {\n    .d-print-#{$value} { display: $value !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n    .flex#{$infix}-fill         { flex: 1 1 auto !important; }\n    .flex#{$infix}-grow-0       { flex-grow: 0 !important; }\n    .flex#{$infix}-grow-1       { flex-grow: 1 !important; }\n    .flex#{$infix}-shrink-0     { flex-shrink: 0 !important; }\n    .flex#{$infix}-shrink-1     { flex-shrink: 1 !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n    @each $size, $length in $spacers {\n      @if $size != 0 {\n        .m#{$infix}-n#{$size} { margin: -$length !important; }\n        .mt#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-top: -$length !important;\n        }\n        .mr#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-right: -$length !important;\n        }\n        .mb#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-bottom: -$length !important;\n        }\n        .ml#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-left: -$length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css
deleted file mode 100644
index e5e74f7..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::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{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.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:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}
-/*# sourceMappingURL=bootstrap-grid.min.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css.map
deleted file mode 100644
index 13e33db..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-grid.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"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/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.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  -ms-overflow-style: scrollbar;\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\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\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  -ms-overflow-style: scrollbar;\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 {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\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  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: auto;\n  max-width: 100%;\n}\n\n.col-1 {\n  -ms-flex: 0 0 8.333333%;\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  -ms-flex: 0 0 16.666667%;\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  -ms-flex: 0 0 25%;\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  -ms-flex: 0 0 33.333333%;\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  -ms-flex: 0 0 41.666667%;\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  -ms-flex: 0 0 50%;\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  -ms-flex: 0 0 58.333333%;\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  -ms-flex: 0 0 66.666667%;\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  -ms-flex: 0 0 75%;\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  -ms-flex: 0 0 83.333333%;\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  -ms-flex: 0 0 91.666667%;\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  -ms-flex: 0 0 100%;\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  -ms-flex-order: -1;\n  order: -1;\n}\n\n.order-last {\n  -ms-flex-order: 13;\n  order: 13;\n}\n\n.order-0 {\n  -ms-flex-order: 0;\n  order: 0;\n}\n\n.order-1 {\n  -ms-flex-order: 1;\n  order: 1;\n}\n\n.order-2 {\n  -ms-flex-order: 2;\n  order: 2;\n}\n\n.order-3 {\n  -ms-flex-order: 3;\n  order: 3;\n}\n\n.order-4 {\n  -ms-flex-order: 4;\n  order: 4;\n}\n\n.order-5 {\n  -ms-flex-order: 5;\n  order: 5;\n}\n\n.order-6 {\n  -ms-flex-order: 6;\n  order: 6;\n}\n\n.order-7 {\n  -ms-flex-order: 7;\n  order: 7;\n}\n\n.order-8 {\n  -ms-flex-order: 8;\n  order: 8;\n}\n\n.order-9 {\n  -ms-flex-order: 9;\n  order: 9;\n}\n\n.order-10 {\n  -ms-flex-order: 10;\n  order: 10;\n}\n\n.order-11 {\n  -ms-flex-order: 11;\n  order: 11;\n}\n\n.order-12 {\n  -ms-flex-order: 12;\n  order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-sm-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-sm-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-sm-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-sm-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-sm-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-sm-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-sm-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-sm-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-sm-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-sm-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-sm-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-sm-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-sm-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-sm-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-sm-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-md-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-md-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-md-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-md-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-md-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-md-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-md-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-md-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-md-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-md-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-md-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-md-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-md-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-md-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-md-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-lg-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-lg-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-lg-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-lg-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-lg-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-lg-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-lg-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-lg-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-lg-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-lg-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-lg-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-lg-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-lg-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-lg-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-lg-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-xl-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-xl-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-xl-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-xl-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-xl-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-xl-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-xl-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-xl-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-xl-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-xl-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-xl-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-xl-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-xl-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-xl-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-xl-12 {\n    -ms-flex-order: 12;\n    order: 12;\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: -ms-flexbox !important;\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n.flex-row {\n  -ms-flex-direction: row !important;\n  flex-direction: row !important;\n}\n\n.flex-column {\n  -ms-flex-direction: column !important;\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  -ms-flex-direction: row-reverse !important;\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  -ms-flex-direction: column-reverse !important;\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  -ms-flex-wrap: wrap !important;\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  -ms-flex-wrap: nowrap !important;\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  -ms-flex-wrap: wrap-reverse !important;\n  flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n  -ms-flex: 1 1 auto !important;\n  flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n  -ms-flex-positive: 0 !important;\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  -ms-flex-positive: 1 !important;\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  -ms-flex-negative: 0 !important;\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  -ms-flex-negative: 1 !important;\n  flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n  -ms-flex-pack: start !important;\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  -ms-flex-pack: end !important;\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  -ms-flex-pack: center !important;\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  -ms-flex-pack: justify !important;\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  -ms-flex-pack: distribute !important;\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  -ms-flex-align: start !important;\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  -ms-flex-align: end !important;\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  -ms-flex-align: center !important;\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  -ms-flex-align: baseline !important;\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  -ms-flex-align: stretch !important;\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  -ms-flex-line-pack: start !important;\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  -ms-flex-line-pack: end !important;\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  -ms-flex-line-pack: center !important;\n  align-content: center !important;\n}\n\n.align-content-between {\n  -ms-flex-line-pack: justify !important;\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  -ms-flex-line-pack: distribute !important;\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  -ms-flex-line-pack: stretch !important;\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  -ms-flex-item-align: auto !important;\n  align-self: auto !important;\n}\n\n.align-self-start {\n  -ms-flex-item-align: start !important;\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  -ms-flex-item-align: end !important;\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  -ms-flex-item-align: center !important;\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  -ms-flex-item-align: baseline !important;\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  -ms-flex-item-align: stretch !important;\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-sm-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-sm-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-md-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-md-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-md-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-lg-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-lg-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-xl-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-xl-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !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  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of 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($gutter: $grid-gutter-width) {\n  width: 100%;\n  padding-right: $gutter / 2;\n  padding-left: $gutter / 2;\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  @return if($n != null and $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      .order#{$infix}-first { order: -1; }\n\n      .order#{$infix}-last { order: $columns + 1; }\n\n      @for $i from 0 through $columns {\n        .order#{$infix}-#{$i} { order: $i; }\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","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\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    @each $value in $displays {\n      .d#{$infix}-#{$value} { display: $value !important; }\n    }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n  @each $value in $displays {\n    .d-print-#{$value} { display: $value !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n    .flex#{$infix}-fill         { flex: 1 1 auto !important; }\n    .flex#{$infix}-grow-0       { flex-grow: 0 !important; }\n    .flex#{$infix}-grow-1       { flex-grow: 1 !important; }\n    .flex#{$infix}-shrink-0     { flex-shrink: 0 !important; }\n    .flex#{$infix}-shrink-1     { flex-shrink: 1 !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n    @each $size, $length in $spacers {\n      @if $size != 0 {\n        .m#{$infix}-n#{$size} { margin: -$length !important; }\n        .mt#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-top: -$length !important;\n        }\n        .mr#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-right: -$length !important;\n        }\n        .mb#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-bottom: -$length !important;\n        }\n        .ml#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-left: -$length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css
deleted file mode 100644
index 09cf986..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css
+++ /dev/null
@@ -1,331 +0,0 @@
-/*!
- * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */
-*,
-*::before,
-*::after {
-  box-sizing: border-box;
-}
-
-html {
-  font-family: sans-serif;
-  line-height: 1.15;
-  -webkit-text-size-adjust: 100%;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
-  display: block;
-}
-
-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;
-  text-align: left;
-  background-color: #fff;
-}
-
-[tabindex="-1"]:focus {
-  outline: 0 !important;
-}
-
-hr {
-  box-sizing: content-box;
-  height: 0;
-  overflow: visible;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  margin-top: 0;
-  margin-bottom: 0.5rem;
-}
-
-p {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-abbr[title],
-abbr[data-original-title] {
-  text-decoration: underline;
-  -webkit-text-decoration: underline dotted;
-  text-decoration: underline dotted;
-  cursor: help;
-  border-bottom: 0;
-  -webkit-text-decoration-skip-ink: none;
-  text-decoration-skip-ink: none;
-}
-
-address {
-  margin-bottom: 1rem;
-  font-style: normal;
-  line-height: inherit;
-}
-
-ol,
-ul,
-dl {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-ol ol,
-ul ul,
-ol ul,
-ul ol {
-  margin-bottom: 0;
-}
-
-dt {
-  font-weight: 700;
-}
-
-dd {
-  margin-bottom: .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;
-  background-color: transparent;
-}
-
-a:hover {
-  color: #0056b3;
-  text-decoration: underline;
-}
-
-a:not([href]):not([tabindex]) {
-  color: inherit;
-  text-decoration: none;
-}
-
-a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
-  color: inherit;
-  text-decoration: none;
-}
-
-a:not([href]):not([tabindex]):focus {
-  outline: 0;
-}
-
-pre,
-code,
-kbd,
-samp {
-  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-  font-size: 1em;
-}
-
-pre {
-  margin-top: 0;
-  margin-bottom: 1rem;
-  overflow: auto;
-}
-
-figure {
-  margin: 0 0 1rem;
-}
-
-img {
-  vertical-align: middle;
-  border-style: none;
-}
-
-svg {
-  overflow: hidden;
-  vertical-align: middle;
-}
-
-table {
-  border-collapse: collapse;
-}
-
-caption {
-  padding-top: 0.75rem;
-  padding-bottom: 0.75rem;
-  color: #6c757d;
-  text-align: left;
-  caption-side: bottom;
-}
-
-th {
-  text-align: inherit;
-}
-
-label {
-  display: inline-block;
-  margin-bottom: 0.5rem;
-}
-
-button {
-  border-radius: 0;
-}
-
-button:focus {
-  outline: 1px dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-}
-
-input,
-button,
-select,
-optgroup,
-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;
-}
-
-button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
-  -webkit-appearance: button;
-}
-
-button:not(:disabled),
-[type="button"]:not(:disabled),
-[type="reset"]:not(:disabled),
-[type="submit"]:not(:disabled) {
-  cursor: pointer;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
-  padding: 0;
-  border-style: none;
-}
-
-input[type="radio"],
-input[type="checkbox"] {
-  box-sizing: border-box;
-  padding: 0;
-}
-
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
-  -webkit-appearance: listbox;
-}
-
-textarea {
-  overflow: auto;
-  resize: vertical;
-}
-
-fieldset {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  display: block;
-  width: 100%;
-  max-width: 100%;
-  padding: 0;
-  margin-bottom: .5rem;
-  font-size: 1.5rem;
-  line-height: inherit;
-  color: inherit;
-  white-space: normal;
-}
-
-progress {
-  vertical-align: baseline;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-[type="search"] {
-  outline-offset: -2px;
-  -webkit-appearance: none;
-}
-
-[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-output {
-  display: inline-block;
-}
-
-summary {
-  display: list-item;
-  cursor: pointer;
-}
-
-template {
-  display: none;
-}
-
-[hidden] {
-  display: none !important;
-}
-/*# sourceMappingURL=bootstrap-reboot.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css.map
deleted file mode 100644
index d0b0f02..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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. Set an explicit initial text-align value so that we can later use\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  @include font-size($font-size-base);\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\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`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\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. Remove the bottom border in Firefox 39-.\n// 5. 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  border-bottom: 0; // 4\n  text-decoration-skip-ink: none; // 5\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\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\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n  @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\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//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n\n  @include 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// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\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\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n  // Workaround for the SVG overflow bug in IE10/11 is still required.\n  // See https://github.com/twbs/bootstrap/issues/26878\n  overflow: hidden;\n  vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\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\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\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\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/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n  word-wrap: normal;\n}\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.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n  button,\n  [type=\"button\"],\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    &:not(:disabled) {\n      cursor: pointer;\n    }\n  }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\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  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // 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  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  @include font-size(1.5rem);\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // 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  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n  cursor: pointer;\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\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\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-hover-media-query:                    false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes:                         true !default;\n$enable-pointer-cursor-for-buttons:           true !default;\n$enable-print-styles:                         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// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n  (\n    25: 25%,\n    50: 50%,\n    75: 75%,\n    100: 100%,\n    auto: auto\n  ),\n  $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              theme-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// 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// 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\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"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: join(\n  (\n    (21 9),\n    (16 9),\n    (4 3),\n    (1 1),\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-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-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-border-color:             rgba($black, .1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black, .25) !default;\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:          .75rem !default;\n$table-cell-padding-sm:       .3rem !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\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$table-dark-color:            $white !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-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\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:                      inset 0 1px 1px rgba($black, .075) !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$form-text-margin-top:                  .25rem !default;\n\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .3rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n$form-check-inline-input-margin-x:      .3125rem !default;\n\n$form-grid-gutter-width:                10px !default;\n$form-group-margin-bottom:              1rem !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$custom-forms-transition:               background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter:                 .5rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           $input-bg !default;\n\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg:          $input-disabled-bg !default;\n$custom-control-label-disabled-color:           $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $component-active-color !default;\n$custom-control-indicator-checked-bg:           $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg:  rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow:     $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color:   $input-focus-border-color !default;\n\n$custom-control-indicator-active-color:         $component-active-color !default;\n$custom-control-indicator-active-bg:            lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n$custom-control-indicator-active-border-color:  $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:           $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color:        $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:         str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow:   none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width:                           $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius:         $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size:                  calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y:           $input-padding-y !default;\n$custom-select-padding-x:           $input-padding-x !default;\n$custom-select-font-family:         $input-font-family !default;\n$custom-select-font-size:           $input-font-size !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight:         $input-font-weight !default;\n$custom-select-line-height:         $input-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $input-bg !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     $gray-800 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background:          $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position:      center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size:          $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width:        $input-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n$custom-select-box-shadow:          inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color:  $input-focus-border-color !default;\n$custom-select-focus-width:         $input-focus-width !default;\n$custom-select-focus-box-shadow:    0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm:        $input-padding-y-sm !default;\n$custom-select-padding-x-sm:        $input-padding-x-sm !default;\n$custom-select-font-size-sm:        $input-font-size-sm !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-select-padding-y-lg:        $input-padding-y-lg !default;\n$custom-select-padding-x-lg:        $input-padding-x-lg !default;\n$custom-select-font-size-lg:        $input-font-size-lg !default;\n$custom-select-height-lg:           $input-height-lg !default;\n\n$custom-range-track-width:          100% !default;\n$custom-range-track-height:         .5rem !default;\n$custom-range-track-cursor:         pointer !default;\n$custom-range-track-bg:             $gray-300 !default;\n$custom-range-track-border-radius:  1rem !default;\n$custom-range-track-box-shadow:     inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width:                   1rem !default;\n$custom-range-thumb-height:                  $custom-range-thumb-width !default;\n$custom-range-thumb-bg:                      $component-active-bg !default;\n$custom-range-thumb-border:                  0 !default;\n$custom-range-thumb-border-radius:           1rem !default;\n$custom-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg:               lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg:             $gray-500 !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-height-inner:          $input-height-inner !default;\n$custom-file-focus-border-color:    $input-focus-border-color !default;\n$custom-file-focus-box-shadow:      $input-focus-box-shadow !default;\n$custom-file-disabled-bg:           $input-disabled-bg !default;\n\n$custom-file-padding-y:             $input-padding-y !default;\n$custom-file-padding-x:             $input-padding-x !default;\n$custom-file-line-height:           $input-line-height !default;\n$custom-file-font-family:           $input-font-family !default;\n$custom-file-font-weight:           $input-font-weight !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  en: \"Browse\"\n) !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:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath 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'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !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$nav-divider-color:                 $gray-200 !default;\n$nav-divider-margin-y:              $spacer / 2 !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:       str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:      str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:         $nav-divider-margin-y !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black, .175) !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-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// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-color:                   null !default;\n$jumbotron-bg:                      $gray-200 !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$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !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-box-shadow:                0 .25rem .5rem rgba($black, .2) !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:               .25rem !default;\n$toast-box-shadow:                  0 .25rem .75rem rgba($black, .1) !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-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-transition:                  $btn-transition !default;\n$badge-focus-width:                 $input-btn-focus-width !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               1rem !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-box-shadow-xs:       0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up:    0 .5rem 1rem rgba($black, .5) !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:               inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"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:              0 1px 2px rgba($black, .075) !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:           .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:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size:                   a3 !default;\n$print-body-min-width:              map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\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// 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// 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// 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    // Variables for storing static and fluid rescaling\n    $rfs-static: null;\n    $rfs-fluid: null;\n\n    // Remove px-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    @if $rfs-font-size-unit == rem {\n      $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n    }\n    @else if $rfs-font-size-unit == px {\n      $rfs-static: #{$fs}px#{$rfs-suffix};\n    }\n    @else {\n      @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n    }\n\n    // Only add media query if font-size is bigger as the minimum font-size\n    // If $rfs-factor == 1, no rescaling will take place\n    @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n      $min-width: null;\n      $variable-unit: null;\n\n      // Calculate minimum font-size for given font-size\n      $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n      // Calculate difference between given font-size and minimum font-size for given font-size\n      $fs-diff: $fs - $fs-min;\n\n      // Base font-size formatting\n      // No need to check if the unit is valid, because we did that before\n      $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n      // If two-dimensional, use smallest of screen width and height\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\n    // Rendering\n    @if $rfs-fluid == null {\n      // Only render static font-size if no fluid font-size is available\n      font-size: $rfs-static;\n    }\n    @else {\n      $mq-value: null;\n\n      // RFS breakpoint formatting\n      @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n        $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n      }\n      @else if $rfs-breakpoint-unit == px {\n        $mq-value: #{$rfs-breakpoint}px;\n      }\n      @else {\n        @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n      }\n\n      @if $rfs-class == \"disable\" {\n        // Adding an extra class increases specificity,\n        // which prevents the media query to override the font size\n        &,\n        .disable-responsive-font-size &,\n        &.disable-responsive-font-size {\n          font-size: $rfs-static;\n        }\n      }\n      @else {\n        font-size: $rfs-static;\n      }\n\n      @if $rfs-two-dimensional {\n        @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n      @else {\n        @media (max-width: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n    }\n  }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\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","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n  &:hover { @content; }\n}\n\n@mixin hover-focus {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css
deleted file mode 100644
index c804b3b..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/*!
- * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
- */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}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;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}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;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
-/*# sourceMappingURL=bootstrap-reboot.min.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css.map
deleted file mode 100644
index 73f4a19..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap-reboot.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"AAAA;;;;;;ACkBA,ECTA,QADA,SDaE,WAAA,WAGF,KACE,YAAA,WACA,YAAA,KACA,yBAAA,KACA,4BAAA,YAMF,QAAA,MAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,IAAA,QACE,QAAA,MAUF,KACE,OAAA,EACA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBEgFI,UAAA,KF9EJ,YAAA,IACA,YAAA,IACA,MAAA,QACA,WAAA,KACA,iBAAA,KGlBF,sBH2BE,QAAA,YASF,GACE,WAAA,YACA,OAAA,EACA,SAAA,QAaF,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,MAOF,EACE,WAAA,EACA,cAAA,KC1CF,0BDqDA,YAEE,gBAAA,UACA,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,cAAA,EACA,iCAAA,KAAA,yBAAA,KAGF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QC/CF,GDkDA,GCnDA,GDsDE,WAAA,EACA,cAAA,KAGF,MClDA,MACA,MAFA,MDuDE,cAAA,EAGF,GACE,YAAA,IAGF,GACE,cAAA,MACA,YAAA,EAGF,WACE,OAAA,EAAA,EAAA,KAGF,ECnDA,ODqDE,YAAA,OAGF,MEpFI,UAAA,IF6FJ,ICxDA,ID0DE,SAAA,SE/FE,UAAA,IFiGF,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAON,EACE,MAAA,QACA,gBAAA,KACA,iBAAA,YI5KA,QJ+KE,MAAA,QACA,gBAAA,UAUJ,8BACE,MAAA,QACA,gBAAA,KIxLA,oCAAA,oCJ2LE,MAAA,QACA,gBAAA,KANJ,oCAUI,QAAA,EC1DJ,KACA,IDkEA,ICjEA,KDqEE,YAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UErJE,UAAA,IFyJJ,IAEE,WAAA,EAEA,cAAA,KAEA,SAAA,KAQF,OAEE,OAAA,EAAA,EAAA,KAQF,IACE,eAAA,OACA,aAAA,KAGF,IAGE,SAAA,OACA,eAAA,OAQF,MACE,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,QACA,WAAA,KACA,aAAA,OAGF,GAGE,WAAA,QAQF,MAEE,QAAA,aACA,cAAA,MAMF,OAEE,cAAA,EAOF,aACE,QAAA,IAAA,OACA,QAAA,IAAA,KAAA,yBCrGF,ODwGA,MCtGA,SADA,OAEA,SD0GE,OAAA,EACA,YAAA,QEtPE,UAAA,QFwPF,YAAA,QAGF,OCxGA,MD0GE,SAAA,QAGF,OCxGA,OD0GE,eAAA,KAMF,OACE,UAAA,OCxGF,cACA,aACA,cD6GA,OAIE,mBAAA,OC5GF,6BACA,4BACA,6BD+GE,sBAKI,OAAA,QC/GN,gCACA,+BACA,gCDmHA,yBAIE,QAAA,EACA,aAAA,KClHF,qBDqHA,kBAEE,WAAA,WACA,QAAA,EAIF,iBCrHA,2BACA,kBAFA,iBD+HE,mBAAA,QAGF,SACE,SAAA,KAEA,OAAA,SAGF,SAME,UAAA,EAEA,QAAA,EACA,OAAA,EACA,OAAA,EAKF,OACE,QAAA,MACA,MAAA,KACA,UAAA,KACA,QAAA,EACA,cAAA,MElSI,UAAA,OFoSJ,YAAA,QACA,MAAA,QACA,YAAA,OAGF,SACE,eAAA,SGpIF,yCFGA,yCDuIE,OAAA,KGrIF,cH6IE,eAAA,KACA,mBAAA,KGzIF,yCHiJE,mBAAA,KAQF,6BACE,KAAA,QACA,mBAAA,OAOF,OACE,QAAA,aAGF,QACE,QAAA,UACA,OAAA,QAGF,SACE,QAAA,KGtJF,SH4JE,QAAA","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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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. Set an explicit initial text-align value so that we can later use\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  @include font-size($font-size-base);\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\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`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\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. Remove the bottom border in Firefox 39-.\n// 5. 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  border-bottom: 0; // 4\n  text-decoration-skip-ink: none; // 5\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\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\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n  @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\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//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n\n  @include 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// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\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\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n  // Workaround for the SVG overflow bug in IE10/11 is still required.\n  // See https://github.com/twbs/bootstrap/issues/26878\n  overflow: hidden;\n  vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\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\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\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\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/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n  word-wrap: normal;\n}\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.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n  button,\n  [type=\"button\"],\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    &:not(:disabled) {\n      cursor: pointer;\n    }\n  }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\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  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // 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  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  @include font-size(1.5rem);\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // 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  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n  cursor: pointer;\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\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 font-resizing\n//\n// See https://github.com/twbs/rfs\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// 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// 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// 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    // Variables for storing static and fluid rescaling\n    $rfs-static: null;\n    $rfs-fluid: null;\n\n    // Remove px-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    @if $rfs-font-size-unit == rem {\n      $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n    }\n    @else if $rfs-font-size-unit == px {\n      $rfs-static: #{$fs}px#{$rfs-suffix};\n    }\n    @else {\n      @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n    }\n\n    // Only add media query if font-size is bigger as the minimum font-size\n    // If $rfs-factor == 1, no rescaling will take place\n    @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n      $min-width: null;\n      $variable-unit: null;\n\n      // Calculate minimum font-size for given font-size\n      $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n      // Calculate difference between given font-size and minimum font-size for given font-size\n      $fs-diff: $fs - $fs-min;\n\n      // Base font-size formatting\n      // No need to check if the unit is valid, because we did that before\n      $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n      // If two-dimensional, use smallest of screen width and height\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\n    // Rendering\n    @if $rfs-fluid == null {\n      // Only render static font-size if no fluid font-size is available\n      font-size: $rfs-static;\n    }\n    @else {\n      $mq-value: null;\n\n      // RFS breakpoint formatting\n      @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n        $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n      }\n      @else if $rfs-breakpoint-unit == px {\n        $mq-value: #{$rfs-breakpoint}px;\n      }\n      @else {\n        @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n      }\n\n      @if $rfs-class == \"disable\" {\n        // Adding an extra class increases specificity,\n        // which prevents the media query to override the font size\n        &,\n        .disable-responsive-font-size &,\n        &.disable-responsive-font-size {\n          font-size: $rfs-static;\n        }\n      }\n      @else {\n        font-size: $rfs-static;\n      }\n\n      @if $rfs-two-dimensional {\n        @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n      @else {\n        @media (max-width: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n    }\n  }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\n[hidden] {\n  display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n  &:hover { @content; }\n}\n\n@mixin hover-focus {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css
deleted file mode 100644
index 8f47589..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css
+++ /dev/null
@@ -1,10038 +0,0 @@
-/*!
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-:root {
-  --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;
-  --breakpoint-xs: 0;
-  --breakpoint-sm: 576px;
-  --breakpoint-md: 768px;
-  --breakpoint-lg: 992px;
-  --breakpoint-xl: 1200px;
-  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-}
-
-*,
-*::before,
-*::after {
-  box-sizing: border-box;
-}
-
-html {
-  font-family: sans-serif;
-  line-height: 1.15;
-  -webkit-text-size-adjust: 100%;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
-  display: block;
-}
-
-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;
-  text-align: left;
-  background-color: #fff;
-}
-
-[tabindex="-1"]:focus {
-  outline: 0 !important;
-}
-
-hr {
-  box-sizing: content-box;
-  height: 0;
-  overflow: visible;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  margin-top: 0;
-  margin-bottom: 0.5rem;
-}
-
-p {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-abbr[title],
-abbr[data-original-title] {
-  text-decoration: underline;
-  -webkit-text-decoration: underline dotted;
-  text-decoration: underline dotted;
-  cursor: help;
-  border-bottom: 0;
-  -webkit-text-decoration-skip-ink: none;
-  text-decoration-skip-ink: none;
-}
-
-address {
-  margin-bottom: 1rem;
-  font-style: normal;
-  line-height: inherit;
-}
-
-ol,
-ul,
-dl {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-ol ol,
-ul ul,
-ol ul,
-ul ol {
-  margin-bottom: 0;
-}
-
-dt {
-  font-weight: 700;
-}
-
-dd {
-  margin-bottom: .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;
-  background-color: transparent;
-}
-
-a:hover {
-  color: #0056b3;
-  text-decoration: underline;
-}
-
-a:not([href]):not([tabindex]) {
-  color: inherit;
-  text-decoration: none;
-}
-
-a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
-  color: inherit;
-  text-decoration: none;
-}
-
-a:not([href]):not([tabindex]):focus {
-  outline: 0;
-}
-
-pre,
-code,
-kbd,
-samp {
-  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-  font-size: 1em;
-}
-
-pre {
-  margin-top: 0;
-  margin-bottom: 1rem;
-  overflow: auto;
-}
-
-figure {
-  margin: 0 0 1rem;
-}
-
-img {
-  vertical-align: middle;
-  border-style: none;
-}
-
-svg {
-  overflow: hidden;
-  vertical-align: middle;
-}
-
-table {
-  border-collapse: collapse;
-}
-
-caption {
-  padding-top: 0.75rem;
-  padding-bottom: 0.75rem;
-  color: #6c757d;
-  text-align: left;
-  caption-side: bottom;
-}
-
-th {
-  text-align: inherit;
-}
-
-label {
-  display: inline-block;
-  margin-bottom: 0.5rem;
-}
-
-button {
-  border-radius: 0;
-}
-
-button:focus {
-  outline: 1px dotted;
-  outline: 5px auto -webkit-focus-ring-color;
-}
-
-input,
-button,
-select,
-optgroup,
-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;
-}
-
-button,
-[type="button"],
-[type="reset"],
-[type="submit"] {
-  -webkit-appearance: button;
-}
-
-button:not(:disabled),
-[type="button"]:not(:disabled),
-[type="reset"]:not(:disabled),
-[type="submit"]:not(:disabled) {
-  cursor: pointer;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
-  padding: 0;
-  border-style: none;
-}
-
-input[type="radio"],
-input[type="checkbox"] {
-  box-sizing: border-box;
-  padding: 0;
-}
-
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
-  -webkit-appearance: listbox;
-}
-
-textarea {
-  overflow: auto;
-  resize: vertical;
-}
-
-fieldset {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  display: block;
-  width: 100%;
-  max-width: 100%;
-  padding: 0;
-  margin-bottom: .5rem;
-  font-size: 1.5rem;
-  line-height: inherit;
-  color: inherit;
-  white-space: normal;
-}
-
-progress {
-  vertical-align: baseline;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
-  height: auto;
-}
-
-[type="search"] {
-  outline-offset: -2px;
-  -webkit-appearance: none;
-}
-
-[type="search"]::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-output {
-  display: inline-block;
-}
-
-summary {
-  display: list-item;
-  cursor: pointer;
-}
-
-template {
-  display: none;
-}
-
-[hidden] {
-  display: none !important;
-}
-
-h1, h2, h3, h4, h5, h6,
-.h1, .h2, .h3, .h4, .h5, .h6 {
-  margin-bottom: 0.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;
-}
-
-.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;
-}
-
-hr {
-  margin-top: 1rem;
-  margin-bottom: 1rem;
-  border: 0;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-
-small,
-.small {
-  font-size: 80%;
-  font-weight: 400;
-}
-
-mark,
-.mark {
-  padding: 0.2em;
-  background-color: #fcf8e3;
-}
-
-.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: 0.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: 0.25rem;
-  background-color: #fff;
-  border: 1px solid #dee2e6;
-  border-radius: 0.25rem;
-  max-width: 100%;
-  height: auto;
-}
-
-.figure {
-  display: inline-block;
-}
-
-.figure-img {
-  margin-bottom: 0.5rem;
-  line-height: 1;
-}
-
-.figure-caption {
-  font-size: 90%;
-  color: #6c757d;
-}
-
-code {
-  font-size: 87.5%;
-  color: #e83e8c;
-  word-break: break-word;
-}
-
-a > code {
-  color: inherit;
-}
-
-kbd {
-  padding: 0.2rem 0.4rem;
-  font-size: 87.5%;
-  color: #fff;
-  background-color: #212529;
-  border-radius: 0.2rem;
-}
-
-kbd kbd {
-  padding: 0;
-  font-size: 100%;
-  font-weight: 700;
-}
-
-pre {
-  display: block;
-  font-size: 87.5%;
-  color: #212529;
-}
-
-pre code {
-  font-size: inherit;
-  color: inherit;
-  word-break: normal;
-}
-
-.pre-scrollable {
-  max-height: 340px;
-  overflow-y: scroll;
-}
-
-.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 {
-  width: 100%;
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-}
-
-.row {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  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-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
-.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,
-.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,
-.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,
-.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,
-.col-xl-auto {
-  position: relative;
-  width: 100%;
-  padding-right: 15px;
-  padding-left: 15px;
-}
-
-.col {
-  -ms-flex-preferred-size: 0;
-  flex-basis: 0;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  max-width: 100%;
-}
-
-.col-auto {
-  -ms-flex: 0 0 auto;
-  flex: 0 0 auto;
-  width: auto;
-  max-width: 100%;
-}
-
-.col-1 {
-  -ms-flex: 0 0 8.333333%;
-  flex: 0 0 8.333333%;
-  max-width: 8.333333%;
-}
-
-.col-2 {
-  -ms-flex: 0 0 16.666667%;
-  flex: 0 0 16.666667%;
-  max-width: 16.666667%;
-}
-
-.col-3 {
-  -ms-flex: 0 0 25%;
-  flex: 0 0 25%;
-  max-width: 25%;
-}
-
-.col-4 {
-  -ms-flex: 0 0 33.333333%;
-  flex: 0 0 33.333333%;
-  max-width: 33.333333%;
-}
-
-.col-5 {
-  -ms-flex: 0 0 41.666667%;
-  flex: 0 0 41.666667%;
-  max-width: 41.666667%;
-}
-
-.col-6 {
-  -ms-flex: 0 0 50%;
-  flex: 0 0 50%;
-  max-width: 50%;
-}
-
-.col-7 {
-  -ms-flex: 0 0 58.333333%;
-  flex: 0 0 58.333333%;
-  max-width: 58.333333%;
-}
-
-.col-8 {
-  -ms-flex: 0 0 66.666667%;
-  flex: 0 0 66.666667%;
-  max-width: 66.666667%;
-}
-
-.col-9 {
-  -ms-flex: 0 0 75%;
-  flex: 0 0 75%;
-  max-width: 75%;
-}
-
-.col-10 {
-  -ms-flex: 0 0 83.333333%;
-  flex: 0 0 83.333333%;
-  max-width: 83.333333%;
-}
-
-.col-11 {
-  -ms-flex: 0 0 91.666667%;
-  flex: 0 0 91.666667%;
-  max-width: 91.666667%;
-}
-
-.col-12 {
-  -ms-flex: 0 0 100%;
-  flex: 0 0 100%;
-  max-width: 100%;
-}
-
-.order-first {
-  -ms-flex-order: -1;
-  order: -1;
-}
-
-.order-last {
-  -ms-flex-order: 13;
-  order: 13;
-}
-
-.order-0 {
-  -ms-flex-order: 0;
-  order: 0;
-}
-
-.order-1 {
-  -ms-flex-order: 1;
-  order: 1;
-}
-
-.order-2 {
-  -ms-flex-order: 2;
-  order: 2;
-}
-
-.order-3 {
-  -ms-flex-order: 3;
-  order: 3;
-}
-
-.order-4 {
-  -ms-flex-order: 4;
-  order: 4;
-}
-
-.order-5 {
-  -ms-flex-order: 5;
-  order: 5;
-}
-
-.order-6 {
-  -ms-flex-order: 6;
-  order: 6;
-}
-
-.order-7 {
-  -ms-flex-order: 7;
-  order: 7;
-}
-
-.order-8 {
-  -ms-flex-order: 8;
-  order: 8;
-}
-
-.order-9 {
-  -ms-flex-order: 9;
-  order: 9;
-}
-
-.order-10 {
-  -ms-flex-order: 10;
-  order: 10;
-}
-
-.order-11 {
-  -ms-flex-order: 11;
-  order: 11;
-}
-
-.order-12 {
-  -ms-flex-order: 12;
-  order: 12;
-}
-
-.offset-1 {
-  margin-left: 8.333333%;
-}
-
-.offset-2 {
-  margin-left: 16.666667%;
-}
-
-.offset-3 {
-  margin-left: 25%;
-}
-
-.offset-4 {
-  margin-left: 33.333333%;
-}
-
-.offset-5 {
-  margin-left: 41.666667%;
-}
-
-.offset-6 {
-  margin-left: 50%;
-}
-
-.offset-7 {
-  margin-left: 58.333333%;
-}
-
-.offset-8 {
-  margin-left: 66.666667%;
-}
-
-.offset-9 {
-  margin-left: 75%;
-}
-
-.offset-10 {
-  margin-left: 83.333333%;
-}
-
-.offset-11 {
-  margin-left: 91.666667%;
-}
-
-@media (min-width: 576px) {
-  .col-sm {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-sm-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-sm-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-sm-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-sm-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-sm-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-sm-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-sm-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-sm-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-sm-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-sm-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-sm-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-sm-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-sm-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-sm-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-sm-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-sm-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-sm-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-sm-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-sm-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-sm-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-sm-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-sm-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-sm-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-sm-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-sm-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-sm-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-sm-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-sm-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-sm-0 {
-    margin-left: 0;
-  }
-  .offset-sm-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-sm-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-sm-3 {
-    margin-left: 25%;
-  }
-  .offset-sm-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-sm-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-sm-6 {
-    margin-left: 50%;
-  }
-  .offset-sm-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-sm-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-sm-9 {
-    margin-left: 75%;
-  }
-  .offset-sm-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-sm-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 768px) {
-  .col-md {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-md-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-md-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-md-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-md-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-md-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-md-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-md-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-md-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-md-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-md-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-md-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-md-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-md-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-md-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-md-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-md-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-md-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-md-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-md-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-md-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-md-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-md-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-md-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-md-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-md-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-md-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-md-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-md-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-md-0 {
-    margin-left: 0;
-  }
-  .offset-md-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-md-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-md-3 {
-    margin-left: 25%;
-  }
-  .offset-md-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-md-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-md-6 {
-    margin-left: 50%;
-  }
-  .offset-md-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-md-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-md-9 {
-    margin-left: 75%;
-  }
-  .offset-md-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-md-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 992px) {
-  .col-lg {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-lg-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-lg-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-lg-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-lg-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-lg-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-lg-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-lg-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-lg-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-lg-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-lg-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-lg-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-lg-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-lg-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-lg-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-lg-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-lg-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-lg-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-lg-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-lg-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-lg-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-lg-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-lg-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-lg-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-lg-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-lg-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-lg-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-lg-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-lg-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-lg-0 {
-    margin-left: 0;
-  }
-  .offset-lg-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-lg-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-lg-3 {
-    margin-left: 25%;
-  }
-  .offset-lg-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-lg-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-lg-6 {
-    margin-left: 50%;
-  }
-  .offset-lg-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-lg-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-lg-9 {
-    margin-left: 75%;
-  }
-  .offset-lg-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-lg-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-@media (min-width: 1200px) {
-  .col-xl {
-    -ms-flex-preferred-size: 0;
-    flex-basis: 0;
-    -ms-flex-positive: 1;
-    flex-grow: 1;
-    max-width: 100%;
-  }
-  .col-xl-auto {
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    width: auto;
-    max-width: 100%;
-  }
-  .col-xl-1 {
-    -ms-flex: 0 0 8.333333%;
-    flex: 0 0 8.333333%;
-    max-width: 8.333333%;
-  }
-  .col-xl-2 {
-    -ms-flex: 0 0 16.666667%;
-    flex: 0 0 16.666667%;
-    max-width: 16.666667%;
-  }
-  .col-xl-3 {
-    -ms-flex: 0 0 25%;
-    flex: 0 0 25%;
-    max-width: 25%;
-  }
-  .col-xl-4 {
-    -ms-flex: 0 0 33.333333%;
-    flex: 0 0 33.333333%;
-    max-width: 33.333333%;
-  }
-  .col-xl-5 {
-    -ms-flex: 0 0 41.666667%;
-    flex: 0 0 41.666667%;
-    max-width: 41.666667%;
-  }
-  .col-xl-6 {
-    -ms-flex: 0 0 50%;
-    flex: 0 0 50%;
-    max-width: 50%;
-  }
-  .col-xl-7 {
-    -ms-flex: 0 0 58.333333%;
-    flex: 0 0 58.333333%;
-    max-width: 58.333333%;
-  }
-  .col-xl-8 {
-    -ms-flex: 0 0 66.666667%;
-    flex: 0 0 66.666667%;
-    max-width: 66.666667%;
-  }
-  .col-xl-9 {
-    -ms-flex: 0 0 75%;
-    flex: 0 0 75%;
-    max-width: 75%;
-  }
-  .col-xl-10 {
-    -ms-flex: 0 0 83.333333%;
-    flex: 0 0 83.333333%;
-    max-width: 83.333333%;
-  }
-  .col-xl-11 {
-    -ms-flex: 0 0 91.666667%;
-    flex: 0 0 91.666667%;
-    max-width: 91.666667%;
-  }
-  .col-xl-12 {
-    -ms-flex: 0 0 100%;
-    flex: 0 0 100%;
-    max-width: 100%;
-  }
-  .order-xl-first {
-    -ms-flex-order: -1;
-    order: -1;
-  }
-  .order-xl-last {
-    -ms-flex-order: 13;
-    order: 13;
-  }
-  .order-xl-0 {
-    -ms-flex-order: 0;
-    order: 0;
-  }
-  .order-xl-1 {
-    -ms-flex-order: 1;
-    order: 1;
-  }
-  .order-xl-2 {
-    -ms-flex-order: 2;
-    order: 2;
-  }
-  .order-xl-3 {
-    -ms-flex-order: 3;
-    order: 3;
-  }
-  .order-xl-4 {
-    -ms-flex-order: 4;
-    order: 4;
-  }
-  .order-xl-5 {
-    -ms-flex-order: 5;
-    order: 5;
-  }
-  .order-xl-6 {
-    -ms-flex-order: 6;
-    order: 6;
-  }
-  .order-xl-7 {
-    -ms-flex-order: 7;
-    order: 7;
-  }
-  .order-xl-8 {
-    -ms-flex-order: 8;
-    order: 8;
-  }
-  .order-xl-9 {
-    -ms-flex-order: 9;
-    order: 9;
-  }
-  .order-xl-10 {
-    -ms-flex-order: 10;
-    order: 10;
-  }
-  .order-xl-11 {
-    -ms-flex-order: 11;
-    order: 11;
-  }
-  .order-xl-12 {
-    -ms-flex-order: 12;
-    order: 12;
-  }
-  .offset-xl-0 {
-    margin-left: 0;
-  }
-  .offset-xl-1 {
-    margin-left: 8.333333%;
-  }
-  .offset-xl-2 {
-    margin-left: 16.666667%;
-  }
-  .offset-xl-3 {
-    margin-left: 25%;
-  }
-  .offset-xl-4 {
-    margin-left: 33.333333%;
-  }
-  .offset-xl-5 {
-    margin-left: 41.666667%;
-  }
-  .offset-xl-6 {
-    margin-left: 50%;
-  }
-  .offset-xl-7 {
-    margin-left: 58.333333%;
-  }
-  .offset-xl-8 {
-    margin-left: 66.666667%;
-  }
-  .offset-xl-9 {
-    margin-left: 75%;
-  }
-  .offset-xl-10 {
-    margin-left: 83.333333%;
-  }
-  .offset-xl-11 {
-    margin-left: 91.666667%;
-  }
-}
-
-.table {
-  width: 100%;
-  margin-bottom: 1rem;
-  color: #212529;
-}
-
-.table th,
-.table td {
-  padding: 0.75rem;
-  vertical-align: top;
-  border-top: 1px solid #dee2e6;
-}
-
-.table thead th {
-  vertical-align: bottom;
-  border-bottom: 2px solid #dee2e6;
-}
-
-.table tbody + tbody {
-  border-top: 2px solid #dee2e6;
-}
-
-.table-sm th,
-.table-sm td {
-  padding: 0.3rem;
-}
-
-.table-bordered {
-  border: 1px solid #dee2e6;
-}
-
-.table-bordered th,
-.table-bordered td {
-  border: 1px solid #dee2e6;
-}
-
-.table-bordered thead th,
-.table-bordered thead td {
-  border-bottom-width: 2px;
-}
-
-.table-borderless th,
-.table-borderless td,
-.table-borderless thead th,
-.table-borderless tbody + tbody {
-  border: 0;
-}
-
-.table-striped tbody tr:nth-of-type(odd) {
-  background-color: rgba(0, 0, 0, 0.05);
-}
-
-.table-hover tbody tr:hover {
-  color: #212529;
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.table-primary,
-.table-primary > th,
-.table-primary > td {
-  background-color: #b8daff;
-}
-
-.table-primary th,
-.table-primary td,
-.table-primary thead th,
-.table-primary tbody + tbody {
-  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 > th,
-.table-secondary > td {
-  background-color: #d6d8db;
-}
-
-.table-secondary th,
-.table-secondary td,
-.table-secondary thead th,
-.table-secondary tbody + tbody {
-  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 > th,
-.table-success > td {
-  background-color: #c3e6cb;
-}
-
-.table-success th,
-.table-success td,
-.table-success thead th,
-.table-success tbody + tbody {
-  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 > th,
-.table-info > td {
-  background-color: #bee5eb;
-}
-
-.table-info th,
-.table-info td,
-.table-info thead th,
-.table-info tbody + tbody {
-  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 > th,
-.table-warning > td {
-  background-color: #ffeeba;
-}
-
-.table-warning th,
-.table-warning td,
-.table-warning thead th,
-.table-warning tbody + tbody {
-  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 > th,
-.table-danger > td {
-  background-color: #f5c6cb;
-}
-
-.table-danger th,
-.table-danger td,
-.table-danger thead th,
-.table-danger tbody + tbody {
-  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 > th,
-.table-light > td {
-  background-color: #fdfdfe;
-}
-
-.table-light th,
-.table-light td,
-.table-light thead th,
-.table-light tbody + tbody {
-  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 > th,
-.table-dark > td {
-  background-color: #c6c8ca;
-}
-
-.table-dark th,
-.table-dark td,
-.table-dark thead th,
-.table-dark tbody + tbody {
-  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 > th,
-.table-active > td {
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.table-hover .table-active:hover {
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.table-hover .table-active:hover > td,
-.table-hover .table-active:hover > th {
-  background-color: rgba(0, 0, 0, 0.075);
-}
-
-.table .thead-dark th {
-  color: #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 th,
-.table-dark td,
-.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, 0.05);
-}
-
-.table-dark.table-hover tbody tr:hover {
-  color: #fff;
-  background-color: rgba(255, 255, 255, 0.075);
-}
-
-@media (max-width: 575.98px) {
-  .table-responsive-sm {
-    display: block;
-    width: 100%;
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive-sm > .table-bordered {
-    border: 0;
-  }
-}
-
-@media (max-width: 767.98px) {
-  .table-responsive-md {
-    display: block;
-    width: 100%;
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive-md > .table-bordered {
-    border: 0;
-  }
-}
-
-@media (max-width: 991.98px) {
-  .table-responsive-lg {
-    display: block;
-    width: 100%;
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive-lg > .table-bordered {
-    border: 0;
-  }
-}
-
-@media (max-width: 1199.98px) {
-  .table-responsive-xl {
-    display: block;
-    width: 100%;
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-  .table-responsive-xl > .table-bordered {
-    border: 0;
-  }
-}
-
-.table-responsive {
-  display: block;
-  width: 100%;
-  overflow-x: auto;
-  -webkit-overflow-scrolling: touch;
-}
-
-.table-responsive > .table-bordered {
-  border: 0;
-}
-
-.form-control {
-  display: block;
-  width: 100%;
-  height: calc(1.5em + 0.75rem + 2px);
-  padding: 0.375rem 0.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: 0.25rem;
-  transition: border-color 0.15s ease-in-out, box-shadow 0.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 0.2rem rgba(0, 123, 255, 0.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;
-}
-
-select.form-control:focus::-ms-value {
-  color: #495057;
-  background-color: #fff;
-}
-
-.form-control-file,
-.form-control-range {
-  display: block;
-  width: 100%;
-}
-
-.col-form-label {
-  padding-top: calc(0.375rem + 1px);
-  padding-bottom: calc(0.375rem + 1px);
-  margin-bottom: 0;
-  font-size: inherit;
-  line-height: 1.5;
-}
-
-.col-form-label-lg {
-  padding-top: calc(0.5rem + 1px);
-  padding-bottom: calc(0.5rem + 1px);
-  font-size: 1.25rem;
-  line-height: 1.5;
-}
-
-.col-form-label-sm {
-  padding-top: calc(0.25rem + 1px);
-  padding-bottom: calc(0.25rem + 1px);
-  font-size: 0.875rem;
-  line-height: 1.5;
-}
-
-.form-control-plaintext {
-  display: block;
-  width: 100%;
-  padding-top: 0.375rem;
-  padding-bottom: 0.375rem;
-  margin-bottom: 0;
-  line-height: 1.5;
-  color: #212529;
-  background-color: transparent;
-  border: solid transparent;
-  border-width: 1px 0;
-}
-
-.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
-  padding-right: 0;
-  padding-left: 0;
-}
-
-.form-control-sm {
-  height: calc(1.5em + 0.5rem + 2px);
-  padding: 0.25rem 0.5rem;
-  font-size: 0.875rem;
-  line-height: 1.5;
-  border-radius: 0.2rem;
-}
-
-.form-control-lg {
-  height: calc(1.5em + 1rem + 2px);
-  padding: 0.5rem 1rem;
-  font-size: 1.25rem;
-  line-height: 1.5;
-  border-radius: 0.3rem;
-}
-
-select.form-control[size], select.form-control[multiple] {
-  height: auto;
-}
-
-textarea.form-control {
-  height: auto;
-}
-
-.form-group {
-  margin-bottom: 1rem;
-}
-
-.form-text {
-  display: block;
-  margin-top: 0.25rem;
-}
-
-.form-row {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  margin-right: -5px;
-  margin-left: -5px;
-}
-
-.form-row > .col,
-.form-row > [class*="col-"] {
-  padding-right: 5px;
-  padding-left: 5px;
-}
-
-.form-check {
-  position: relative;
-  display: block;
-  padding-left: 1.25rem;
-}
-
-.form-check-input {
-  position: absolute;
-  margin-top: 0.3rem;
-  margin-left: -1.25rem;
-}
-
-.form-check-input:disabled ~ .form-check-label {
-  color: #6c757d;
-}
-
-.form-check-label {
-  margin-bottom: 0;
-}
-
-.form-check-inline {
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  -ms-flex-align: center;
-  align-items: center;
-  padding-left: 0;
-  margin-right: 0.75rem;
-}
-
-.form-check-inline .form-check-input {
-  position: static;
-  margin-top: 0;
-  margin-right: 0.3125rem;
-  margin-left: 0;
-}
-
-.valid-feedback {
-  display: none;
-  width: 100%;
-  margin-top: 0.25rem;
-  font-size: 80%;
-  color: #28a745;
-}
-
-.valid-tooltip {
-  position: absolute;
-  top: 100%;
-  z-index: 5;
-  display: none;
-  max-width: 100%;
-  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 .form-control:valid, .form-control.is-valid {
-  border-color: #28a745;
-  padding-right: calc(1.5em + 0.75rem);
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
-  background-repeat: no-repeat;
-  background-position: center right calc(0.375em + 0.1875rem);
-  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-
-.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
-  border-color: #28a745;
-  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);
-}
-
-.was-validated .custom-select:valid, .custom-select.is-valid {
-  border-color: #28a745;
-  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
-  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, 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);
-}
-
-.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
-  border-color: #28a745;
-  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
-}
-
-.was-validated .custom-select:valid ~ .valid-feedback,
-.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
-.custom-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-label, .form-check-input.is-valid ~ .form-check-label {
-  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;
-}
-
-.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
-  color: #28a745;
-}
-
-.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
-  border-color: #28a745;
-}
-
-.was-validated .custom-control-input:valid ~ .valid-feedback,
-.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
-.custom-control-input.is-valid ~ .valid-tooltip {
-  display: block;
-}
-
-.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
-  border-color: #34ce57;
-  background-color: #34ce57;
-}
-
-.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
-  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
-}
-
-.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
-  border-color: #28a745;
-}
-
-.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
-  border-color: #28a745;
-}
-
-.was-validated .custom-file-input:valid ~ .valid-feedback,
-.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
-.custom-file-input.is-valid ~ .valid-tooltip {
-  display: block;
-}
-
-.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
-  border-color: #28a745;
-  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
-}
-
-.invalid-feedback {
-  display: none;
-  width: 100%;
-  margin-top: 0.25rem;
-  font-size: 80%;
-  color: #dc3545;
-}
-
-.invalid-tooltip {
-  position: absolute;
-  top: 100%;
-  z-index: 5;
-  display: none;
-  max-width: 100%;
-  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 .form-control:invalid, .form-control.is-invalid {
-  border-color: #dc3545;
-  padding-right: calc(1.5em + 0.75rem);
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
-  background-repeat: no-repeat;
-  background-position: center right calc(0.375em + 0.1875rem);
-  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-
-.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
-  border-color: #dc3545;
-  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);
-}
-
-.was-validated .custom-select:invalid, .custom-select.is-invalid {
-  border-color: #dc3545;
-  padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);
-  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-
-.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
-  border-color: #dc3545;
-  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
-}
-
-.was-validated .custom-select:invalid ~ .invalid-feedback,
-.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
-.custom-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-label, .form-check-input.is-invalid ~ .form-check-label {
-  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;
-}
-
-.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
-  color: #dc3545;
-}
-
-.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
-  border-color: #dc3545;
-}
-
-.was-validated .custom-control-input:invalid ~ .invalid-feedback,
-.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
-.custom-control-input.is-invalid ~ .invalid-tooltip {
-  display: block;
-}
-
-.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
-  border-color: #e4606d;
-  background-color: #e4606d;
-}
-
-.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
-  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
-}
-
-.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
-  border-color: #dc3545;
-}
-
-.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
-  border-color: #dc3545;
-}
-
-.was-validated .custom-file-input:invalid ~ .invalid-feedback,
-.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
-.custom-file-input.is-invalid ~ .invalid-tooltip {
-  display: block;
-}
-
-.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
-  border-color: #dc3545;
-  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
-}
-
-.form-inline {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-flow: row wrap;
-  flex-flow: row wrap;
-  -ms-flex-align: center;
-  align-items: center;
-}
-
-.form-inline .form-check {
-  width: 100%;
-}
-
-@media (min-width: 576px) {
-  .form-inline label {
-    display: -ms-flexbox;
-    display: flex;
-    -ms-flex-align: center;
-    align-items: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    margin-bottom: 0;
-  }
-  .form-inline .form-group {
-    display: -ms-flexbox;
-    display: flex;
-    -ms-flex: 0 0 auto;
-    flex: 0 0 auto;
-    -ms-flex-flow: row wrap;
-    flex-flow: row wrap;
-    -ms-flex-align: center;
-    align-items: center;
-    margin-bottom: 0;
-  }
-  .form-inline .form-control {
-    display: inline-block;
-    width: auto;
-    vertical-align: middle;
-  }
-  .form-inline .form-control-plaintext {
-    display: inline-block;
-  }
-  .form-inline .input-group,
-  .form-inline .custom-select {
-    width: auto;
-  }
-  .form-inline .form-check {
-    display: -ms-flexbox;
-    display: flex;
-    -ms-flex-align: center;
-    align-items: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-    width: auto;
-    padding-left: 0;
-  }
-  .form-inline .form-check-input {
-    position: relative;
-    -ms-flex-negative: 0;
-    flex-shrink: 0;
-    margin-top: 0;
-    margin-right: 0.25rem;
-    margin-left: 0;
-  }
-  .form-inline .custom-control {
-    -ms-flex-align: center;
-    align-items: center;
-    -ms-flex-pack: center;
-    justify-content: center;
-  }
-  .form-inline .custom-control-label {
-    margin-bottom: 0;
-  }
-}
-
-.btn {
-  display: inline-block;
-  font-weight: 400;
-  color: #212529;
-  text-align: center;
-  vertical-align: middle;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  background-color: transparent;
-  border: 1px solid transparent;
-  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;
-}
-
-@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 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.btn.disabled, .btn:disabled {
-  opacity: 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.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 0.2rem rgba(38, 143, 255, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.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 0.2rem rgba(130, 138, 145, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.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 0.2rem rgba(72, 180, 97, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.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 0.2rem rgba(58, 176, 195, 0.5);
-}
-
-.btn-warning {
-  color: #212529;
-  background-color: #ffc107;
-  border-color: #ffc107;
-}
-
-.btn-warning:hover {
-  color: #212529;
-  background-color: #e0a800;
-  border-color: #d39e00;
-}
-
-.btn-warning:focus, .btn-warning.focus {
-  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.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 0.2rem rgba(222, 170, 12, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.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 0.2rem rgba(225, 83, 97, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.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 0.2rem rgba(216, 217, 219, 0.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 {
-  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.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 0.2rem rgba(82, 88, 93, 0.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 0.2rem rgba(0, 123, 255, 0.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 0.2rem rgba(0, 123, 255, 0.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 0.2rem rgba(108, 117, 125, 0.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 0.2rem rgba(108, 117, 125, 0.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 0.2rem rgba(40, 167, 69, 0.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 0.2rem rgba(40, 167, 69, 0.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 0.2rem rgba(23, 162, 184, 0.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 0.2rem rgba(23, 162, 184, 0.5);
-}
-
-.btn-outline-warning {
-  color: #ffc107;
-  border-color: #ffc107;
-}
-
-.btn-outline-warning:hover {
-  color: #212529;
-  background-color: #ffc107;
-  border-color: #ffc107;
-}
-
-.btn-outline-warning:focus, .btn-outline-warning.focus {
-  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.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 0.2rem rgba(255, 193, 7, 0.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 0.2rem rgba(220, 53, 69, 0.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 0.2rem rgba(220, 53, 69, 0.5);
-}
-
-.btn-outline-light {
-  color: #f8f9fa;
-  border-color: #f8f9fa;
-}
-
-.btn-outline-light:hover {
-  color: #212529;
-  background-color: #f8f9fa;
-  border-color: #f8f9fa;
-}
-
-.btn-outline-light:focus, .btn-outline-light.focus {
-  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.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 0.2rem rgba(248, 249, 250, 0.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 0.2rem rgba(52, 58, 64, 0.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 0.2rem rgba(52, 58, 64, 0.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-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;
-}
-
-.btn-block {
-  display: block;
-  width: 100%;
-}
-
-.btn-block + .btn-block {
-  margin-top: 0.5rem;
-}
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
-  width: 100%;
-}
-
-.fade {
-  transition: opacity 0.15s linear;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .fade {
-    transition: none;
-  }
-}
-
-.fade:not(.show) {
-  opacity: 0;
-}
-
-.collapse:not(.show) {
-  display: none;
-}
-
-.collapsing {
-  position: relative;
-  height: 0;
-  overflow: hidden;
-  transition: height 0.35s ease;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .collapsing {
-    transition: none;
-  }
-}
-
-.dropup,
-.dropright,
-.dropdown,
-.dropleft {
-  position: relative;
-}
-
-.dropdown-toggle {
-  white-space: nowrap;
-}
-
-.dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid;
-  border-right: 0.3em solid transparent;
-  border-bottom: 0;
-  border-left: 0.3em solid transparent;
-}
-
-.dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-
-.dropdown-menu {
-  position: absolute;
-  top: 100%;
-  left: 0;
-  z-index: 1000;
-  display: none;
-  float: left;
-  min-width: 10rem;
-  padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
-  font-size: 1rem;
-  color: #212529;
-  text-align: left;
-  list-style: none;
-  background-color: #fff;
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  border-radius: 0.25rem;
-}
-
-.dropdown-menu-left {
-  right: auto;
-  left: 0;
-}
-
-.dropdown-menu-right {
-  right: 0;
-  left: auto;
-}
-
-@media (min-width: 576px) {
-  .dropdown-menu-sm-left {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-sm-right {
-    right: 0;
-    left: auto;
-  }
-}
-
-@media (min-width: 768px) {
-  .dropdown-menu-md-left {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-md-right {
-    right: 0;
-    left: auto;
-  }
-}
-
-@media (min-width: 992px) {
-  .dropdown-menu-lg-left {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-lg-right {
-    right: 0;
-    left: auto;
-  }
-}
-
-@media (min-width: 1200px) {
-  .dropdown-menu-xl-left {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-xl-right {
-    right: 0;
-    left: auto;
-  }
-}
-
-.dropup .dropdown-menu {
-  top: auto;
-  bottom: 100%;
-  margin-top: 0;
-  margin-bottom: 0.125rem;
-}
-
-.dropup .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0;
-  border-right: 0.3em solid transparent;
-  border-bottom: 0.3em solid;
-  border-left: 0.3em solid transparent;
-}
-
-.dropup .dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-
-.dropright .dropdown-menu {
-  top: 0;
-  right: auto;
-  left: 100%;
-  margin-top: 0;
-  margin-left: 0.125rem;
-}
-
-.dropright .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid transparent;
-  border-right: 0;
-  border-bottom: 0.3em solid transparent;
-  border-left: 0.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: 0.125rem;
-}
-
-.dropleft .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-}
-
-.dropleft .dropdown-toggle::after {
-  display: none;
-}
-
-.dropleft .dropdown-toggle::before {
-  display: inline-block;
-  margin-right: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid transparent;
-  border-right: 0.3em solid;
-  border-bottom: 0.3em solid transparent;
-}
-
-.dropleft .dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-
-.dropleft .dropdown-toggle::before {
-  vertical-align: 0;
-}
-
-.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
-  right: auto;
-  bottom: auto;
-}
-
-.dropdown-divider {
-  height: 0;
-  margin: 0.5rem 0;
-  overflow: hidden;
-  border-top: 1px solid #e9ecef;
-}
-
-.dropdown-item {
-  display: block;
-  width: 100%;
-  padding: 0.25rem 1.5rem;
-  clear: both;
-  font-weight: 400;
-  color: #212529;
-  text-align: inherit;
-  white-space: nowrap;
-  background-color: transparent;
-  border: 0;
-}
-
-.dropdown-item:hover, .dropdown-item:focus {
-  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: 0.5rem 1.5rem;
-  margin-bottom: 0;
-  font-size: 0.875rem;
-  color: #6c757d;
-  white-space: nowrap;
-}
-
-.dropdown-item-text {
-  display: block;
-  padding: 0.25rem 1.5rem;
-  color: #212529;
-}
-
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  vertical-align: middle;
-}
-
-.btn-group > .btn,
-.btn-group-vertical > .btn {
-  position: relative;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-}
-
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover {
-  z-index: 1;
-}
-
-.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
-.btn-group-vertical > .btn:focus,
-.btn-group-vertical > .btn:active,
-.btn-group-vertical > .btn.active {
-  z-index: 1;
-}
-
-.btn-toolbar {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -ms-flex-pack: start;
-  justify-content: flex-start;
-}
-
-.btn-toolbar .input-group {
-  width: auto;
-}
-
-.btn-group > .btn:not(:first-child),
-.btn-group > .btn-group:not(:first-child) {
-  margin-left: -1px;
-}
-
-.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
-.btn-group > .btn-group:not(:last-child) > .btn {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-
-.btn-group > .btn:not(:first-child),
-.btn-group > .btn-group:not(:first-child) > .btn {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.dropdown-toggle-split {
-  padding-right: 0.5625rem;
-  padding-left: 0.5625rem;
-}
-
-.dropdown-toggle-split::after,
-.dropup .dropdown-toggle-split::after,
-.dropright .dropdown-toggle-split::after {
-  margin-left: 0;
-}
-
-.dropleft .dropdown-toggle-split::before {
-  margin-right: 0;
-}
-
-.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
-  padding-right: 0.375rem;
-  padding-left: 0.375rem;
-}
-
-.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
-  padding-right: 0.75rem;
-  padding-left: 0.75rem;
-}
-
-.btn-group-vertical {
-  -ms-flex-direction: column;
-  flex-direction: column;
-  -ms-flex-align: start;
-  align-items: flex-start;
-  -ms-flex-pack: center;
-  justify-content: center;
-}
-
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group {
-  width: 100%;
-}
-
-.btn-group-vertical > .btn:not(:first-child),
-.btn-group-vertical > .btn-group:not(:first-child) {
-  margin-top: -1px;
-}
-
-.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
-.btn-group-vertical > .btn-group:not(:last-child) > .btn {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.btn-group-vertical > .btn:not(:first-child),
-.btn-group-vertical > .btn-group:not(:first-child) > .btn {
-  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="radio"],
-.btn-group-toggle > .btn input[type="checkbox"],
-.btn-group-toggle > .btn-group > .btn input[type="radio"],
-.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
-  position: absolute;
-  clip: rect(0, 0, 0, 0);
-  pointer-events: none;
-}
-
-.input-group {
-  position: relative;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -ms-flex-align: stretch;
-  align-items: stretch;
-  width: 100%;
-}
-
-.input-group > .form-control,
-.input-group > .form-control-plaintext,
-.input-group > .custom-select,
-.input-group > .custom-file {
-  position: relative;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  width: 1%;
-  margin-bottom: 0;
-}
-
-.input-group > .form-control + .form-control,
-.input-group > .form-control + .custom-select,
-.input-group > .form-control + .custom-file,
-.input-group > .form-control-plaintext + .form-control,
-.input-group > .form-control-plaintext + .custom-select,
-.input-group > .form-control-plaintext + .custom-file,
-.input-group > .custom-select + .form-control,
-.input-group > .custom-select + .custom-select,
-.input-group > .custom-select + .custom-file,
-.input-group > .custom-file + .form-control,
-.input-group > .custom-file + .custom-select,
-.input-group > .custom-file + .custom-file {
-  margin-left: -1px;
-}
-
-.input-group > .form-control:focus,
-.input-group > .custom-select:focus,
-.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
-  z-index: 3;
-}
-
-.input-group > .custom-file .custom-file-input:focus {
-  z-index: 4;
-}
-
-.input-group > .form-control:not(:last-child),
-.input-group > .custom-select:not(:last-child) {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-
-.input-group > .form-control:not(:first-child),
-.input-group > .custom-select:not(:first-child) {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.input-group > .custom-file {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-}
-
-.input-group > .custom-file:not(:last-child) .custom-file-label,
-.input-group > .custom-file:not(:last-child) .custom-file-label::after {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-
-.input-group > .custom-file:not(:first-child) .custom-file-label {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.input-group-prepend,
-.input-group-append {
-  display: -ms-flexbox;
-  display: flex;
-}
-
-.input-group-prepend .btn,
-.input-group-append .btn {
-  position: relative;
-  z-index: 2;
-}
-
-.input-group-prepend .btn:focus,
-.input-group-append .btn:focus {
-  z-index: 3;
-}
-
-.input-group-prepend .btn + .btn,
-.input-group-prepend .btn + .input-group-text,
-.input-group-prepend .input-group-text + .input-group-text,
-.input-group-prepend .input-group-text + .btn,
-.input-group-append .btn + .btn,
-.input-group-append .btn + .input-group-text,
-.input-group-append .input-group-text + .input-group-text,
-.input-group-append .input-group-text + .btn {
-  margin-left: -1px;
-}
-
-.input-group-prepend {
-  margin-right: -1px;
-}
-
-.input-group-append {
-  margin-left: -1px;
-}
-
-.input-group-text {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-  padding: 0.375rem 0.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: 0.25rem;
-}
-
-.input-group-text input[type="radio"],
-.input-group-text input[type="checkbox"] {
-  margin-top: 0;
-}
-
-.input-group-lg > .form-control:not(textarea),
-.input-group-lg > .custom-select {
-  height: calc(1.5em + 1rem + 2px);
-}
-
-.input-group-lg > .form-control,
-.input-group-lg > .custom-select,
-.input-group-lg > .input-group-prepend > .input-group-text,
-.input-group-lg > .input-group-append > .input-group-text,
-.input-group-lg > .input-group-prepend > .btn,
-.input-group-lg > .input-group-append > .btn {
-  padding: 0.5rem 1rem;
-  font-size: 1.25rem;
-  line-height: 1.5;
-  border-radius: 0.3rem;
-}
-
-.input-group-sm > .form-control:not(textarea),
-.input-group-sm > .custom-select {
-  height: calc(1.5em + 0.5rem + 2px);
-}
-
-.input-group-sm > .form-control,
-.input-group-sm > .custom-select,
-.input-group-sm > .input-group-prepend > .input-group-text,
-.input-group-sm > .input-group-append > .input-group-text,
-.input-group-sm > .input-group-prepend > .btn,
-.input-group-sm > .input-group-append > .btn {
-  padding: 0.25rem 0.5rem;
-  font-size: 0.875rem;
-  line-height: 1.5;
-  border-radius: 0.2rem;
-}
-
-.input-group-lg > .custom-select,
-.input-group-sm > .custom-select {
-  padding-right: 1.75rem;
-}
-
-.input-group > .input-group-prepend > .btn,
-.input-group > .input-group-prepend > .input-group-text,
-.input-group > .input-group-append:not(:last-child) > .btn,
-.input-group > .input-group-append:not(:last-child) > .input-group-text,
-.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) {
-  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:not(:first-child) > .btn,
-.input-group > .input-group-prepend:not(:first-child) > .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) {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.custom-control {
-  position: relative;
-  display: block;
-  min-height: 1.5rem;
-  padding-left: 1.5rem;
-}
-
-.custom-control-inline {
-  display: -ms-inline-flexbox;
-  display: inline-flex;
-  margin-right: 1rem;
-}
-
-.custom-control-input {
-  position: absolute;
-  z-index: -1;
-  opacity: 0;
-}
-
-.custom-control-input:checked ~ .custom-control-label::before {
-  color: #fff;
-  border-color: #007bff;
-  background-color: #007bff;
-}
-
-.custom-control-input:focus ~ .custom-control-label::before {
-  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
-  border-color: #80bdff;
-}
-
-.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
-  color: #fff;
-  background-color: #b3d7ff;
-  border-color: #b3d7ff;
-}
-
-.custom-control-input:disabled ~ .custom-control-label {
-  color: #6c757d;
-}
-
-.custom-control-input:disabled ~ .custom-control-label::before {
-  background-color: #e9ecef;
-}
-
-.custom-control-label {
-  position: relative;
-  margin-bottom: 0;
-  vertical-align: top;
-}
-
-.custom-control-label::before {
-  position: absolute;
-  top: 0.25rem;
-  left: -1.5rem;
-  display: block;
-  width: 1rem;
-  height: 1rem;
-  pointer-events: none;
-  content: "";
-  background-color: #fff;
-  border: #adb5bd solid 1px;
-}
-
-.custom-control-label::after {
-  position: absolute;
-  top: 0.25rem;
-  left: -1.5rem;
-  display: block;
-  width: 1rem;
-  height: 1rem;
-  content: "";
-  background: no-repeat 50% / 50% 50%;
-}
-
-.custom-checkbox .custom-control-label::before {
-  border-radius: 0.25rem;
-}
-
-.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
-}
-
-.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
-  border-color: #007bff;
-  background-color: #007bff;
-}
-
-.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
-}
-
-.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
-  background-color: rgba(0, 123, 255, 0.5);
-}
-
-.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
-  background-color: rgba(0, 123, 255, 0.5);
-}
-
-.custom-radio .custom-control-label::before {
-  border-radius: 50%;
-}
-
-.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
-}
-
-.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
-  background-color: rgba(0, 123, 255, 0.5);
-}
-
-.custom-switch {
-  padding-left: 2.25rem;
-}
-
-.custom-switch .custom-control-label::before {
-  left: -2.25rem;
-  width: 1.75rem;
-  pointer-events: all;
-  border-radius: 0.5rem;
-}
-
-.custom-switch .custom-control-label::after {
-  top: calc(0.25rem + 2px);
-  left: calc(-2.25rem + 2px);
-  width: calc(1rem - 4px);
-  height: calc(1rem - 4px);
-  background-color: #adb5bd;
-  border-radius: 0.5rem;
-  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
-  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .custom-switch .custom-control-label::after {
-    transition: none;
-  }
-}
-
-.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
-  background-color: #fff;
-  -webkit-transform: translateX(0.75rem);
-  transform: translateX(0.75rem);
-}
-
-.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
-  background-color: rgba(0, 123, 255, 0.5);
-}
-
-.custom-select {
-  display: inline-block;
-  width: 100%;
-  height: calc(1.5em + 0.75rem + 2px);
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
-  font-size: 1rem;
-  font-weight: 400;
-  line-height: 1.5;
-  color: #495057;
-  vertical-align: middle;
-  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
-  background-color: #fff;
-  border: 1px solid #ced4da;
-  border-radius: 0.25rem;
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-}
-
-.custom-select:focus {
-  border-color: #80bdff;
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-select:focus::-ms-value {
-  color: #495057;
-  background-color: #fff;
-}
-
-.custom-select[multiple], .custom-select[size]:not([size="1"]) {
-  height: auto;
-  padding-right: 0.75rem;
-  background-image: none;
-}
-
-.custom-select:disabled {
-  color: #6c757d;
-  background-color: #e9ecef;
-}
-
-.custom-select::-ms-expand {
-  display: none;
-}
-
-.custom-select-sm {
-  height: calc(1.5em + 0.5rem + 2px);
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-  padding-left: 0.5rem;
-  font-size: 0.875rem;
-}
-
-.custom-select-lg {
-  height: calc(1.5em + 1rem + 2px);
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  padding-left: 1rem;
-  font-size: 1.25rem;
-}
-
-.custom-file {
-  position: relative;
-  display: inline-block;
-  width: 100%;
-  height: calc(1.5em + 0.75rem + 2px);
-  margin-bottom: 0;
-}
-
-.custom-file-input {
-  position: relative;
-  z-index: 2;
-  width: 100%;
-  height: calc(1.5em + 0.75rem + 2px);
-  margin: 0;
-  opacity: 0;
-}
-
-.custom-file-input:focus ~ .custom-file-label {
-  border-color: #80bdff;
-  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-file-input:disabled ~ .custom-file-label {
-  background-color: #e9ecef;
-}
-
-.custom-file-input:lang(en) ~ .custom-file-label::after {
-  content: "Browse";
-}
-
-.custom-file-input ~ .custom-file-label[data-browse]::after {
-  content: attr(data-browse);
-}
-
-.custom-file-label {
-  position: absolute;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 1;
-  height: calc(1.5em + 0.75rem + 2px);
-  padding: 0.375rem 0.75rem;
-  font-weight: 400;
-  line-height: 1.5;
-  color: #495057;
-  background-color: #fff;
-  border: 1px solid #ced4da;
-  border-radius: 0.25rem;
-}
-
-.custom-file-label::after {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  z-index: 3;
-  display: block;
-  height: calc(1.5em + 0.75rem);
-  padding: 0.375rem 0.75rem;
-  line-height: 1.5;
-  color: #495057;
-  content: "Browse";
-  background-color: #e9ecef;
-  border-left: inherit;
-  border-radius: 0 0.25rem 0.25rem 0;
-}
-
-.custom-range {
-  width: 100%;
-  height: calc(1rem + 0.4rem);
-  padding: 0;
-  background-color: transparent;
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-}
-
-.custom-range:focus {
-  outline: none;
-}
-
-.custom-range:focus::-webkit-slider-thumb {
-  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-range:focus::-moz-range-thumb {
-  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-range:focus::-ms-thumb {
-  box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.custom-range::-moz-focus-outer {
-  border: 0;
-}
-
-.custom-range::-webkit-slider-thumb {
-  width: 1rem;
-  height: 1rem;
-  margin-top: -0.25rem;
-  background-color: #007bff;
-  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;
-  -webkit-appearance: none;
-  appearance: none;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .custom-range::-webkit-slider-thumb {
-    transition: none;
-  }
-}
-
-.custom-range::-webkit-slider-thumb:active {
-  background-color: #b3d7ff;
-}
-
-.custom-range::-webkit-slider-runnable-track {
-  width: 100%;
-  height: 0.5rem;
-  color: transparent;
-  cursor: pointer;
-  background-color: #dee2e6;
-  border-color: transparent;
-  border-radius: 1rem;
-}
-
-.custom-range::-moz-range-thumb {
-  width: 1rem;
-  height: 1rem;
-  background-color: #007bff;
-  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;
-  -moz-appearance: none;
-  appearance: none;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .custom-range::-moz-range-thumb {
-    transition: none;
-  }
-}
-
-.custom-range::-moz-range-thumb:active {
-  background-color: #b3d7ff;
-}
-
-.custom-range::-moz-range-track {
-  width: 100%;
-  height: 0.5rem;
-  color: transparent;
-  cursor: pointer;
-  background-color: #dee2e6;
-  border-color: transparent;
-  border-radius: 1rem;
-}
-
-.custom-range::-ms-thumb {
-  width: 1rem;
-  height: 1rem;
-  margin-top: 0;
-  margin-right: 0.2rem;
-  margin-left: 0.2rem;
-  background-color: #007bff;
-  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;
-  appearance: none;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .custom-range::-ms-thumb {
-    transition: none;
-  }
-}
-
-.custom-range::-ms-thumb:active {
-  background-color: #b3d7ff;
-}
-
-.custom-range::-ms-track {
-  width: 100%;
-  height: 0.5rem;
-  color: transparent;
-  cursor: pointer;
-  background-color: transparent;
-  border-color: transparent;
-  border-width: 0.5rem;
-}
-
-.custom-range::-ms-fill-lower {
-  background-color: #dee2e6;
-  border-radius: 1rem;
-}
-
-.custom-range::-ms-fill-upper {
-  margin-right: 15px;
-  background-color: #dee2e6;
-  border-radius: 1rem;
-}
-
-.custom-range:disabled::-webkit-slider-thumb {
-  background-color: #adb5bd;
-}
-
-.custom-range:disabled::-webkit-slider-runnable-track {
-  cursor: default;
-}
-
-.custom-range:disabled::-moz-range-thumb {
-  background-color: #adb5bd;
-}
-
-.custom-range:disabled::-moz-range-track {
-  cursor: default;
-}
-
-.custom-range:disabled::-ms-thumb {
-  background-color: #adb5bd;
-}
-
-.custom-control-label::before,
-.custom-file-label,
-.custom-select {
-  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .custom-control-label::before,
-  .custom-file-label,
-  .custom-select {
-    transition: none;
-  }
-}
-
-.nav {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  padding-left: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-
-.nav-link {
-  display: block;
-  padding: 0.5rem 1rem;
-}
-
-.nav-link:hover, .nav-link:focus {
-  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: 0.25rem;
-  border-top-right-radius: 0.25rem;
-}
-
-.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
-  border-color: #e9ecef #e9ecef #dee2e6;
-}
-
-.nav-tabs .nav-link.disabled {
-  color: #6c757d;
-  background-color: transparent;
-  border-color: transparent;
-}
-
-.nav-tabs .nav-link.active,
-.nav-tabs .nav-item.show .nav-link {
-  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: 0.25rem;
-}
-
-.nav-pills .nav-link.active,
-.nav-pills .show > .nav-link {
-  color: #fff;
-  background-color: #007bff;
-}
-
-.nav-fill .nav-item {
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  text-align: center;
-}
-
-.nav-justified .nav-item {
-  -ms-flex-preferred-size: 0;
-  flex-basis: 0;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  text-align: center;
-}
-
-.tab-content > .tab-pane {
-  display: none;
-}
-
-.tab-content > .active {
-  display: block;
-}
-
-.navbar {
-  position: relative;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -ms-flex-align: center;
-  align-items: center;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-  padding: 0.5rem 1rem;
-}
-
-.navbar > .container,
-.navbar > .container-fluid {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  -ms-flex-align: center;
-  align-items: center;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-}
-
-.navbar-brand {
-  display: inline-block;
-  padding-top: 0.3125rem;
-  padding-bottom: 0.3125rem;
-  margin-right: 1rem;
-  font-size: 1.25rem;
-  line-height: inherit;
-  white-space: nowrap;
-}
-
-.navbar-brand:hover, .navbar-brand:focus {
-  text-decoration: none;
-}
-
-.navbar-nav {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-  padding-left: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-
-.navbar-nav .nav-link {
-  padding-right: 0;
-  padding-left: 0;
-}
-
-.navbar-nav .dropdown-menu {
-  position: static;
-  float: none;
-}
-
-.navbar-text {
-  display: inline-block;
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-}
-
-.navbar-collapse {
-  -ms-flex-preferred-size: 100%;
-  flex-basis: 100%;
-  -ms-flex-positive: 1;
-  flex-grow: 1;
-  -ms-flex-align: center;
-  align-items: center;
-}
-
-.navbar-toggler {
-  padding: 0.25rem 0.75rem;
-  font-size: 1.25rem;
-  line-height: 1;
-  background-color: transparent;
-  border: 1px solid transparent;
-  border-radius: 0.25rem;
-}
-
-.navbar-toggler:hover, .navbar-toggler:focus {
-  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 {
-    padding-right: 0;
-    padding-left: 0;
-  }
-}
-
-@media (min-width: 576px) {
-  .navbar-expand-sm {
-    -ms-flex-flow: row nowrap;
-    flex-flow: row nowrap;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-  }
-  .navbar-expand-sm .navbar-nav {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .navbar-expand-sm .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-sm .navbar-nav .nav-link {
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-  .navbar-expand-sm > .container,
-  .navbar-expand-sm > .container-fluid {
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-  }
-  .navbar-expand-sm .navbar-collapse {
-    display: -ms-flexbox !important;
-    display: flex !important;
-    -ms-flex-preferred-size: auto;
-    flex-basis: auto;
-  }
-  .navbar-expand-sm .navbar-toggler {
-    display: none;
-  }
-}
-
-@media (max-width: 767.98px) {
-  .navbar-expand-md > .container,
-  .navbar-expand-md > .container-fluid {
-    padding-right: 0;
-    padding-left: 0;
-  }
-}
-
-@media (min-width: 768px) {
-  .navbar-expand-md {
-    -ms-flex-flow: row nowrap;
-    flex-flow: row nowrap;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-  }
-  .navbar-expand-md .navbar-nav {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .navbar-expand-md .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-md .navbar-nav .nav-link {
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-  .navbar-expand-md > .container,
-  .navbar-expand-md > .container-fluid {
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-  }
-  .navbar-expand-md .navbar-collapse {
-    display: -ms-flexbox !important;
-    display: flex !important;
-    -ms-flex-preferred-size: auto;
-    flex-basis: auto;
-  }
-  .navbar-expand-md .navbar-toggler {
-    display: none;
-  }
-}
-
-@media (max-width: 991.98px) {
-  .navbar-expand-lg > .container,
-  .navbar-expand-lg > .container-fluid {
-    padding-right: 0;
-    padding-left: 0;
-  }
-}
-
-@media (min-width: 992px) {
-  .navbar-expand-lg {
-    -ms-flex-flow: row nowrap;
-    flex-flow: row nowrap;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-  }
-  .navbar-expand-lg .navbar-nav {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .navbar-expand-lg .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-lg .navbar-nav .nav-link {
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-  .navbar-expand-lg > .container,
-  .navbar-expand-lg > .container-fluid {
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-  }
-  .navbar-expand-lg .navbar-collapse {
-    display: -ms-flexbox !important;
-    display: flex !important;
-    -ms-flex-preferred-size: auto;
-    flex-basis: auto;
-  }
-  .navbar-expand-lg .navbar-toggler {
-    display: none;
-  }
-}
-
-@media (max-width: 1199.98px) {
-  .navbar-expand-xl > .container,
-  .navbar-expand-xl > .container-fluid {
-    padding-right: 0;
-    padding-left: 0;
-  }
-}
-
-@media (min-width: 1200px) {
-  .navbar-expand-xl {
-    -ms-flex-flow: row nowrap;
-    flex-flow: row nowrap;
-    -ms-flex-pack: start;
-    justify-content: flex-start;
-  }
-  .navbar-expand-xl .navbar-nav {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .navbar-expand-xl .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-xl .navbar-nav .nav-link {
-    padding-right: 0.5rem;
-    padding-left: 0.5rem;
-  }
-  .navbar-expand-xl > .container,
-  .navbar-expand-xl > .container-fluid {
-    -ms-flex-wrap: nowrap;
-    flex-wrap: nowrap;
-  }
-  .navbar-expand-xl .navbar-collapse {
-    display: -ms-flexbox !important;
-    display: flex !important;
-    -ms-flex-preferred-size: auto;
-    flex-basis: auto;
-  }
-  .navbar-expand-xl .navbar-toggler {
-    display: none;
-  }
-}
-
-.navbar-expand {
-  -ms-flex-flow: row nowrap;
-  flex-flow: row nowrap;
-  -ms-flex-pack: start;
-  justify-content: flex-start;
-}
-
-.navbar-expand > .container,
-.navbar-expand > .container-fluid {
-  padding-right: 0;
-  padding-left: 0;
-}
-
-.navbar-expand .navbar-nav {
-  -ms-flex-direction: row;
-  flex-direction: row;
-}
-
-.navbar-expand .navbar-nav .dropdown-menu {
-  position: absolute;
-}
-
-.navbar-expand .navbar-nav .nav-link {
-  padding-right: 0.5rem;
-  padding-left: 0.5rem;
-}
-
-.navbar-expand > .container,
-.navbar-expand > .container-fluid {
-  -ms-flex-wrap: nowrap;
-  flex-wrap: nowrap;
-}
-
-.navbar-expand .navbar-collapse {
-  display: -ms-flexbox !important;
-  display: flex !important;
-  -ms-flex-preferred-size: auto;
-  flex-basis: auto;
-}
-
-.navbar-expand .navbar-toggler {
-  display: none;
-}
-
-.navbar-light .navbar-brand {
-  color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
-  color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-nav .nav-link {
-  color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
-  color: rgba(0, 0, 0, 0.7);
-}
-
-.navbar-light .navbar-nav .nav-link.disabled {
-  color: rgba(0, 0, 0, 0.3);
-}
-
-.navbar-light .navbar-nav .show > .nav-link,
-.navbar-light .navbar-nav .active > .nav-link,
-.navbar-light .navbar-nav .nav-link.show,
-.navbar-light .navbar-nav .nav-link.active {
-  color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-toggler {
-  color: rgba(0, 0, 0, 0.5);
-  border-color: rgba(0, 0, 0, 0.1);
-}
-
-.navbar-light .navbar-toggler-icon {
-  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
-}
-
-.navbar-light .navbar-text {
-  color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-light .navbar-text a {
-  color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {
-  color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-dark .navbar-brand {
-  color: #fff;
-}
-
-.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
-  color: #fff;
-}
-
-.navbar-dark .navbar-nav .nav-link {
-  color: rgba(255, 255, 255, 0.5);
-}
-
-.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
-  color: rgba(255, 255, 255, 0.75);
-}
-
-.navbar-dark .navbar-nav .nav-link.disabled {
-  color: rgba(255, 255, 255, 0.25);
-}
-
-.navbar-dark .navbar-nav .show > .nav-link,
-.navbar-dark .navbar-nav .active > .nav-link,
-.navbar-dark .navbar-nav .nav-link.show,
-.navbar-dark .navbar-nav .nav-link.active {
-  color: #fff;
-}
-
-.navbar-dark .navbar-toggler {
-  color: rgba(255, 255, 255, 0.5);
-  border-color: rgba(255, 255, 255, 0.1);
-}
-
-.navbar-dark .navbar-toggler-icon {
-  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
-}
-
-.navbar-dark .navbar-text {
-  color: rgba(255, 255, 255, 0.5);
-}
-
-.navbar-dark .navbar-text a {
-  color: #fff;
-}
-
-.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
-  color: #fff;
-}
-
-.card {
-  position: relative;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-  min-width: 0;
-  word-wrap: break-word;
-  background-color: #fff;
-  background-clip: border-box;
-  border: 1px solid rgba(0, 0, 0, 0.125);
-  border-radius: 0.25rem;
-}
-
-.card > hr {
-  margin-right: 0;
-  margin-left: 0;
-}
-
-.card > .list-group:first-child .list-group-item:first-child {
-  border-top-left-radius: 0.25rem;
-  border-top-right-radius: 0.25rem;
-}
-
-.card > .list-group:last-child .list-group-item:last-child {
-  border-bottom-right-radius: 0.25rem;
-  border-bottom-left-radius: 0.25rem;
-}
-
-.card-body {
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  padding: 1.25rem;
-}
-
-.card-title {
-  margin-bottom: 0.75rem;
-}
-
-.card-subtitle {
-  margin-top: -0.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: 0.75rem 1.25rem;
-  margin-bottom: 0;
-  background-color: rgba(0, 0, 0, 0.03);
-  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
-}
-
-.card-header:first-child {
-  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
-}
-
-.card-header + .list-group .list-group-item:first-child {
-  border-top: 0;
-}
-
-.card-footer {
-  padding: 0.75rem 1.25rem;
-  background-color: rgba(0, 0, 0, 0.03);
-  border-top: 1px solid rgba(0, 0, 0, 0.125);
-}
-
-.card-footer:last-child {
-  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
-}
-
-.card-header-tabs {
-  margin-right: -0.625rem;
-  margin-bottom: -0.75rem;
-  margin-left: -0.625rem;
-  border-bottom: 0;
-}
-
-.card-header-pills {
-  margin-right: -0.625rem;
-  margin-left: -0.625rem;
-}
-
-.card-img-overlay {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  padding: 1.25rem;
-}
-
-.card-img {
-  width: 100%;
-  border-radius: calc(0.25rem - 1px);
-}
-
-.card-img-top {
-  width: 100%;
-  border-top-left-radius: calc(0.25rem - 1px);
-  border-top-right-radius: calc(0.25rem - 1px);
-}
-
-.card-img-bottom {
-  width: 100%;
-  border-bottom-right-radius: calc(0.25rem - 1px);
-  border-bottom-left-radius: calc(0.25rem - 1px);
-}
-
-.card-deck {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-}
-
-.card-deck .card {
-  margin-bottom: 15px;
-}
-
-@media (min-width: 576px) {
-  .card-deck {
-    -ms-flex-flow: row wrap;
-    flex-flow: row wrap;
-    margin-right: -15px;
-    margin-left: -15px;
-  }
-  .card-deck .card {
-    display: -ms-flexbox;
-    display: flex;
-    -ms-flex: 1 0 0%;
-    flex: 1 0 0%;
-    -ms-flex-direction: column;
-    flex-direction: column;
-    margin-right: 15px;
-    margin-bottom: 0;
-    margin-left: 15px;
-  }
-}
-
-.card-group {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-}
-
-.card-group > .card {
-  margin-bottom: 15px;
-}
-
-@media (min-width: 576px) {
-  .card-group {
-    -ms-flex-flow: row wrap;
-    flex-flow: row wrap;
-  }
-  .card-group > .card {
-    -ms-flex: 1 0 0%;
-    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-img-top,
-  .card-group > .card:not(:last-child) .card-header {
-    border-top-right-radius: 0;
-  }
-  .card-group > .card:not(:last-child) .card-img-bottom,
-  .card-group > .card:not(:last-child) .card-footer {
-    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-img-top,
-  .card-group > .card:not(:first-child) .card-header {
-    border-top-left-radius: 0;
-  }
-  .card-group > .card:not(:first-child) .card-img-bottom,
-  .card-group > .card:not(:first-child) .card-footer {
-    border-bottom-left-radius: 0;
-  }
-}
-
-.card-columns .card {
-  margin-bottom: 0.75rem;
-}
-
-@media (min-width: 576px) {
-  .card-columns {
-    -webkit-column-count: 3;
-    -moz-column-count: 3;
-    column-count: 3;
-    -webkit-column-gap: 1.25rem;
-    -moz-column-gap: 1.25rem;
-    column-gap: 1.25rem;
-    orphans: 1;
-    widows: 1;
-  }
-  .card-columns .card {
-    display: inline-block;
-    width: 100%;
-  }
-}
-
-.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 {
-  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: -ms-flexbox;
-  display: flex;
-  -ms-flex-wrap: wrap;
-  flex-wrap: wrap;
-  padding: 0.75rem 1rem;
-  margin-bottom: 1rem;
-  list-style: none;
-  background-color: #e9ecef;
-  border-radius: 0.25rem;
-}
-
-.breadcrumb-item + .breadcrumb-item {
-  padding-left: 0.5rem;
-}
-
-.breadcrumb-item + .breadcrumb-item::before {
-  display: inline-block;
-  padding-right: 0.5rem;
-  color: #6c757d;
-  content: "/";
-}
-
-.breadcrumb-item + .breadcrumb-item:hover::before {
-  text-decoration: underline;
-}
-
-.breadcrumb-item + .breadcrumb-item:hover::before {
-  text-decoration: none;
-}
-
-.breadcrumb-item.active {
-  color: #6c757d;
-}
-
-.pagination {
-  display: -ms-flexbox;
-  display: flex;
-  padding-left: 0;
-  list-style: none;
-  border-radius: 0.25rem;
-}
-
-.page-link {
-  position: relative;
-  display: block;
-  padding: 0.5rem 0.75rem;
-  margin-left: -1px;
-  line-height: 1.25;
-  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: 2;
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
-}
-
-.page-item:first-child .page-link {
-  margin-left: 0;
-  border-top-left-radius: 0.25rem;
-  border-bottom-left-radius: 0.25rem;
-}
-
-.page-item:last-child .page-link {
-  border-top-right-radius: 0.25rem;
-  border-bottom-right-radius: 0.25rem;
-}
-
-.page-item.active .page-link {
-  z-index: 1;
-  color: #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;
-}
-
-.pagination-lg .page-link {
-  padding: 0.75rem 1.5rem;
-  font-size: 1.25rem;
-  line-height: 1.5;
-}
-
-.pagination-lg .page-item:first-child .page-link {
-  border-top-left-radius: 0.3rem;
-  border-bottom-left-radius: 0.3rem;
-}
-
-.pagination-lg .page-item:last-child .page-link {
-  border-top-right-radius: 0.3rem;
-  border-bottom-right-radius: 0.3rem;
-}
-
-.pagination-sm .page-link {
-  padding: 0.25rem 0.5rem;
-  font-size: 0.875rem;
-  line-height: 1.5;
-}
-
-.pagination-sm .page-item:first-child .page-link {
-  border-top-left-radius: 0.2rem;
-  border-bottom-left-radius: 0.2rem;
-}
-
-.pagination-sm .page-item:last-child .page-link {
-  border-top-right-radius: 0.2rem;
-  border-bottom-right-radius: 0.2rem;
-}
-
-.badge {
-  display: inline-block;
-  padding: 0.25em 0.4em;
-  font-size: 75%;
-  font-weight: 700;
-  line-height: 1;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  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;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .badge {
-    transition: none;
-  }
-}
-
-a.badge:hover, a.badge:focus {
-  text-decoration: none;
-}
-
-.badge:empty {
-  display: none;
-}
-
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-
-.badge-pill {
-  padding-right: 0.6em;
-  padding-left: 0.6em;
-  border-radius: 10rem;
-}
-
-.badge-primary {
-  color: #fff;
-  background-color: #007bff;
-}
-
-a.badge-primary:hover, a.badge-primary:focus {
-  color: #fff;
-  background-color: #0062cc;
-}
-
-a.badge-primary:focus, a.badge-primary.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
-}
-
-.badge-secondary {
-  color: #fff;
-  background-color: #6c757d;
-}
-
-a.badge-secondary:hover, a.badge-secondary:focus {
-  color: #fff;
-  background-color: #545b62;
-}
-
-a.badge-secondary:focus, a.badge-secondary.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
-}
-
-.badge-success {
-  color: #fff;
-  background-color: #28a745;
-}
-
-a.badge-success:hover, a.badge-success:focus {
-  color: #fff;
-  background-color: #1e7e34;
-}
-
-a.badge-success:focus, a.badge-success.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
-}
-
-.badge-info {
-  color: #fff;
-  background-color: #17a2b8;
-}
-
-a.badge-info:hover, a.badge-info:focus {
-  color: #fff;
-  background-color: #117a8b;
-}
-
-a.badge-info:focus, a.badge-info.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
-}
-
-.badge-warning {
-  color: #212529;
-  background-color: #ffc107;
-}
-
-a.badge-warning:hover, a.badge-warning:focus {
-  color: #212529;
-  background-color: #d39e00;
-}
-
-a.badge-warning:focus, a.badge-warning.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
-}
-
-.badge-danger {
-  color: #fff;
-  background-color: #dc3545;
-}
-
-a.badge-danger:hover, a.badge-danger:focus {
-  color: #fff;
-  background-color: #bd2130;
-}
-
-a.badge-danger:focus, a.badge-danger.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
-}
-
-.badge-light {
-  color: #212529;
-  background-color: #f8f9fa;
-}
-
-a.badge-light:hover, a.badge-light:focus {
-  color: #212529;
-  background-color: #dae0e5;
-}
-
-a.badge-light:focus, a.badge-light.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
-}
-
-.badge-dark {
-  color: #fff;
-  background-color: #343a40;
-}
-
-a.badge-dark:hover, a.badge-dark:focus {
-  color: #fff;
-  background-color: #1d2124;
-}
-
-a.badge-dark:focus, a.badge-dark.focus {
-  outline: 0;
-  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
-}
-
-.jumbotron {
-  padding: 2rem 1rem;
-  margin-bottom: 2rem;
-  background-color: #e9ecef;
-  border-radius: 0.3rem;
-}
-
-@media (min-width: 576px) {
-  .jumbotron {
-    padding: 4rem 2rem;
-  }
-}
-
-.jumbotron-fluid {
-  padding-right: 0;
-  padding-left: 0;
-  border-radius: 0;
-}
-
-.alert {
-  position: relative;
-  padding: 0.75rem 1.25rem;
-  margin-bottom: 1rem;
-  border: 1px solid transparent;
-  border-radius: 0.25rem;
-}
-
-.alert-heading {
-  color: inherit;
-}
-
-.alert-link {
-  font-weight: 700;
-}
-
-.alert-dismissible {
-  padding-right: 4rem;
-}
-
-.alert-dismissible .close {
-  position: absolute;
-  top: 0;
-  right: 0;
-  padding: 0.75rem 1.25rem;
-  color: inherit;
-}
-
-.alert-primary {
-  color: #004085;
-  background-color: #cce5ff;
-  border-color: #b8daff;
-}
-
-.alert-primary hr {
-  border-top-color: #9fcdff;
-}
-
-.alert-primary .alert-link {
-  color: #002752;
-}
-
-.alert-secondary {
-  color: #383d41;
-  background-color: #e2e3e5;
-  border-color: #d6d8db;
-}
-
-.alert-secondary hr {
-  border-top-color: #c8cbcf;
-}
-
-.alert-secondary .alert-link {
-  color: #202326;
-}
-
-.alert-success {
-  color: #155724;
-  background-color: #d4edda;
-  border-color: #c3e6cb;
-}
-
-.alert-success hr {
-  border-top-color: #b1dfbb;
-}
-
-.alert-success .alert-link {
-  color: #0b2e13;
-}
-
-.alert-info {
-  color: #0c5460;
-  background-color: #d1ecf1;
-  border-color: #bee5eb;
-}
-
-.alert-info hr {
-  border-top-color: #abdde5;
-}
-
-.alert-info .alert-link {
-  color: #062c33;
-}
-
-.alert-warning {
-  color: #856404;
-  background-color: #fff3cd;
-  border-color: #ffeeba;
-}
-
-.alert-warning hr {
-  border-top-color: #ffe8a1;
-}
-
-.alert-warning .alert-link {
-  color: #533f03;
-}
-
-.alert-danger {
-  color: #721c24;
-  background-color: #f8d7da;
-  border-color: #f5c6cb;
-}
-
-.alert-danger hr {
-  border-top-color: #f1b0b7;
-}
-
-.alert-danger .alert-link {
-  color: #491217;
-}
-
-.alert-light {
-  color: #818182;
-  background-color: #fefefe;
-  border-color: #fdfdfe;
-}
-
-.alert-light hr {
-  border-top-color: #ececf6;
-}
-
-.alert-light .alert-link {
-  color: #686868;
-}
-
-.alert-dark {
-  color: #1b1e21;
-  background-color: #d6d8d9;
-  border-color: #c6c8ca;
-}
-
-.alert-dark hr {
-  border-top-color: #b9bbbe;
-}
-
-.alert-dark .alert-link {
-  color: #040505;
-}
-
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 1rem 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 1rem 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-
-.progress {
-  display: -ms-flexbox;
-  display: flex;
-  height: 1rem;
-  overflow: hidden;
-  font-size: 0.75rem;
-  background-color: #e9ecef;
-  border-radius: 0.25rem;
-}
-
-.progress-bar {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-  -ms-flex-pack: center;
-  justify-content: center;
-  color: #fff;
-  text-align: center;
-  white-space: nowrap;
-  background-color: #007bff;
-  transition: width 0.6s ease;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .progress-bar {
-    transition: none;
-  }
-}
-
-.progress-bar-striped {
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-size: 1rem 1rem;
-}
-
-.progress-bar-animated {
-  -webkit-animation: progress-bar-stripes 1s linear infinite;
-  animation: progress-bar-stripes 1s linear infinite;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .progress-bar-animated {
-    -webkit-animation: none;
-    animation: none;
-  }
-}
-
-.media {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: start;
-  align-items: flex-start;
-}
-
-.media-body {
-  -ms-flex: 1;
-  flex: 1;
-}
-
-.list-group {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-  padding-left: 0;
-  margin-bottom: 0;
-}
-
-.list-group-item-action {
-  width: 100%;
-  color: #495057;
-  text-align: inherit;
-}
-
-.list-group-item-action:hover, .list-group-item-action:focus {
-  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: 0.75rem 1.25rem;
-  margin-bottom: -1px;
-  background-color: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.125);
-}
-
-.list-group-item:first-child {
-  border-top-left-radius: 0.25rem;
-  border-top-right-radius: 0.25rem;
-}
-
-.list-group-item:last-child {
-  margin-bottom: 0;
-  border-bottom-right-radius: 0.25rem;
-  border-bottom-left-radius: 0.25rem;
-}
-
-.list-group-item.disabled, .list-group-item:disabled {
-  color: #6c757d;
-  pointer-events: none;
-  background-color: #fff;
-}
-
-.list-group-item.active {
-  z-index: 2;
-  color: #fff;
-  background-color: #007bff;
-  border-color: #007bff;
-}
-
-.list-group-horizontal {
-  -ms-flex-direction: row;
-  flex-direction: row;
-}
-
-.list-group-horizontal .list-group-item {
-  margin-right: -1px;
-  margin-bottom: 0;
-}
-
-.list-group-horizontal .list-group-item:first-child {
-  border-top-left-radius: 0.25rem;
-  border-bottom-left-radius: 0.25rem;
-  border-top-right-radius: 0;
-}
-
-.list-group-horizontal .list-group-item:last-child {
-  margin-right: 0;
-  border-top-right-radius: 0.25rem;
-  border-bottom-right-radius: 0.25rem;
-  border-bottom-left-radius: 0;
-}
-
-@media (min-width: 576px) {
-  .list-group-horizontal-sm {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .list-group-horizontal-sm .list-group-item {
-    margin-right: -1px;
-    margin-bottom: 0;
-  }
-  .list-group-horizontal-sm .list-group-item:first-child {
-    border-top-left-radius: 0.25rem;
-    border-bottom-left-radius: 0.25rem;
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-sm .list-group-item:last-child {
-    margin-right: 0;
-    border-top-right-radius: 0.25rem;
-    border-bottom-right-radius: 0.25rem;
-    border-bottom-left-radius: 0;
-  }
-}
-
-@media (min-width: 768px) {
-  .list-group-horizontal-md {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .list-group-horizontal-md .list-group-item {
-    margin-right: -1px;
-    margin-bottom: 0;
-  }
-  .list-group-horizontal-md .list-group-item:first-child {
-    border-top-left-radius: 0.25rem;
-    border-bottom-left-radius: 0.25rem;
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-md .list-group-item:last-child {
-    margin-right: 0;
-    border-top-right-radius: 0.25rem;
-    border-bottom-right-radius: 0.25rem;
-    border-bottom-left-radius: 0;
-  }
-}
-
-@media (min-width: 992px) {
-  .list-group-horizontal-lg {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .list-group-horizontal-lg .list-group-item {
-    margin-right: -1px;
-    margin-bottom: 0;
-  }
-  .list-group-horizontal-lg .list-group-item:first-child {
-    border-top-left-radius: 0.25rem;
-    border-bottom-left-radius: 0.25rem;
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-lg .list-group-item:last-child {
-    margin-right: 0;
-    border-top-right-radius: 0.25rem;
-    border-bottom-right-radius: 0.25rem;
-    border-bottom-left-radius: 0;
-  }
-}
-
-@media (min-width: 1200px) {
-  .list-group-horizontal-xl {
-    -ms-flex-direction: row;
-    flex-direction: row;
-  }
-  .list-group-horizontal-xl .list-group-item {
-    margin-right: -1px;
-    margin-bottom: 0;
-  }
-  .list-group-horizontal-xl .list-group-item:first-child {
-    border-top-left-radius: 0.25rem;
-    border-bottom-left-radius: 0.25rem;
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-xl .list-group-item:last-child {
-    margin-right: 0;
-    border-top-right-radius: 0.25rem;
-    border-bottom-right-radius: 0.25rem;
-    border-bottom-left-radius: 0;
-  }
-}
-
-.list-group-flush .list-group-item {
-  border-right: 0;
-  border-left: 0;
-  border-radius: 0;
-}
-
-.list-group-flush .list-group-item:last-child {
-  margin-bottom: -1px;
-}
-
-.list-group-flush:first-child .list-group-item:first-child {
-  border-top: 0;
-}
-
-.list-group-flush:last-child .list-group-item:last-child {
-  margin-bottom: 0;
-  border-bottom: 0;
-}
-
-.list-group-item-primary {
-  color: #004085;
-  background-color: #b8daff;
-}
-
-.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
-  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:hover, .list-group-item-secondary.list-group-item-action:focus {
-  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:hover, .list-group-item-success.list-group-item-action:focus {
-  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:hover, .list-group-item-info.list-group-item-action:focus {
-  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:hover, .list-group-item-warning.list-group-item-action:focus {
-  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:hover, .list-group-item-danger.list-group-item-action:focus {
-  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:hover, .list-group-item-light.list-group-item-action:focus {
-  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:hover, .list-group-item-dark.list-group-item-action:focus {
-  color: #1b1e21;
-  background-color: #b9bbbe;
-}
-
-.list-group-item-dark.list-group-item-action.active {
-  color: #fff;
-  background-color: #1b1e21;
-  border-color: #1b1e21;
-}
-
-.close {
-  float: right;
-  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):hover, .close:not(:disabled):not(.disabled):focus {
-  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: 0.875rem;
-  background-color: rgba(255, 255, 255, 0.85);
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.1);
-  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
-  -webkit-backdrop-filter: blur(10px);
-  backdrop-filter: blur(10px);
-  opacity: 0;
-  border-radius: 0.25rem;
-}
-
-.toast:not(:last-child) {
-  margin-bottom: 0.75rem;
-}
-
-.toast.showing {
-  opacity: 1;
-}
-
-.toast.show {
-  display: block;
-  opacity: 1;
-}
-
-.toast.hide {
-  display: none;
-}
-
-.toast-header {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-  padding: 0.25rem 0.75rem;
-  color: #6c757d;
-  background-color: rgba(255, 255, 255, 0.85);
-  background-clip: padding-box;
-  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
-}
-
-.toast-body {
-  padding: 0.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: 0.5rem;
-  pointer-events: none;
-}
-
-.modal.fade .modal-dialog {
-  transition: -webkit-transform 0.3s ease-out;
-  transition: transform 0.3s ease-out;
-  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
-  -webkit-transform: translate(0, -50px);
-  transform: translate(0, -50px);
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .modal.fade .modal-dialog {
-    transition: none;
-  }
-}
-
-.modal.show .modal-dialog {
-  -webkit-transform: none;
-  transform: none;
-}
-
-.modal-dialog-scrollable {
-  display: -ms-flexbox;
-  display: flex;
-  max-height: calc(100% - 1rem);
-}
-
-.modal-dialog-scrollable .modal-content {
-  max-height: calc(100vh - 1rem);
-  overflow: hidden;
-}
-
-.modal-dialog-scrollable .modal-header,
-.modal-dialog-scrollable .modal-footer {
-  -ms-flex-negative: 0;
-  flex-shrink: 0;
-}
-
-.modal-dialog-scrollable .modal-body {
-  overflow-y: auto;
-}
-
-.modal-dialog-centered {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-  min-height: calc(100% - 1rem);
-}
-
-.modal-dialog-centered::before {
-  display: block;
-  height: calc(100vh - 1rem);
-  content: "";
-}
-
-.modal-dialog-centered.modal-dialog-scrollable {
-  -ms-flex-direction: column;
-  flex-direction: column;
-  -ms-flex-pack: center;
-  justify-content: center;
-  height: 100%;
-}
-
-.modal-dialog-centered.modal-dialog-scrollable .modal-content {
-  max-height: none;
-}
-
-.modal-dialog-centered.modal-dialog-scrollable::before {
-  content: none;
-}
-
-.modal-content {
-  position: relative;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-direction: column;
-  flex-direction: column;
-  width: 100%;
-  pointer-events: auto;
-  background-color: #fff;
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  border-radius: 0.3rem;
-  outline: 0;
-}
-
-.modal-backdrop {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1040;
-  width: 100vw;
-  height: 100vh;
-  background-color: #000;
-}
-
-.modal-backdrop.fade {
-  opacity: 0;
-}
-
-.modal-backdrop.show {
-  opacity: 0.5;
-}
-
-.modal-header {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: start;
-  align-items: flex-start;
-  -ms-flex-pack: justify;
-  justify-content: space-between;
-  padding: 1rem 1rem;
-  border-bottom: 1px solid #dee2e6;
-  border-top-left-radius: 0.3rem;
-  border-top-right-radius: 0.3rem;
-}
-
-.modal-header .close {
-  padding: 1rem 1rem;
-  margin: -1rem -1rem -1rem auto;
-}
-
-.modal-title {
-  margin-bottom: 0;
-  line-height: 1.5;
-}
-
-.modal-body {
-  position: relative;
-  -ms-flex: 1 1 auto;
-  flex: 1 1 auto;
-  padding: 1rem;
-}
-
-.modal-footer {
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-  -ms-flex-pack: end;
-  justify-content: flex-end;
-  padding: 1rem;
-  border-top: 1px solid #dee2e6;
-  border-bottom-right-radius: 0.3rem;
-  border-bottom-left-radius: 0.3rem;
-}
-
-.modal-footer > :not(:first-child) {
-  margin-left: .25rem;
-}
-
-.modal-footer > :not(:last-child) {
-  margin-right: .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: 0.875rem;
-  word-wrap: break-word;
-  opacity: 0;
-}
-
-.tooltip.show {
-  opacity: 0.9;
-}
-
-.tooltip .arrow {
-  position: absolute;
-  display: block;
-  width: 0.8rem;
-  height: 0.4rem;
-}
-
-.tooltip .arrow::before {
-  position: absolute;
-  content: "";
-  border-color: transparent;
-  border-style: solid;
-}
-
-.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
-  padding: 0.4rem 0;
-}
-
-.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
-  bottom: 0;
-}
-
-.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
-  top: 0;
-  border-width: 0.4rem 0.4rem 0;
-  border-top-color: #000;
-}
-
-.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
-  padding: 0 0.4rem;
-}
-
-.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
-  left: 0;
-  width: 0.4rem;
-  height: 0.8rem;
-}
-
-.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
-  right: 0;
-  border-width: 0.4rem 0.4rem 0.4rem 0;
-  border-right-color: #000;
-}
-
-.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
-  padding: 0.4rem 0;
-}
-
-.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
-  top: 0;
-}
-
-.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
-  bottom: 0;
-  border-width: 0 0.4rem 0.4rem;
-  border-bottom-color: #000;
-}
-
-.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
-  padding: 0 0.4rem;
-}
-
-.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
-  right: 0;
-  width: 0.4rem;
-  height: 0.8rem;
-}
-
-.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
-  left: 0;
-  border-width: 0.4rem 0 0.4rem 0.4rem;
-  border-left-color: #000;
-}
-
-.tooltip-inner {
-  max-width: 200px;
-  padding: 0.25rem 0.5rem;
-  color: #fff;
-  text-align: center;
-  background-color: #000;
-  border-radius: 0.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: 0.875rem;
-  word-wrap: break-word;
-  background-color: #fff;
-  background-clip: padding-box;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  border-radius: 0.3rem;
-}
-
-.popover .arrow {
-  position: absolute;
-  display: block;
-  width: 1rem;
-  height: 0.5rem;
-  margin: 0 0.3rem;
-}
-
-.popover .arrow::before, .popover .arrow::after {
-  position: absolute;
-  display: block;
-  content: "";
-  border-color: transparent;
-  border-style: solid;
-}
-
-.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
-  margin-bottom: 0.5rem;
-}
-
-.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
-  bottom: calc((0.5rem + 1px) * -1);
-}
-
-.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
-  bottom: 0;
-  border-width: 0.5rem 0.5rem 0;
-  border-top-color: rgba(0, 0, 0, 0.25);
-}
-
-.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
-  bottom: 1px;
-  border-width: 0.5rem 0.5rem 0;
-  border-top-color: #fff;
-}
-
-.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
-  margin-left: 0.5rem;
-}
-
-.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
-  left: calc((0.5rem + 1px) * -1);
-  width: 0.5rem;
-  height: 1rem;
-  margin: 0.3rem 0;
-}
-
-.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
-  left: 0;
-  border-width: 0.5rem 0.5rem 0.5rem 0;
-  border-right-color: rgba(0, 0, 0, 0.25);
-}
-
-.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
-  left: 1px;
-  border-width: 0.5rem 0.5rem 0.5rem 0;
-  border-right-color: #fff;
-}
-
-.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
-  margin-top: 0.5rem;
-}
-
-.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
-  top: calc((0.5rem + 1px) * -1);
-}
-
-.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
-  top: 0;
-  border-width: 0 0.5rem 0.5rem 0.5rem;
-  border-bottom-color: rgba(0, 0, 0, 0.25);
-}
-
-.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
-  top: 1px;
-  border-width: 0 0.5rem 0.5rem 0.5rem;
-  border-bottom-color: #fff;
-}
-
-.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
-  position: absolute;
-  top: 0;
-  left: 50%;
-  display: block;
-  width: 1rem;
-  margin-left: -0.5rem;
-  content: "";
-  border-bottom: 1px solid #f7f7f7;
-}
-
-.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
-  margin-right: 0.5rem;
-}
-
-.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
-  right: calc((0.5rem + 1px) * -1);
-  width: 0.5rem;
-  height: 1rem;
-  margin: 0.3rem 0;
-}
-
-.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
-  right: 0;
-  border-width: 0.5rem 0 0.5rem 0.5rem;
-  border-left-color: rgba(0, 0, 0, 0.25);
-}
-
-.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
-  right: 1px;
-  border-width: 0.5rem 0 0.5rem 0.5rem;
-  border-left-color: #fff;
-}
-
-.popover-header {
-  padding: 0.5rem 0.75rem;
-  margin-bottom: 0;
-  font-size: 1rem;
-  background-color: #f7f7f7;
-  border-bottom: 1px solid #ebebeb;
-  border-top-left-radius: calc(0.3rem - 1px);
-  border-top-right-radius: calc(0.3rem - 1px);
-}
-
-.popover-header:empty {
-  display: none;
-}
-
-.popover-body {
-  padding: 0.5rem 0.75rem;
-  color: #212529;
-}
-
-.carousel {
-  position: relative;
-}
-
-.carousel.pointer-event {
-  -ms-touch-action: pan-y;
-  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: -webkit-transform 0.6s ease-in-out;
-  transition: transform 0.6s ease-in-out;
-  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .carousel-item {
-    transition: none;
-  }
-}
-
-.carousel-item.active,
-.carousel-item-next,
-.carousel-item-prev {
-  display: block;
-}
-
-.carousel-item-next:not(.carousel-item-left),
-.active.carousel-item-right {
-  -webkit-transform: translateX(100%);
-  transform: translateX(100%);
-}
-
-.carousel-item-prev:not(.carousel-item-right),
-.active.carousel-item-left {
-  -webkit-transform: translateX(-100%);
-  transform: translateX(-100%);
-}
-
-.carousel-fade .carousel-item {
-  opacity: 0;
-  transition-property: opacity;
-  -webkit-transform: none;
-  transform: none;
-}
-
-.carousel-fade .carousel-item.active,
-.carousel-fade .carousel-item-next.carousel-item-left,
-.carousel-fade .carousel-item-prev.carousel-item-right {
-  z-index: 1;
-  opacity: 1;
-}
-
-.carousel-fade .active.carousel-item-left,
-.carousel-fade .active.carousel-item-right {
-  z-index: 0;
-  opacity: 0;
-  transition: 0s 0.6s opacity;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .carousel-fade .active.carousel-item-left,
-  .carousel-fade .active.carousel-item-right {
-    transition: none;
-  }
-}
-
-.carousel-control-prev,
-.carousel-control-next {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  z-index: 1;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-align: center;
-  align-items: center;
-  -ms-flex-pack: center;
-  justify-content: center;
-  width: 15%;
-  color: #fff;
-  text-align: center;
-  opacity: 0.5;
-  transition: opacity 0.15s ease;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .carousel-control-prev,
-  .carousel-control-next {
-    transition: none;
-  }
-}
-
-.carousel-control-prev:hover, .carousel-control-prev:focus,
-.carousel-control-next:hover,
-.carousel-control-next:focus {
-  color: #fff;
-  text-decoration: none;
-  outline: 0;
-  opacity: 0.9;
-}
-
-.carousel-control-prev {
-  left: 0;
-}
-
-.carousel-control-next {
-  right: 0;
-}
-
-.carousel-control-prev-icon,
-.carousel-control-next-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.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e");
-}
-
-.carousel-control-next-icon {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e");
-}
-
-.carousel-indicators {
-  position: absolute;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 15;
-  display: -ms-flexbox;
-  display: flex;
-  -ms-flex-pack: center;
-  justify-content: center;
-  padding-left: 0;
-  margin-right: 15%;
-  margin-left: 15%;
-  list-style: none;
-}
-
-.carousel-indicators li {
-  box-sizing: content-box;
-  -ms-flex: 0 1 auto;
-  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 0.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%;
-  z-index: 10;
-  padding-top: 20px;
-  padding-bottom: 20px;
-  color: #fff;
-  text-align: center;
-}
-
-@-webkit-keyframes spinner-border {
-  to {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-
-@keyframes spinner-border {
-  to {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-
-.spinner-border {
-  display: inline-block;
-  width: 2rem;
-  height: 2rem;
-  vertical-align: text-bottom;
-  border: 0.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: 0.2em;
-}
-
-@-webkit-keyframes spinner-grow {
-  0% {
-    -webkit-transform: scale(0);
-    transform: scale(0);
-  }
-  50% {
-    opacity: 1;
-  }
-}
-
-@keyframes spinner-grow {
-  0% {
-    -webkit-transform: scale(0);
-    transform: scale(0);
-  }
-  50% {
-    opacity: 1;
-  }
-}
-
-.spinner-grow {
-  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;
-}
-
-.align-baseline {
-  vertical-align: baseline !important;
-}
-
-.align-top {
-  vertical-align: top !important;
-}
-
-.align-middle {
-  vertical-align: middle !important;
-}
-
-.align-bottom {
-  vertical-align: bottom !important;
-}
-
-.align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.align-text-top {
-  vertical-align: text-top !important;
-}
-
-.bg-primary {
-  background-color: #007bff !important;
-}
-
-a.bg-primary:hover, a.bg-primary:focus,
-button.bg-primary:hover,
-button.bg-primary:focus {
-  background-color: #0062cc !important;
-}
-
-.bg-secondary {
-  background-color: #6c757d !important;
-}
-
-a.bg-secondary:hover, a.bg-secondary:focus,
-button.bg-secondary:hover,
-button.bg-secondary:focus {
-  background-color: #545b62 !important;
-}
-
-.bg-success {
-  background-color: #28a745 !important;
-}
-
-a.bg-success:hover, a.bg-success:focus,
-button.bg-success:hover,
-button.bg-success:focus {
-  background-color: #1e7e34 !important;
-}
-
-.bg-info {
-  background-color: #17a2b8 !important;
-}
-
-a.bg-info:hover, a.bg-info:focus,
-button.bg-info:hover,
-button.bg-info:focus {
-  background-color: #117a8b !important;
-}
-
-.bg-warning {
-  background-color: #ffc107 !important;
-}
-
-a.bg-warning:hover, a.bg-warning:focus,
-button.bg-warning:hover,
-button.bg-warning:focus {
-  background-color: #d39e00 !important;
-}
-
-.bg-danger {
-  background-color: #dc3545 !important;
-}
-
-a.bg-danger:hover, a.bg-danger:focus,
-button.bg-danger:hover,
-button.bg-danger:focus {
-  background-color: #bd2130 !important;
-}
-
-.bg-light {
-  background-color: #f8f9fa !important;
-}
-
-a.bg-light:hover, a.bg-light:focus,
-button.bg-light:hover,
-button.bg-light:focus {
-  background-color: #dae0e5 !important;
-}
-
-.bg-dark {
-  background-color: #343a40 !important;
-}
-
-a.bg-dark:hover, a.bg-dark:focus,
-button.bg-dark:hover,
-button.bg-dark:focus {
-  background-color: #1d2124 !important;
-}
-
-.bg-white {
-  background-color: #fff !important;
-}
-
-.bg-transparent {
-  background-color: transparent !important;
-}
-
-.border {
-  border: 1px solid #dee2e6 !important;
-}
-
-.border-top {
-  border-top: 1px solid #dee2e6 !important;
-}
-
-.border-right {
-  border-right: 1px solid #dee2e6 !important;
-}
-
-.border-bottom {
-  border-bottom: 1px solid #dee2e6 !important;
-}
-
-.border-left {
-  border-left: 1px solid #dee2e6 !important;
-}
-
-.border-0 {
-  border: 0 !important;
-}
-
-.border-top-0 {
-  border-top: 0 !important;
-}
-
-.border-right-0 {
-  border-right: 0 !important;
-}
-
-.border-bottom-0 {
-  border-bottom: 0 !important;
-}
-
-.border-left-0 {
-  border-left: 0 !important;
-}
-
-.border-primary {
-  border-color: #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;
-}
-
-.rounded-sm {
-  border-radius: 0.2rem !important;
-}
-
-.rounded {
-  border-radius: 0.25rem !important;
-}
-
-.rounded-top {
-  border-top-left-radius: 0.25rem !important;
-  border-top-right-radius: 0.25rem !important;
-}
-
-.rounded-right {
-  border-top-right-radius: 0.25rem !important;
-  border-bottom-right-radius: 0.25rem !important;
-}
-
-.rounded-bottom {
-  border-bottom-right-radius: 0.25rem !important;
-  border-bottom-left-radius: 0.25rem !important;
-}
-
-.rounded-left {
-  border-top-left-radius: 0.25rem !important;
-  border-bottom-left-radius: 0.25rem !important;
-}
-
-.rounded-lg {
-  border-radius: 0.3rem !important;
-}
-
-.rounded-circle {
-  border-radius: 50% !important;
-}
-
-.rounded-pill {
-  border-radius: 50rem !important;
-}
-
-.rounded-0 {
-  border-radius: 0 !important;
-}
-
-.clearfix::after {
-  display: block;
-  clear: both;
-  content: "";
-}
-
-.d-none {
-  display: none !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-table {
-  display: table !important;
-}
-
-.d-table-row {
-  display: table-row !important;
-}
-
-.d-table-cell {
-  display: table-cell !important;
-}
-
-.d-flex {
-  display: -ms-flexbox !important;
-  display: flex !important;
-}
-
-.d-inline-flex {
-  display: -ms-inline-flexbox !important;
-  display: inline-flex !important;
-}
-
-@media (min-width: 576px) {
-  .d-sm-none {
-    display: none !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-table {
-    display: table !important;
-  }
-  .d-sm-table-row {
-    display: table-row !important;
-  }
-  .d-sm-table-cell {
-    display: table-cell !important;
-  }
-  .d-sm-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-sm-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .d-md-none {
-    display: none !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-table {
-    display: table !important;
-  }
-  .d-md-table-row {
-    display: table-row !important;
-  }
-  .d-md-table-cell {
-    display: table-cell !important;
-  }
-  .d-md-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-md-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .d-lg-none {
-    display: none !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-table {
-    display: table !important;
-  }
-  .d-lg-table-row {
-    display: table-row !important;
-  }
-  .d-lg-table-cell {
-    display: table-cell !important;
-  }
-  .d-lg-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-lg-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .d-xl-none {
-    display: none !important;
-  }
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-table {
-    display: table !important;
-  }
-  .d-xl-table-row {
-    display: table-row !important;
-  }
-  .d-xl-table-cell {
-    display: table-cell !important;
-  }
-  .d-xl-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-xl-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-@media print {
-  .d-print-none {
-    display: none !important;
-  }
-  .d-print-inline {
-    display: inline !important;
-  }
-  .d-print-inline-block {
-    display: inline-block !important;
-  }
-  .d-print-block {
-    display: block !important;
-  }
-  .d-print-table {
-    display: table !important;
-  }
-  .d-print-table-row {
-    display: table-row !important;
-  }
-  .d-print-table-cell {
-    display: table-cell !important;
-  }
-  .d-print-flex {
-    display: -ms-flexbox !important;
-    display: flex !important;
-  }
-  .d-print-inline-flex {
-    display: -ms-inline-flexbox !important;
-    display: inline-flex !important;
-  }
-}
-
-.embed-responsive {
-  position: relative;
-  display: block;
-  width: 100%;
-  padding: 0;
-  overflow: hidden;
-}
-
-.embed-responsive::before {
-  display: block;
-  content: "";
-}
-
-.embed-responsive .embed-responsive-item,
-.embed-responsive iframe,
-.embed-responsive embed,
-.embed-responsive object,
-.embed-responsive video {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  border: 0;
-}
-
-.embed-responsive-21by9::before {
-  padding-top: 42.857143%;
-}
-
-.embed-responsive-16by9::before {
-  padding-top: 56.25%;
-}
-
-.embed-responsive-4by3::before {
-  padding-top: 75%;
-}
-
-.embed-responsive-1by1::before {
-  padding-top: 100%;
-}
-
-.flex-row {
-  -ms-flex-direction: row !important;
-  flex-direction: row !important;
-}
-
-.flex-column {
-  -ms-flex-direction: column !important;
-  flex-direction: column !important;
-}
-
-.flex-row-reverse {
-  -ms-flex-direction: row-reverse !important;
-  flex-direction: row-reverse !important;
-}
-
-.flex-column-reverse {
-  -ms-flex-direction: column-reverse !important;
-  flex-direction: column-reverse !important;
-}
-
-.flex-wrap {
-  -ms-flex-wrap: wrap !important;
-  flex-wrap: wrap !important;
-}
-
-.flex-nowrap {
-  -ms-flex-wrap: nowrap !important;
-  flex-wrap: nowrap !important;
-}
-
-.flex-wrap-reverse {
-  -ms-flex-wrap: wrap-reverse !important;
-  flex-wrap: wrap-reverse !important;
-}
-
-.flex-fill {
-  -ms-flex: 1 1 auto !important;
-  flex: 1 1 auto !important;
-}
-
-.flex-grow-0 {
-  -ms-flex-positive: 0 !important;
-  flex-grow: 0 !important;
-}
-
-.flex-grow-1 {
-  -ms-flex-positive: 1 !important;
-  flex-grow: 1 !important;
-}
-
-.flex-shrink-0 {
-  -ms-flex-negative: 0 !important;
-  flex-shrink: 0 !important;
-}
-
-.flex-shrink-1 {
-  -ms-flex-negative: 1 !important;
-  flex-shrink: 1 !important;
-}
-
-.justify-content-start {
-  -ms-flex-pack: start !important;
-  justify-content: flex-start !important;
-}
-
-.justify-content-end {
-  -ms-flex-pack: end !important;
-  justify-content: flex-end !important;
-}
-
-.justify-content-center {
-  -ms-flex-pack: center !important;
-  justify-content: center !important;
-}
-
-.justify-content-between {
-  -ms-flex-pack: justify !important;
-  justify-content: space-between !important;
-}
-
-.justify-content-around {
-  -ms-flex-pack: distribute !important;
-  justify-content: space-around !important;
-}
-
-.align-items-start {
-  -ms-flex-align: start !important;
-  align-items: flex-start !important;
-}
-
-.align-items-end {
-  -ms-flex-align: end !important;
-  align-items: flex-end !important;
-}
-
-.align-items-center {
-  -ms-flex-align: center !important;
-  align-items: center !important;
-}
-
-.align-items-baseline {
-  -ms-flex-align: baseline !important;
-  align-items: baseline !important;
-}
-
-.align-items-stretch {
-  -ms-flex-align: stretch !important;
-  align-items: stretch !important;
-}
-
-.align-content-start {
-  -ms-flex-line-pack: start !important;
-  align-content: flex-start !important;
-}
-
-.align-content-end {
-  -ms-flex-line-pack: end !important;
-  align-content: flex-end !important;
-}
-
-.align-content-center {
-  -ms-flex-line-pack: center !important;
-  align-content: center !important;
-}
-
-.align-content-between {
-  -ms-flex-line-pack: justify !important;
-  align-content: space-between !important;
-}
-
-.align-content-around {
-  -ms-flex-line-pack: distribute !important;
-  align-content: space-around !important;
-}
-
-.align-content-stretch {
-  -ms-flex-line-pack: stretch !important;
-  align-content: stretch !important;
-}
-
-.align-self-auto {
-  -ms-flex-item-align: auto !important;
-  align-self: auto !important;
-}
-
-.align-self-start {
-  -ms-flex-item-align: start !important;
-  align-self: flex-start !important;
-}
-
-.align-self-end {
-  -ms-flex-item-align: end !important;
-  align-self: flex-end !important;
-}
-
-.align-self-center {
-  -ms-flex-item-align: center !important;
-  align-self: center !important;
-}
-
-.align-self-baseline {
-  -ms-flex-item-align: baseline !important;
-  align-self: baseline !important;
-}
-
-.align-self-stretch {
-  -ms-flex-item-align: stretch !important;
-  align-self: stretch !important;
-}
-
-@media (min-width: 576px) {
-  .flex-sm-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-sm-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-sm-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-sm-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-sm-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-sm-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-sm-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-sm-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-sm-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-sm-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-sm-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-sm-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-sm-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-sm-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-sm-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-sm-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-sm-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-sm-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-sm-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-sm-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-sm-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-sm-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-sm-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-sm-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-sm-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-sm-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-sm-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-sm-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-sm-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-sm-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-sm-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-sm-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-sm-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-sm-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .flex-md-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-md-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-md-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-md-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-md-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-md-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-md-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-md-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-md-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-md-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-md-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-md-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-md-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-md-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-md-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-md-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-md-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-md-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-md-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-md-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-md-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-md-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-md-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-md-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-md-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-md-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-md-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-md-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-md-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-md-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-md-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-md-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-md-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-md-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .flex-lg-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-lg-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-lg-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-lg-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-lg-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-lg-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-lg-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-lg-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-lg-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-lg-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-lg-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-lg-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-lg-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-lg-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-lg-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-lg-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-lg-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-lg-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-lg-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-lg-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-lg-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-lg-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-lg-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-lg-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-lg-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-lg-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-lg-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-lg-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-lg-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-lg-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-lg-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-lg-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-lg-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-lg-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .flex-xl-row {
-    -ms-flex-direction: row !important;
-    flex-direction: row !important;
-  }
-  .flex-xl-column {
-    -ms-flex-direction: column !important;
-    flex-direction: column !important;
-  }
-  .flex-xl-row-reverse {
-    -ms-flex-direction: row-reverse !important;
-    flex-direction: row-reverse !important;
-  }
-  .flex-xl-column-reverse {
-    -ms-flex-direction: column-reverse !important;
-    flex-direction: column-reverse !important;
-  }
-  .flex-xl-wrap {
-    -ms-flex-wrap: wrap !important;
-    flex-wrap: wrap !important;
-  }
-  .flex-xl-nowrap {
-    -ms-flex-wrap: nowrap !important;
-    flex-wrap: nowrap !important;
-  }
-  .flex-xl-wrap-reverse {
-    -ms-flex-wrap: wrap-reverse !important;
-    flex-wrap: wrap-reverse !important;
-  }
-  .flex-xl-fill {
-    -ms-flex: 1 1 auto !important;
-    flex: 1 1 auto !important;
-  }
-  .flex-xl-grow-0 {
-    -ms-flex-positive: 0 !important;
-    flex-grow: 0 !important;
-  }
-  .flex-xl-grow-1 {
-    -ms-flex-positive: 1 !important;
-    flex-grow: 1 !important;
-  }
-  .flex-xl-shrink-0 {
-    -ms-flex-negative: 0 !important;
-    flex-shrink: 0 !important;
-  }
-  .flex-xl-shrink-1 {
-    -ms-flex-negative: 1 !important;
-    flex-shrink: 1 !important;
-  }
-  .justify-content-xl-start {
-    -ms-flex-pack: start !important;
-    justify-content: flex-start !important;
-  }
-  .justify-content-xl-end {
-    -ms-flex-pack: end !important;
-    justify-content: flex-end !important;
-  }
-  .justify-content-xl-center {
-    -ms-flex-pack: center !important;
-    justify-content: center !important;
-  }
-  .justify-content-xl-between {
-    -ms-flex-pack: justify !important;
-    justify-content: space-between !important;
-  }
-  .justify-content-xl-around {
-    -ms-flex-pack: distribute !important;
-    justify-content: space-around !important;
-  }
-  .align-items-xl-start {
-    -ms-flex-align: start !important;
-    align-items: flex-start !important;
-  }
-  .align-items-xl-end {
-    -ms-flex-align: end !important;
-    align-items: flex-end !important;
-  }
-  .align-items-xl-center {
-    -ms-flex-align: center !important;
-    align-items: center !important;
-  }
-  .align-items-xl-baseline {
-    -ms-flex-align: baseline !important;
-    align-items: baseline !important;
-  }
-  .align-items-xl-stretch {
-    -ms-flex-align: stretch !important;
-    align-items: stretch !important;
-  }
-  .align-content-xl-start {
-    -ms-flex-line-pack: start !important;
-    align-content: flex-start !important;
-  }
-  .align-content-xl-end {
-    -ms-flex-line-pack: end !important;
-    align-content: flex-end !important;
-  }
-  .align-content-xl-center {
-    -ms-flex-line-pack: center !important;
-    align-content: center !important;
-  }
-  .align-content-xl-between {
-    -ms-flex-line-pack: justify !important;
-    align-content: space-between !important;
-  }
-  .align-content-xl-around {
-    -ms-flex-line-pack: distribute !important;
-    align-content: space-around !important;
-  }
-  .align-content-xl-stretch {
-    -ms-flex-line-pack: stretch !important;
-    align-content: stretch !important;
-  }
-  .align-self-xl-auto {
-    -ms-flex-item-align: auto !important;
-    align-self: auto !important;
-  }
-  .align-self-xl-start {
-    -ms-flex-item-align: start !important;
-    align-self: flex-start !important;
-  }
-  .align-self-xl-end {
-    -ms-flex-item-align: end !important;
-    align-self: flex-end !important;
-  }
-  .align-self-xl-center {
-    -ms-flex-item-align: center !important;
-    align-self: center !important;
-  }
-  .align-self-xl-baseline {
-    -ms-flex-item-align: baseline !important;
-    align-self: baseline !important;
-  }
-  .align-self-xl-stretch {
-    -ms-flex-item-align: stretch !important;
-    align-self: stretch !important;
-  }
-}
-
-.float-left {
-  float: left !important;
-}
-
-.float-right {
-  float: right !important;
-}
-
-.float-none {
-  float: none !important;
-}
-
-@media (min-width: 576px) {
-  .float-sm-left {
-    float: left !important;
-  }
-  .float-sm-right {
-    float: right !important;
-  }
-  .float-sm-none {
-    float: none !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .float-md-left {
-    float: left !important;
-  }
-  .float-md-right {
-    float: right !important;
-  }
-  .float-md-none {
-    float: none !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .float-lg-left {
-    float: left !important;
-  }
-  .float-lg-right {
-    float: right !important;
-  }
-  .float-lg-none {
-    float: none !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .float-xl-left {
-    float: left !important;
-  }
-  .float-xl-right {
-    float: right !important;
-  }
-  .float-xl-none {
-    float: none !important;
-  }
-}
-
-.overflow-auto {
-  overflow: auto !important;
-}
-
-.overflow-hidden {
-  overflow: hidden !important;
-}
-
-.position-static {
-  position: static !important;
-}
-
-.position-relative {
-  position: relative !important;
-}
-
-.position-absolute {
-  position: absolute !important;
-}
-
-.position-fixed {
-  position: fixed !important;
-}
-
-.position-sticky {
-  position: -webkit-sticky !important;
-  position: sticky !important;
-}
-
-.fixed-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 {
-  position: absolute;
-  width: 1px;
-  height: 1px;
-  padding: 0;
-  overflow: hidden;
-  clip: rect(0, 0, 0, 0);
-  white-space: nowrap;
-  border: 0;
-}
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
-  position: static;
-  width: auto;
-  height: auto;
-  overflow: visible;
-  clip: auto;
-  white-space: normal;
-}
-
-.shadow-sm {
-  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
-}
-
-.shadow {
-  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
-}
-
-.shadow-lg {
-  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
-}
-
-.shadow-none {
-  box-shadow: none !important;
-}
-
-.w-25 {
-  width: 25% !important;
-}
-
-.w-50 {
-  width: 50% !important;
-}
-
-.w-75 {
-  width: 75% !important;
-}
-
-.w-100 {
-  width: 100% !important;
-}
-
-.w-auto {
-  width: auto !important;
-}
-
-.h-25 {
-  height: 25% !important;
-}
-
-.h-50 {
-  height: 50% !important;
-}
-
-.h-75 {
-  height: 75% !important;
-}
-
-.h-100 {
-  height: 100% !important;
-}
-
-.h-auto {
-  height: auto !important;
-}
-
-.mw-100 {
-  max-width: 100% !important;
-}
-
-.mh-100 {
-  max-height: 100% !important;
-}
-
-.min-vw-100 {
-  min-width: 100vw !important;
-}
-
-.min-vh-100 {
-  min-height: 100vh !important;
-}
-
-.vw-100 {
-  width: 100vw !important;
-}
-
-.vh-100 {
-  height: 100vh !important;
-}
-
-.stretched-link::after {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1;
-  pointer-events: auto;
-  content: "";
-  background-color: rgba(0, 0, 0, 0);
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.mt-0,
-.my-0 {
-  margin-top: 0 !important;
-}
-
-.mr-0,
-.mx-0 {
-  margin-right: 0 !important;
-}
-
-.mb-0,
-.my-0 {
-  margin-bottom: 0 !important;
-}
-
-.ml-0,
-.mx-0 {
-  margin-left: 0 !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.mt-1,
-.my-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mr-1,
-.mx-1 {
-  margin-right: 0.25rem !important;
-}
-
-.mb-1,
-.my-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.ml-1,
-.mx-1 {
-  margin-left: 0.25rem !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.mt-2,
-.my-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mr-2,
-.mx-2 {
-  margin-right: 0.5rem !important;
-}
-
-.mb-2,
-.my-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.ml-2,
-.mx-2 {
-  margin-left: 0.5rem !important;
-}
-
-.m-3 {
-  margin: 1rem !important;
-}
-
-.mt-3,
-.my-3 {
-  margin-top: 1rem !important;
-}
-
-.mr-3,
-.mx-3 {
-  margin-right: 1rem !important;
-}
-
-.mb-3,
-.my-3 {
-  margin-bottom: 1rem !important;
-}
-
-.ml-3,
-.mx-3 {
-  margin-left: 1rem !important;
-}
-
-.m-4 {
-  margin: 1.5rem !important;
-}
-
-.mt-4,
-.my-4 {
-  margin-top: 1.5rem !important;
-}
-
-.mr-4,
-.mx-4 {
-  margin-right: 1.5rem !important;
-}
-
-.mb-4,
-.my-4 {
-  margin-bottom: 1.5rem !important;
-}
-
-.ml-4,
-.mx-4 {
-  margin-left: 1.5rem !important;
-}
-
-.m-5 {
-  margin: 3rem !important;
-}
-
-.mt-5,
-.my-5 {
-  margin-top: 3rem !important;
-}
-
-.mr-5,
-.mx-5 {
-  margin-right: 3rem !important;
-}
-
-.mb-5,
-.my-5 {
-  margin-bottom: 3rem !important;
-}
-
-.ml-5,
-.mx-5 {
-  margin-left: 3rem !important;
-}
-
-.p-0 {
-  padding: 0 !important;
-}
-
-.pt-0,
-.py-0 {
-  padding-top: 0 !important;
-}
-
-.pr-0,
-.px-0 {
-  padding-right: 0 !important;
-}
-
-.pb-0,
-.py-0 {
-  padding-bottom: 0 !important;
-}
-
-.pl-0,
-.px-0 {
-  padding-left: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.pt-1,
-.py-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pr-1,
-.px-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pb-1,
-.py-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pl-1,
-.px-1 {
-  padding-left: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.pt-2,
-.py-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pr-2,
-.px-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pb-2,
-.py-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pl-2,
-.px-2 {
-  padding-left: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 1rem !important;
-}
-
-.pt-3,
-.py-3 {
-  padding-top: 1rem !important;
-}
-
-.pr-3,
-.px-3 {
-  padding-right: 1rem !important;
-}
-
-.pb-3,
-.py-3 {
-  padding-bottom: 1rem !important;
-}
-
-.pl-3,
-.px-3 {
-  padding-left: 1rem !important;
-}
-
-.p-4 {
-  padding: 1.5rem !important;
-}
-
-.pt-4,
-.py-4 {
-  padding-top: 1.5rem !important;
-}
-
-.pr-4,
-.px-4 {
-  padding-right: 1.5rem !important;
-}
-
-.pb-4,
-.py-4 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pl-4,
-.px-4 {
-  padding-left: 1.5rem !important;
-}
-
-.p-5 {
-  padding: 3rem !important;
-}
-
-.pt-5,
-.py-5 {
-  padding-top: 3rem !important;
-}
-
-.pr-5,
-.px-5 {
-  padding-right: 3rem !important;
-}
-
-.pb-5,
-.py-5 {
-  padding-bottom: 3rem !important;
-}
-
-.pl-5,
-.px-5 {
-  padding-left: 3rem !important;
-}
-
-.m-n1 {
-  margin: -0.25rem !important;
-}
-
-.mt-n1,
-.my-n1 {
-  margin-top: -0.25rem !important;
-}
-
-.mr-n1,
-.mx-n1 {
-  margin-right: -0.25rem !important;
-}
-
-.mb-n1,
-.my-n1 {
-  margin-bottom: -0.25rem !important;
-}
-
-.ml-n1,
-.mx-n1 {
-  margin-left: -0.25rem !important;
-}
-
-.m-n2 {
-  margin: -0.5rem !important;
-}
-
-.mt-n2,
-.my-n2 {
-  margin-top: -0.5rem !important;
-}
-
-.mr-n2,
-.mx-n2 {
-  margin-right: -0.5rem !important;
-}
-
-.mb-n2,
-.my-n2 {
-  margin-bottom: -0.5rem !important;
-}
-
-.ml-n2,
-.mx-n2 {
-  margin-left: -0.5rem !important;
-}
-
-.m-n3 {
-  margin: -1rem !important;
-}
-
-.mt-n3,
-.my-n3 {
-  margin-top: -1rem !important;
-}
-
-.mr-n3,
-.mx-n3 {
-  margin-right: -1rem !important;
-}
-
-.mb-n3,
-.my-n3 {
-  margin-bottom: -1rem !important;
-}
-
-.ml-n3,
-.mx-n3 {
-  margin-left: -1rem !important;
-}
-
-.m-n4 {
-  margin: -1.5rem !important;
-}
-
-.mt-n4,
-.my-n4 {
-  margin-top: -1.5rem !important;
-}
-
-.mr-n4,
-.mx-n4 {
-  margin-right: -1.5rem !important;
-}
-
-.mb-n4,
-.my-n4 {
-  margin-bottom: -1.5rem !important;
-}
-
-.ml-n4,
-.mx-n4 {
-  margin-left: -1.5rem !important;
-}
-
-.m-n5 {
-  margin: -3rem !important;
-}
-
-.mt-n5,
-.my-n5 {
-  margin-top: -3rem !important;
-}
-
-.mr-n5,
-.mx-n5 {
-  margin-right: -3rem !important;
-}
-
-.mb-n5,
-.my-n5 {
-  margin-bottom: -3rem !important;
-}
-
-.ml-n5,
-.mx-n5 {
-  margin-left: -3rem !important;
-}
-
-.m-auto {
-  margin: auto !important;
-}
-
-.mt-auto,
-.my-auto {
-  margin-top: auto !important;
-}
-
-.mr-auto,
-.mx-auto {
-  margin-right: auto !important;
-}
-
-.mb-auto,
-.my-auto {
-  margin-bottom: auto !important;
-}
-
-.ml-auto,
-.mx-auto {
-  margin-left: auto !important;
-}
-
-@media (min-width: 576px) {
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .mt-sm-0,
-  .my-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mr-sm-0,
-  .mx-sm-0 {
-    margin-right: 0 !important;
-  }
-  .mb-sm-0,
-  .my-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-sm-0,
-  .mx-sm-0 {
-    margin-left: 0 !important;
-  }
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-sm-1,
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-sm-1,
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-sm-1,
-  .my-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-sm-1,
-  .mx-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-sm-2,
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-sm-2,
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-sm-2,
-  .my-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-sm-2,
-  .mx-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-sm-3 {
-    margin: 1rem !important;
-  }
-  .mt-sm-3,
-  .my-sm-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-sm-3,
-  .mx-sm-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-sm-3,
-  .my-sm-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-sm-3,
-  .mx-sm-3 {
-    margin-left: 1rem !important;
-  }
-  .m-sm-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-sm-4,
-  .my-sm-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-sm-4,
-  .mx-sm-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-sm-4,
-  .my-sm-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-sm-4,
-  .mx-sm-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-sm-5 {
-    margin: 3rem !important;
-  }
-  .mt-sm-5,
-  .my-sm-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-sm-5,
-  .mx-sm-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-sm-5,
-  .my-sm-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-sm-5,
-  .mx-sm-5 {
-    margin-left: 3rem !important;
-  }
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .pt-sm-0,
-  .py-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pr-sm-0,
-  .px-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pb-sm-0,
-  .py-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-sm-0,
-  .px-sm-0 {
-    padding-left: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-sm-1,
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-sm-1,
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-sm-1,
-  .py-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-sm-1,
-  .px-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-sm-2,
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-sm-2,
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-sm-2,
-  .py-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-sm-2,
-  .px-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 1rem !important;
-  }
-  .pt-sm-3,
-  .py-sm-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-sm-3,
-  .px-sm-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-sm-3,
-  .py-sm-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-sm-3,
-  .px-sm-3 {
-    padding-left: 1rem !important;
-  }
-  .p-sm-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-sm-4,
-  .py-sm-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-sm-4,
-  .px-sm-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-sm-4,
-  .py-sm-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-sm-4,
-  .px-sm-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-sm-5 {
-    padding: 3rem !important;
-  }
-  .pt-sm-5,
-  .py-sm-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-sm-5,
-  .px-sm-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-5,
-  .py-sm-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-sm-5,
-  .px-sm-5 {
-    padding-left: 3rem !important;
-  }
-  .m-sm-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-sm-n1,
-  .my-sm-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-sm-n1,
-  .mx-sm-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-sm-n1,
-  .my-sm-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-sm-n1,
-  .mx-sm-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-sm-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-sm-n2,
-  .my-sm-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-sm-n2,
-  .mx-sm-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-sm-n2,
-  .my-sm-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-sm-n2,
-  .mx-sm-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-sm-n3 {
-    margin: -1rem !important;
-  }
-  .mt-sm-n3,
-  .my-sm-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-sm-n3,
-  .mx-sm-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-sm-n3,
-  .my-sm-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-sm-n3,
-  .mx-sm-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-sm-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-sm-n4,
-  .my-sm-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-sm-n4,
-  .mx-sm-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-sm-n4,
-  .my-sm-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-sm-n4,
-  .mx-sm-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-sm-n5 {
-    margin: -3rem !important;
-  }
-  .mt-sm-n5,
-  .my-sm-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-sm-n5,
-  .mx-sm-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-sm-n5,
-  .my-sm-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-sm-n5,
-  .mx-sm-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-sm-auto {
-    margin: auto !important;
-  }
-  .mt-sm-auto,
-  .my-sm-auto {
-    margin-top: auto !important;
-  }
-  .mr-sm-auto,
-  .mx-sm-auto {
-    margin-right: auto !important;
-  }
-  .mb-sm-auto,
-  .my-sm-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-sm-auto,
-  .mx-sm-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .mt-md-0,
-  .my-md-0 {
-    margin-top: 0 !important;
-  }
-  .mr-md-0,
-  .mx-md-0 {
-    margin-right: 0 !important;
-  }
-  .mb-md-0,
-  .my-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-md-0,
-  .mx-md-0 {
-    margin-left: 0 !important;
-  }
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-md-1,
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-md-1,
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-md-1,
-  .my-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-md-1,
-  .mx-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-md-2,
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-md-2,
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-md-2,
-  .my-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-md-2,
-  .mx-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-md-3 {
-    margin: 1rem !important;
-  }
-  .mt-md-3,
-  .my-md-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-md-3,
-  .mx-md-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-md-3,
-  .my-md-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-md-3,
-  .mx-md-3 {
-    margin-left: 1rem !important;
-  }
-  .m-md-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-md-4,
-  .my-md-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-md-4,
-  .mx-md-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-md-4,
-  .my-md-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-md-4,
-  .mx-md-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-md-5 {
-    margin: 3rem !important;
-  }
-  .mt-md-5,
-  .my-md-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-md-5,
-  .mx-md-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-md-5,
-  .my-md-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-md-5,
-  .mx-md-5 {
-    margin-left: 3rem !important;
-  }
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .pt-md-0,
-  .py-md-0 {
-    padding-top: 0 !important;
-  }
-  .pr-md-0,
-  .px-md-0 {
-    padding-right: 0 !important;
-  }
-  .pb-md-0,
-  .py-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-md-0,
-  .px-md-0 {
-    padding-left: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-md-1,
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-md-1,
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-md-1,
-  .py-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-md-1,
-  .px-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-md-2,
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-md-2,
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-md-2,
-  .py-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-md-2,
-  .px-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 1rem !important;
-  }
-  .pt-md-3,
-  .py-md-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-md-3,
-  .px-md-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-md-3,
-  .py-md-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-md-3,
-  .px-md-3 {
-    padding-left: 1rem !important;
-  }
-  .p-md-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-md-4,
-  .py-md-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-md-4,
-  .px-md-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-md-4,
-  .py-md-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-md-4,
-  .px-md-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-md-5 {
-    padding: 3rem !important;
-  }
-  .pt-md-5,
-  .py-md-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-md-5,
-  .px-md-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-5,
-  .py-md-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-md-5,
-  .px-md-5 {
-    padding-left: 3rem !important;
-  }
-  .m-md-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-md-n1,
-  .my-md-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-md-n1,
-  .mx-md-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-md-n1,
-  .my-md-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-md-n1,
-  .mx-md-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-md-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-md-n2,
-  .my-md-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-md-n2,
-  .mx-md-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-md-n2,
-  .my-md-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-md-n2,
-  .mx-md-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-md-n3 {
-    margin: -1rem !important;
-  }
-  .mt-md-n3,
-  .my-md-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-md-n3,
-  .mx-md-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-md-n3,
-  .my-md-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-md-n3,
-  .mx-md-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-md-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-md-n4,
-  .my-md-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-md-n4,
-  .mx-md-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-md-n4,
-  .my-md-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-md-n4,
-  .mx-md-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-md-n5 {
-    margin: -3rem !important;
-  }
-  .mt-md-n5,
-  .my-md-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-md-n5,
-  .mx-md-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-md-n5,
-  .my-md-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-md-n5,
-  .mx-md-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-md-auto {
-    margin: auto !important;
-  }
-  .mt-md-auto,
-  .my-md-auto {
-    margin-top: auto !important;
-  }
-  .mr-md-auto,
-  .mx-md-auto {
-    margin-right: auto !important;
-  }
-  .mb-md-auto,
-  .my-md-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-md-auto,
-  .mx-md-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .mt-lg-0,
-  .my-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mr-lg-0,
-  .mx-lg-0 {
-    margin-right: 0 !important;
-  }
-  .mb-lg-0,
-  .my-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-lg-0,
-  .mx-lg-0 {
-    margin-left: 0 !important;
-  }
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-lg-1,
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-lg-1,
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-lg-1,
-  .my-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-lg-1,
-  .mx-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-lg-2,
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-lg-2,
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-lg-2,
-  .my-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-lg-2,
-  .mx-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-lg-3 {
-    margin: 1rem !important;
-  }
-  .mt-lg-3,
-  .my-lg-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-lg-3,
-  .mx-lg-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-lg-3,
-  .my-lg-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-lg-3,
-  .mx-lg-3 {
-    margin-left: 1rem !important;
-  }
-  .m-lg-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-lg-4,
-  .my-lg-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-lg-4,
-  .mx-lg-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-lg-4,
-  .my-lg-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-lg-4,
-  .mx-lg-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-lg-5 {
-    margin: 3rem !important;
-  }
-  .mt-lg-5,
-  .my-lg-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-lg-5,
-  .mx-lg-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-lg-5,
-  .my-lg-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-lg-5,
-  .mx-lg-5 {
-    margin-left: 3rem !important;
-  }
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .pt-lg-0,
-  .py-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pr-lg-0,
-  .px-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pb-lg-0,
-  .py-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-lg-0,
-  .px-lg-0 {
-    padding-left: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-lg-1,
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-lg-1,
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-lg-1,
-  .py-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-lg-1,
-  .px-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-lg-2,
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-lg-2,
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-lg-2,
-  .py-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-lg-2,
-  .px-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 1rem !important;
-  }
-  .pt-lg-3,
-  .py-lg-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-lg-3,
-  .px-lg-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-lg-3,
-  .py-lg-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-lg-3,
-  .px-lg-3 {
-    padding-left: 1rem !important;
-  }
-  .p-lg-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-lg-4,
-  .py-lg-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-lg-4,
-  .px-lg-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-lg-4,
-  .py-lg-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-lg-4,
-  .px-lg-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-lg-5 {
-    padding: 3rem !important;
-  }
-  .pt-lg-5,
-  .py-lg-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-lg-5,
-  .px-lg-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-5,
-  .py-lg-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-lg-5,
-  .px-lg-5 {
-    padding-left: 3rem !important;
-  }
-  .m-lg-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-lg-n1,
-  .my-lg-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-lg-n1,
-  .mx-lg-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-lg-n1,
-  .my-lg-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-lg-n1,
-  .mx-lg-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-lg-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-lg-n2,
-  .my-lg-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-lg-n2,
-  .mx-lg-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-lg-n2,
-  .my-lg-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-lg-n2,
-  .mx-lg-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-lg-n3 {
-    margin: -1rem !important;
-  }
-  .mt-lg-n3,
-  .my-lg-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-lg-n3,
-  .mx-lg-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-lg-n3,
-  .my-lg-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-lg-n3,
-  .mx-lg-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-lg-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-lg-n4,
-  .my-lg-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-lg-n4,
-  .mx-lg-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-lg-n4,
-  .my-lg-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-lg-n4,
-  .mx-lg-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-lg-n5 {
-    margin: -3rem !important;
-  }
-  .mt-lg-n5,
-  .my-lg-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-lg-n5,
-  .mx-lg-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-lg-n5,
-  .my-lg-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-lg-n5,
-  .mx-lg-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-lg-auto {
-    margin: auto !important;
-  }
-  .mt-lg-auto,
-  .my-lg-auto {
-    margin-top: auto !important;
-  }
-  .mr-lg-auto,
-  .mx-lg-auto {
-    margin-right: auto !important;
-  }
-  .mb-lg-auto,
-  .my-lg-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-lg-auto,
-  .mx-lg-auto {
-    margin-left: auto !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .mt-xl-0,
-  .my-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mr-xl-0,
-  .mx-xl-0 {
-    margin-right: 0 !important;
-  }
-  .mb-xl-0,
-  .my-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .ml-xl-0,
-  .mx-xl-0 {
-    margin-left: 0 !important;
-  }
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .mt-xl-1,
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mr-xl-1,
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .mb-xl-1,
-  .my-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .ml-xl-1,
-  .mx-xl-1 {
-    margin-left: 0.25rem !important;
-  }
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .mt-xl-2,
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mr-xl-2,
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .mb-xl-2,
-  .my-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .ml-xl-2,
-  .mx-xl-2 {
-    margin-left: 0.5rem !important;
-  }
-  .m-xl-3 {
-    margin: 1rem !important;
-  }
-  .mt-xl-3,
-  .my-xl-3 {
-    margin-top: 1rem !important;
-  }
-  .mr-xl-3,
-  .mx-xl-3 {
-    margin-right: 1rem !important;
-  }
-  .mb-xl-3,
-  .my-xl-3 {
-    margin-bottom: 1rem !important;
-  }
-  .ml-xl-3,
-  .mx-xl-3 {
-    margin-left: 1rem !important;
-  }
-  .m-xl-4 {
-    margin: 1.5rem !important;
-  }
-  .mt-xl-4,
-  .my-xl-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mr-xl-4,
-  .mx-xl-4 {
-    margin-right: 1.5rem !important;
-  }
-  .mb-xl-4,
-  .my-xl-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .ml-xl-4,
-  .mx-xl-4 {
-    margin-left: 1.5rem !important;
-  }
-  .m-xl-5 {
-    margin: 3rem !important;
-  }
-  .mt-xl-5,
-  .my-xl-5 {
-    margin-top: 3rem !important;
-  }
-  .mr-xl-5,
-  .mx-xl-5 {
-    margin-right: 3rem !important;
-  }
-  .mb-xl-5,
-  .my-xl-5 {
-    margin-bottom: 3rem !important;
-  }
-  .ml-xl-5,
-  .mx-xl-5 {
-    margin-left: 3rem !important;
-  }
-  .p-xl-0 {
-    padding: 0 !important;
-  }
-  .pt-xl-0,
-  .py-xl-0 {
-    padding-top: 0 !important;
-  }
-  .pr-xl-0,
-  .px-xl-0 {
-    padding-right: 0 !important;
-  }
-  .pb-xl-0,
-  .py-xl-0 {
-    padding-bottom: 0 !important;
-  }
-  .pl-xl-0,
-  .px-xl-0 {
-    padding-left: 0 !important;
-  }
-  .p-xl-1 {
-    padding: 0.25rem !important;
-  }
-  .pt-xl-1,
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pr-xl-1,
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pb-xl-1,
-  .py-xl-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pl-xl-1,
-  .px-xl-1 {
-    padding-left: 0.25rem !important;
-  }
-  .p-xl-2 {
-    padding: 0.5rem !important;
-  }
-  .pt-xl-2,
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pr-xl-2,
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pb-xl-2,
-  .py-xl-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pl-xl-2,
-  .px-xl-2 {
-    padding-left: 0.5rem !important;
-  }
-  .p-xl-3 {
-    padding: 1rem !important;
-  }
-  .pt-xl-3,
-  .py-xl-3 {
-    padding-top: 1rem !important;
-  }
-  .pr-xl-3,
-  .px-xl-3 {
-    padding-right: 1rem !important;
-  }
-  .pb-xl-3,
-  .py-xl-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pl-xl-3,
-  .px-xl-3 {
-    padding-left: 1rem !important;
-  }
-  .p-xl-4 {
-    padding: 1.5rem !important;
-  }
-  .pt-xl-4,
-  .py-xl-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pr-xl-4,
-  .px-xl-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pb-xl-4,
-  .py-xl-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pl-xl-4,
-  .px-xl-4 {
-    padding-left: 1.5rem !important;
-  }
-  .p-xl-5 {
-    padding: 3rem !important;
-  }
-  .pt-xl-5,
-  .py-xl-5 {
-    padding-top: 3rem !important;
-  }
-  .pr-xl-5,
-  .px-xl-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-xl-5,
-  .py-xl-5 {
-    padding-bottom: 3rem !important;
-  }
-  .pl-xl-5,
-  .px-xl-5 {
-    padding-left: 3rem !important;
-  }
-  .m-xl-n1 {
-    margin: -0.25rem !important;
-  }
-  .mt-xl-n1,
-  .my-xl-n1 {
-    margin-top: -0.25rem !important;
-  }
-  .mr-xl-n1,
-  .mx-xl-n1 {
-    margin-right: -0.25rem !important;
-  }
-  .mb-xl-n1,
-  .my-xl-n1 {
-    margin-bottom: -0.25rem !important;
-  }
-  .ml-xl-n1,
-  .mx-xl-n1 {
-    margin-left: -0.25rem !important;
-  }
-  .m-xl-n2 {
-    margin: -0.5rem !important;
-  }
-  .mt-xl-n2,
-  .my-xl-n2 {
-    margin-top: -0.5rem !important;
-  }
-  .mr-xl-n2,
-  .mx-xl-n2 {
-    margin-right: -0.5rem !important;
-  }
-  .mb-xl-n2,
-  .my-xl-n2 {
-    margin-bottom: -0.5rem !important;
-  }
-  .ml-xl-n2,
-  .mx-xl-n2 {
-    margin-left: -0.5rem !important;
-  }
-  .m-xl-n3 {
-    margin: -1rem !important;
-  }
-  .mt-xl-n3,
-  .my-xl-n3 {
-    margin-top: -1rem !important;
-  }
-  .mr-xl-n3,
-  .mx-xl-n3 {
-    margin-right: -1rem !important;
-  }
-  .mb-xl-n3,
-  .my-xl-n3 {
-    margin-bottom: -1rem !important;
-  }
-  .ml-xl-n3,
-  .mx-xl-n3 {
-    margin-left: -1rem !important;
-  }
-  .m-xl-n4 {
-    margin: -1.5rem !important;
-  }
-  .mt-xl-n4,
-  .my-xl-n4 {
-    margin-top: -1.5rem !important;
-  }
-  .mr-xl-n4,
-  .mx-xl-n4 {
-    margin-right: -1.5rem !important;
-  }
-  .mb-xl-n4,
-  .my-xl-n4 {
-    margin-bottom: -1.5rem !important;
-  }
-  .ml-xl-n4,
-  .mx-xl-n4 {
-    margin-left: -1.5rem !important;
-  }
-  .m-xl-n5 {
-    margin: -3rem !important;
-  }
-  .mt-xl-n5,
-  .my-xl-n5 {
-    margin-top: -3rem !important;
-  }
-  .mr-xl-n5,
-  .mx-xl-n5 {
-    margin-right: -3rem !important;
-  }
-  .mb-xl-n5,
-  .my-xl-n5 {
-    margin-bottom: -3rem !important;
-  }
-  .ml-xl-n5,
-  .mx-xl-n5 {
-    margin-left: -3rem !important;
-  }
-  .m-xl-auto {
-    margin: auto !important;
-  }
-  .mt-xl-auto,
-  .my-xl-auto {
-    margin-top: auto !important;
-  }
-  .mr-xl-auto,
-  .mx-xl-auto {
-    margin-right: auto !important;
-  }
-  .mb-xl-auto,
-  .my-xl-auto {
-    margin-bottom: auto !important;
-  }
-  .ml-xl-auto,
-  .mx-xl-auto {
-    margin-left: auto !important;
-  }
-}
-
-.text-monospace {
-  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
-}
-
-.text-justify {
-  text-align: justify !important;
-}
-
-.text-wrap {
-  white-space: normal !important;
-}
-
-.text-nowrap {
-  white-space: nowrap !important;
-}
-
-.text-truncate {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.text-left {
-  text-align: left !important;
-}
-
-.text-right {
-  text-align: right !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-@media (min-width: 576px) {
-  .text-sm-left {
-    text-align: left !important;
-  }
-  .text-sm-right {
-    text-align: right !important;
-  }
-  .text-sm-center {
-    text-align: center !important;
-  }
-}
-
-@media (min-width: 768px) {
-  .text-md-left {
-    text-align: left !important;
-  }
-  .text-md-right {
-    text-align: right !important;
-  }
-  .text-md-center {
-    text-align: center !important;
-  }
-}
-
-@media (min-width: 992px) {
-  .text-lg-left {
-    text-align: left !important;
-  }
-  .text-lg-right {
-    text-align: right !important;
-  }
-  .text-lg-center {
-    text-align: center !important;
-  }
-}
-
-@media (min-width: 1200px) {
-  .text-xl-left {
-    text-align: left !important;
-  }
-  .text-xl-right {
-    text-align: right !important;
-  }
-  .text-xl-center {
-    text-align: center !important;
-  }
-}
-
-.text-lowercase {
-  text-transform: lowercase !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.text-capitalize {
-  text-transform: capitalize !important;
-}
-
-.font-weight-light {
-  font-weight: 300 !important;
-}
-
-.font-weight-lighter {
-  font-weight: lighter !important;
-}
-
-.font-weight-normal {
-  font-weight: 400 !important;
-}
-
-.font-weight-bold {
-  font-weight: 700 !important;
-}
-
-.font-weight-bolder {
-  font-weight: bolder !important;
-}
-
-.font-italic {
-  font-style: italic !important;
-}
-
-.text-white {
-  color: #fff !important;
-}
-
-.text-primary {
-  color: #007bff !important;
-}
-
-a.text-primary:hover, a.text-primary:focus {
-  color: #0056b3 !important;
-}
-
-.text-secondary {
-  color: #6c757d !important;
-}
-
-a.text-secondary:hover, a.text-secondary:focus {
-  color: #494f54 !important;
-}
-
-.text-success {
-  color: #28a745 !important;
-}
-
-a.text-success:hover, a.text-success:focus {
-  color: #19692c !important;
-}
-
-.text-info {
-  color: #17a2b8 !important;
-}
-
-a.text-info:hover, a.text-info:focus {
-  color: #0f6674 !important;
-}
-
-.text-warning {
-  color: #ffc107 !important;
-}
-
-a.text-warning:hover, a.text-warning:focus {
-  color: #ba8b00 !important;
-}
-
-.text-danger {
-  color: #dc3545 !important;
-}
-
-a.text-danger:hover, a.text-danger:focus {
-  color: #a71d2a !important;
-}
-
-.text-light {
-  color: #f8f9fa !important;
-}
-
-a.text-light:hover, a.text-light:focus {
-  color: #cbd3da !important;
-}
-
-.text-dark {
-  color: #343a40 !important;
-}
-
-a.text-dark:hover, a.text-dark:focus {
-  color: #121416 !important;
-}
-
-.text-body {
-  color: #212529 !important;
-}
-
-.text-muted {
-  color: #6c757d !important;
-}
-
-.text-black-50 {
-  color: rgba(0, 0, 0, 0.5) !important;
-}
-
-.text-white-50 {
-  color: rgba(255, 255, 255, 0.5) !important;
-}
-
-.text-hide {
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-.text-decoration-none {
-  text-decoration: none !important;
-}
-
-.text-break {
-  word-break: break-word !important;
-  overflow-wrap: break-word !important;
-}
-
-.text-reset {
-  color: inherit !important;
-}
-
-.visible {
-  visibility: visible !important;
-}
-
-.invisible {
-  visibility: hidden !important;
-}
-
-@media print {
-  *,
-  *::before,
-  *::after {
-    text-shadow: none !important;
-    box-shadow: none !important;
-  }
-  a:not(.btn) {
-    text-decoration: underline;
-  }
-  abbr[title]::after {
-    content: " (" attr(title) ")";
-  }
-  pre {
-    white-space: pre-wrap !important;
-  }
-  pre,
-  blockquote {
-    border: 1px solid #adb5bd;
-    page-break-inside: avoid;
-  }
-  thead {
-    display: table-header-group;
-  }
-  tr,
-  img {
-    page-break-inside: avoid;
-  }
-  p,
-  h2,
-  h3 {
-    orphans: 3;
-    widows: 3;
-  }
-  h2,
-  h3 {
-    page-break-after: avoid;
-  }
-  @page {
-    size: a3;
-  }
-  body {
-    min-width: 992px !important;
-  }
-  .container {
-    min-width: 992px !important;
-  }
-  .navbar {
-    display: none;
-  }
-  .badge {
-    border: 1px solid #000;
-  }
-  .table {
-    border-collapse: collapse !important;
-  }
-  .table td,
-  .table th {
-    background-color: #fff !important;
-  }
-  .table-bordered th,
-  .table-bordered td {
-    border: 1px solid #dee2e6 !important;
-  }
-  .table-dark {
-    color: inherit;
-  }
-  .table-dark th,
-  .table-dark td,
-  .table-dark thead th,
-  .table-dark tbody + tbody {
-    border-color: #dee2e6;
-  }
-  .table .thead-dark th {
-    color: inherit;
-    border-color: #dee2e6;
-  }
-}
-/*# sourceMappingURL=bootstrap.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css.map
deleted file mode 100644
index 7eb1581..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.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.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.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/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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AF7G1B;;AAEA;EEmHE,wBAAwB;AFjH1B;;AEyHA;EACE,aAAa;EACb,0BAA0B;AFtH5B;;AE6HA;EACE,qBAAqB;AF1HvB;;AE6HA;EACE,kBAAkB;EAClB,eAAe;AF1HjB;;AE6HA;EACE,aAAa;AF1Hf;;AAEA;EE8HE,wBAAwB;AF5H1B;;AM/VA;;EAEE,qBHiSuC;EG/RvC,gBHiS+B;EGhS/B,gBHiS+B;AHgEjC;;AM7VA;EFgHM,iBAtCY;AJuRlB;;AMhWA;EF+GM,eAtCY;AJ2RlB;;AMnWA;EF8GM,kBAtCY;AJ+RlB;;AMtWA;EF6GM,iBAtCY;AJmSlB;;AMzWA;EF4GM,kBAtCY;AJuSlB;;AM5WA;EF2GM,eAtCY;AJ2SlB;;AM9WA;EFyGM,kBAtCY;EEjEhB,gBHmS+B;AH8EjC;;AM7WA;EFmGM,eAtCY;EE3DhB,gBHsR+B;EGrR/B,gBH6Q+B;AHmGjC;;AM9WA;EF8FM,iBAtCY;EEtDhB,gBHkR+B;EGjR/B,gBHwQ+B;AHyGjC;;AM/WA;EFyFM,iBAtCY;EEjDhB,gBH8Q+B;EG7Q/B,gBHmQ+B;AH+GjC;;AMhXA;EFoFM,iBAtCY;EE5ChB,gBH0Q+B;EGzQ/B,gBH8P+B;AHqHjC;;AE1VA;EIhBE,gBH0EW;EGzEX,mBHyEW;EGxEX,SAAS;EACT,wCHzCa;AHuZf;;AMtWA;;EFMI,cAAW;EEHb,gBHsN+B;AHmJjC;;AMtWA;;EAEE,cH8PgC;EG7PhC,yBHsQmC;AHmGrC;;AMjWA;EC/EE,eAAe;EACf,gBAAgB;APoblB;;AMjWA;ECpFE,eAAe;EACf,gBAAgB;APyblB;;AMnWA;EACE,qBAAqB;ANsWvB;;AMvWA;EAII,oBHgP+B;AHuHnC;;AM7VA;EFjCI,cAAW;EEmCb,yBAAyB;ANgW3B;;AM5VA;EACE,mBHiBW;ECFP,kBAtCY;AJuXlB;;AM5VA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHyclB;;AMlWA;EAMI,qBAAqB;ANgWzB;;AQndA;ECIE,eAAe;EAGf,YAAY;ATidd;;AQldA;EACE,gBL++BwC;EK9+BxC,sBLRa;EKSb,yBLNgB;EOLd,sBPqOgC;EM/NlC,eAAe;EAGf,YAA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AAwB,iBADZ;IACY,QADZ;EfitClB;EehtCM;IAAwB,iBADZ;IACY,QADZ;EfotClB;EentCM;IAAwB,iBADZ;IACY,QADZ;EfutClB;EettCM;IAAwB,iBADZ;IACY,QADZ;Ef0tClB;EeztCM;IAAwB,iBADZ;IACY,QADZ;Ef6tClB;Ee5tCM;IAAwB,iBADZ;IACY,QADZ;EfguClB;Ee/tCM;IAAwB,iBADZ;IACY,QADZ;EfmuClB;EeluCM;IAAwB,iBADZ;IACY,QADZ;EfsuClB;EeruCM;IAAwB,iBADZ;IACY,QADZ;EfyuClB;EexuCM;IAAwB,iBADZ;IACY,QADZ;Ef4uClB;Ee3uCM;IAAwB,kBADZ;IACY,SADZ;Ef+uClB;Ee9uCM;IAAwB,kBADZ;IACY,SADZ;EfkvClB;EejvCM;IAAwB,kBADZ;IACY,SADZ;EfqvClB;Ee9uCQ;IFTR,cAA4B;Eb0vC5B;EejvCQ;IFTR,sBAA8C;Eb6vC9C;EepvCQ;IFTR,uBAA8C;EbgwC9C;EevvCQ;IFTR,gBAA8C;EbmwC9C;Ee1vCQ;IFTR,uBAA8C;EbswC9C;Ee7vCQ;IFTR,uBAA8C;EbywC9C;EehwCQ;IFTR,gBAA8C;Eb4wC9C;EenwCQ;IFTR,uBAA8C;Eb+wC9C;EetwCQ;IFTR,uBAA8C;EbkxC9C;EezwCQ;IFTR,gBAA8C;EbqxC9C;Ee5wCQ;IFTR,uBAA8C;EbwxC9C;Ee/wCQ;IFTR,uBAA8C;Eb2xC9C;AACF;;AgBz0CA;EACE,WAAW;EACX,mBb2HW;Ea1HX,cbSgB;AHm0ClB;;AgB/0CA;;EAQI,gBb8UgC;Ea7UhC,mBAAmB;EACnB,6BbJc;AHg1ClB;;AgBt1CA;EAcI,sBAAsB;EACtB,gCbTc;AHq1ClB;;AgB31CA;EAmBI,6Bbbc;AHy1ClB;;AgBn0CA;;EAGI,ebwT+B;AH6gCnC;;AgB5zCA;EACE,yBbnCgB;AHk2ClB;;AgBh0CA;;EAKI,yBbvCc;AHu2ClB;;AgBr0CA;;EAWM,wBAA4C;AhB+zClD;;AgB1zCA;;;;EAKI,SAAS;AhB4zCb;;AgBpzCA;EAEI,qCb1DW;AHg3Cf;;AKr3CE;EW2EI,cbvEY;EawEZ,sCbvES;AHq3Cf;;AiBj4CE;;;EAII,yBC2E4D;AlBwzClE;;AiBv4CE;;;;EAYM,qBCmE0D;AlB+zClE;;AKv4CE;EYiBM,yBAJsC;AjB83C9C;;AiB/3CE;;EASQ,yBARoC;AjBm4C9C;;AiBv5CE;;;EAII,yBC2E4D;AlB80ClE;;AiB75CE;;;;EAYM,qBCmE0D;AlBq1ClE;;AK75CE;EYiBM,yBAJsC;AjBo5C9C;;AiBr5CE;;EASQ,yBARoC;AjBy5C9C;;AiB76CE;;;EAII,yBC2E4D;AlBo2ClE;;AiBn7CE;;;;EAYM,qBCmE0D;AlB22ClE;;AKn7CE;EYiBM,yBAJsC;AjB06C9C;;AiB36CE;;EASQ,yBARoC;AjB+6C9C;;AiBn8CE;;;EAII,yBC2E4D;AlB03ClE;;AiBz8CE;;;;EAYM,qBCmE0D;AlBi4ClE;;AKz8CE;EYiBM,yBAJsC;AjBg8C9C;;AiBj8CE;;EASQ,yBARoC;AjBq8C9C;;AiBz9CE;;;EAII,yBC2E4D;AlBg5ClE;;AiB/9CE;;;;EAYM,qBCmE0D;AlBu5ClE;;AK/9CE;EYiBM,yBAJsC;AjBs9C9C;;AiBv9CE;;EASQ,yBARoC;AjB29C9C;;AiB/+CE;;;EAII,yBC2E4D;AlBs6ClE;;AiBr/CE;;;;EAYM,qBCmE0D;AlB66ClE;;AKr/CE;EYiBM,yBAJsC;AjB4+C9C;;AiB7+CE;;EASQ,yBARoC;AjBi/C9C;;AiBrgDE;;;EAII,yBC2E4D;AlB47ClE;;AiB3gDE;;;;EAYM,qBCmE0D;AlBm8ClE;;AK3gDE;EYiBM,yBAJsC;AjBkgD9C;;AiBngDE;;EASQ,yBARoC;AjBugD9C;;AiB3hDE;;;EAII,yBC2E4D;AlBk9ClE;;AiBjiDE;;;;EAYM,qBCmE0D;AlBy9ClE;;AKjiDE;EYiBM,yBAJsC;AjBwhD9C;;AiBzhDE;;EASQ,yBARoC;AjB6hD9C;;AiBjjDE;;;EAII,sCdQS;AH2iDf;;AKhjDE;EYiBM,sCAJsC;AjBuiD9C;;AiBxiDE;;EASQ,sCARoC;AjB4iD9C;;AgBt9CA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBb2PqD;AH4tC3D;;AgB59CA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AHukDlB;;AgBh9CA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AHukDlB;;AgBr9CA;;;EAOI,qBbuOuD;AH6uC3D;;AgB39CA;EAWI,SAAS;AhBo9Cb;;AgB/9CA;EAgBM,2Cb1IS;AH6lDf;;AKxlDE;EW4IM,WbjJO;EakJP,4CblJO;AHkmDf;;AchiDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBk8CvC;EgBv8CG;IASK,SAAS;EhBi8CjB;AACF;;Ac5iDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB88CvC;EgBn9CG;IASK,SAAS;EhB68CjB;AACF;;AcxjDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB09CvC;EgB/9CG;IASK,SAAS;EhBy9CjB;AACF;;AcpkDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBs+CvC;EgB3+CG;IASK,SAAS;EhBq+CjB;AACF;;AgBp/CA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBi/CzC;;AgB3/CA;EAcU,SAAS;AhBi/CnB;;AmB9pDA;EACE,cAAc;EACd,WAAW;EACX,mChBqe2H;EgBpe3H,yBhBqXkC;EChQ9B,eAtCY;Ee5EhB,gBhB8Q+B;EgB7Q/B,gBhBkR+B;EgBjR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EONd,sBPqOgC;EiBpO9B,wEjB4e4F;AHksClG;;AoBzqDI;EDLJ;ICMM,gBAAgB;EpB6qDpB;AACF;;AmBprDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBkqDb;;AqBlrDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBgdsE;EkB/ctE,UAAU;EAKR,gDlBcW;AHmqDjB;;AmBjsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA+BI,chBxBc;EgB0Bd,UAAU;AnBqqDd;;AmBtsDA;EA2CI,yBhBxCc;EgB0Cd,UAAU;AnB8pDd;;AmB1pDA;EAOI,chBhDc;EgBiDd,sBhBxDW;AH+sDf;;AmBlpDA;;EAEE,cAAc;EACd,WAAW;AnBqpDb;;AmB3oDA;EACE,iCAA+D;EAC/D,oCAAkE;EAClE,gBAAgB;EfZd,kBAAW;Eecb,gBhB0M+B;AHo8CjC;;AmB3oDA;EACE,+BAAkE;EAClE,kCAAqE;EfoCjE,kBAtCY;EeIhB,gBhBuI+B;AHugDjC;;AmB3oDA;EACE,gCAAkE;EAClE,mCAAqE;Ef6BjE,mBAtCY;EeWhB,gBhBiI+B;AH6gDjC;;AmBroDA;EACE,cAAc;EACd,WAAW;EACX,qBhB8QmC;EgB7QnC,wBhB6QmC;EgB5QnC,gBAAgB;EAChB,gBhB6K+B;EgB5K/B,chBpGgB;EgBqGhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnBwoDrC;;AmBlpDA;EAcI,gBAAgB;EAChB,eAAe;AnBwoDnB;;AmB5nDA;EACE,kChBsWqI;EgBrWrI,uBhB+PiC;EC1Q7B,mBAtCY;EemDhB,gBhByF+B;EOhO7B,qBPuO+B;AHgiDnC;;AmB5nDA;EACE,gChB+VqI;EgB9VrI,oBhB4PgC;EC/Q5B,kBAtCY;Ee2DhB,gBhBgF+B;EO/N7B,qBPsO+B;AHyiDnC;;AmB3nDA;EAGI,YAAY;AnB4nDhB;;AmBxnDA;EACE,YAAY;AnB2nDd;;AmBnnDA;EACE,mBhBoV0C;AHkyC5C;;AmBnnDA;EACE,cAAc;EACd,mBhBqU4C;AHizC9C;;AmB9mDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBinD3C;;AmBrnDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBknD7C;;AmBzmDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhB0S6C;AHk0C/C;;AmBzmDA;EACE,kBAAkB;EAClB,kBhBsS2C;EgBrS3C,qBhBoS6C;AHw0C/C;;AmB/mDA;EAMI,chBxMc;AHqzDlB;;AmBzmDA;EACE,gBAAgB;AnB4mDlB;;AmBzmDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhByR4C;AHm1C9C;;AmBhnDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBoR4C;EgBnR5C,cAAc;AnB4mDlB;;AqBvzDE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBSa;AHizDjB;;AqBvzDE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBLa;EOtCb,sBPqOgC;AHioDpC;;AqBtzDI;EAEE,qBlBZW;EkBeT,oClBgb2F;EkB/a3F,4PHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHy4ChG;;AqB/zDI;EAaI,qBlBvBS;EkBwBT,gDlBxBS;AH80DjB;;AqBp0DI;;;EAmBI,cAAc;ArBuzDtB;;AqBhzDI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHw5CrG;;AqB3yDI;EAEE,qBlBhDW;EkBmDT,sDlBqe0J;EkBpe1J,6gBAAkJ;ArB2yD1J;;AqBjzDI;EAUI,qBlBxDS;EkByDT,gDlBzDS;AHo2DjB;;AqBtzDI;;;EAgBI,cAAc;ArB4yDtB;;AqBryDI;;;EAII,cAAc;ArBuyDtB;;AqBjyDI;EAGI,clBlFS;AHo3DjB;;AqBryDI;;;EAQI,cAAc;ArBmyDtB;;AqB7xDI;EAGI,clBhGS;AH83DjB;;AqBjyDI;EAMM,qBlBnGO;AHk4DjB;;AqBryDI;;;EAYI,cAAc;ArB+xDtB;;AqB3yDI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArB8xDnD;;AqBhzDI;EAwBM,gDlBrHO;AHi5DjB;;AqBpzDI;EA4BM,qBlBzHO;AHq5DjB;;AqBpxDI;EAGI,qBlBpIS;AHy5DjB;;AqBxxDI;;;EAQI,cAAc;ArBsxDtB;;AqB9xDI;EAaM,qBlB9IO;EkB+IP,gDlB/IO;AHo6DjB;;AqBl7DE;EACE,aAAa;EACb,WAAW;EACX,mBlBod0C;EC5a1C,cAAW;EiBtCX,clBMa;AH+6DjB;;AqBl7DE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBsyBqC;EkBryBrC,iBAAiB;EjBmFf,mBAtCY;EiB3Cd,gBlBkP6B;EkBjP7B,WlBxCW;EkByCX,wClBRa;EOnCb,sBPqOgC;AH4vDpC;;AqBj7DI;EAEE,qBlBfW;EkBkBT,oClBgb2F;EkB/a3F,sSHfmI;EGgBnI,4BAA4B;EAC5B,2DlB+a6F;EkB9a7F,gElB6awF;AHogDhG;;AqB17DI;EAaI,qBlB1BS;EkB2BT,gDlB3BS;AH48DjB;;AqB/7DI;;;EAmBI,cAAc;ArBk7DtB;;AqB36DI;EAGI,oClBwZ2F;EkBvZ3F,kFlByZ6F;AHmhDrG;;AqBt6DI;EAEE,qBlBnDW;EkBsDT,sDlBqe0J;EkBpe1J,ujBAAkJ;ArBs6D1J;;AqB56DI;EAUI,qBlB3DS;EkB4DT,gDlB5DS;AHk+DjB;;AqBj7DI;;;EAgBI,cAAc;ArBu6DtB;;AqBh6DI;;;EAII,cAAc;ArBk6DtB;;AqB55DI;EAGI,clBrFS;AHk/DjB;;AqBh6DI;;;EAQI,cAAc;ArB85DtB;;AqBx5DI;EAGI,clBnGS;AH4/DjB;;AqB55DI;EAMM,qBlBtGO;AHggEjB;;AqBh6DI;;;EAYI,cAAc;ArB05DtB;;AqBt6DI;EAiBM,qBAAkC;ECnJxC,yBDoJ+C;ArBy5DnD;;AqB36DI;EAwBM,gDlBxHO;AH+gEjB;;AqB/6DI;EA4BM,qBlB5HO;AHmhEjB;;AqB/4DI;EAGI,qBlBvIS;AHuhEjB;;AqBn5DI;;;EAQI,cAAc;ArBi5DtB;;AqBz5DI;EAaM,qBlBjJO;EkBkJP,gDlBlJO;AHkiEjB;;AmBz0DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnB40DrB;;AmB/0DA;EASI,WAAW;AnB00Df;;AcxhEI;EKqMJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnBy0DpB;EmB31DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnBu0DpB;EmBl2DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBq0D1B;EmBv2DF;IAuCM,qBAAqB;EnBm0DzB;EmB12DF;;IA4CM,WAAW;EnBk0Df;EmB92DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB+zDnB;EmBr3DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB2LwC;IgB1LxC,cAAc;EnB+zDlB;EmB53DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnB8zD3B;EmBh4DF;IAqEM,gBAAgB;EnB8zDpB;AACF;;AuB/nEA;EACE,qBAAqB;EAErB,gBpBkR+B;EoBjR/B,cpBMgB;EoBLhB,kBAAkB;EAClB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECsF3C,yBrB0RkC;EChQ9B,eAtCY;EoBchB,gBrByL+B;EO3R7B,sBPqOgC;EiBpO9B,qIjBqb6I;AH0tDnJ;;AoB1oEI;EGLJ;IHMM,gBAAgB;EpB8oEpB;AACF;;AK/oEE;EkBQE,cpBJc;EoBKd,qBAAqB;AvB2oEzB;;AuB1pEA;EAoBI,UAAU;EACV,gDpBSa;AHioEjB;;AuB/pEA;EA2BI,apB8Y6B;AH0vDjC;;AuBznEA;;EAEE,oBAAoB;AvB4nEtB;;AuBnnEE;ECrDA,WrBCa;EmBDX,yBnB8Ba;EqB5Bf,qBrB4Be;AHgpEjB;;AKxqEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqrE7H;;AwBzqEE;EAMI,gDAAiF;AxBuqEvF;;AwBlqEE;EAEE,WrBvBW;EqBwBX,yBrBKa;EqBJb,qBrBIa;AHgqEjB;;AwB7pEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBssEnN;;AwB1pEI;;EAKI,gDAAiF;AxB0pEzF;;AuBrpEE;ECrDA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHysElB;;AK1sEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxButE7H;;AwB3sEE;EAMI,iDAAiF;AxBysEvF;;AwBpsEE;EAEE,WrBvBW;EqBwBX,yBrBlBc;EqBmBd,qBrBnBc;AHytElB;;AwB/rEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBwuEnN;;AwB5rEI;;EAKI,iDAAiF;AxB4rEzF;;AuBvrEE;ECrDA,WrBCa;EmBDX,yBnBqCa;EqBnCf,qBrBmCe;AH6sEjB;;AK5uEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByvE7H;;AwB7uEE;EAMI,+CAAiF;AxB2uEvF;;AwBtuEE;EAEE,WrBvBW;EqBwBX,yBrBYa;EqBXb,qBrBWa;AH6tEjB;;AwBjuEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB0wEnN;;AwB9tEI;;EAKI,+CAAiF;AxB8tEzF;;AuBztEE;ECrDA,WrBCa;EmBDX,yBnBuCa;EqBrCf,qBrBqCe;AH6uEjB;;AK9wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB2xE7H;;AwB/wEE;EAMI,gDAAiF;AxB6wEvF;;AwBxwEE;EAEE,WrBvBW;EqBwBX,yBrBca;EqBbb,qBrBaa;AH6vEjB;;AwBnwEE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxB4yEnN;;AwBhwEI;;EAKI,gDAAiF;AxBgwEzF;;AuB3vEE;ECrDA,crBUgB;EmBVd,yBnBoCa;EqBlCf,qBrBkCe;AHkxEjB;;AKhzEE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB6zE7H;;AwBjzEE;EAMI,gDAAiF;AxB+yEvF;;AwB1yEE;EAEE,crBdc;EqBed,yBrBWa;EqBVb,qBrBUa;AHkyEjB;;AwBryEE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxB80EnN;;AwBlyEI;;EAKI,gDAAiF;AxBkyEzF;;AuB7xEE;ECrDA,WrBCa;EmBDX,yBnBkCa;EqBhCf,qBrBgCe;AHszEjB;;AKl1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+1E7H;;AwBn1EE;EAMI,+CAAiF;AxBi1EvF;;AwB50EE;EAEE,WrBvBW;EqBwBX,yBrBSa;EqBRb,qBrBQa;AHs0EjB;;AwBv0EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBg3EnN;;AwBp0EI;;EAKI,+CAAiF;AxBo0EzF;;AuB/zEE;ECrDA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHw3ElB;;AKp3EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBi4E7H;;AwBr3EE;EAMI,iDAAiF;AxBm3EvF;;AwB92EE;EAEE,crBdc;EqBed,yBrBvBc;EqBwBd,qBrBxBc;AHw4ElB;;AwBz2EE;;EAGE,crB1Bc;EqB2Bd,yBAtCuK;EA0CvK,qBA1C+M;AxBk5EnN;;AwBt2EI;;EAKI,iDAAiF;AxBs2EzF;;AuBj2EE;ECrDA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHm5ElB;;AKt5EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm6E7H;;AwBv5EE;EAMI,8CAAiF;AxBq5EvF;;AwBh5EE;EAEE,WrBvBW;EqBwBX,yBrBhBc;EqBiBd,qBrBjBc;AHm6ElB;;AwB34EE;;EAGE,WrBnCW;EqBoCX,yBAtCuK;EA0CvK,qBA1C+M;AxBo7EnN;;AwBx4EI;;EAKI,8CAAiF;AxBw4EzF;;AuB73EE;ECJA,crBzBe;EqB0Bf,qBrB1Be;AH+5EjB;;AKv7EE;EmBqDE,WrB1DW;EqB2DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHq6EjB;;AwBn4EE;EAEE,+CrBpCa;AHy6EjB;;AwBl4EE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBo4EjC;;AwBj4EE;;EAGE,WrB7EW;EqB8EX,yBrBjDa;EqBkDb,qBrBlDa;AHq7EjB;;AwBj4EI;;EAKI,+CrBzDS;AH07EjB;;AuB75EE;ECJA,crBhDgB;EqBiDhB,qBrBjDgB;AHs9ElB;;AKv9EE;EmBqDE,WrB1DW;EqB2DX,yBrBrDc;EqBsDd,qBrBtDc;AH49ElB;;AwBn6EE;EAEE,iDrB3Dc;AHg+ElB;;AwBl6EE;EAEE,crBhEc;EqBiEd,6BAA6B;AxBo6EjC;;AwBj6EE;;EAGE,WrB7EW;EqB8EX,yBrBxEc;EqByEd,qBrBzEc;AH4+ElB;;AwBj6EI;;EAKI,iDrBhFU;AHi/ElB;;AuB77EE;ECJA,crBlBe;EqBmBf,qBrBnBe;AHw9EjB;;AKv/EE;EmBqDE,WrB1DW;EqB2DX,yBrBvBa;EqBwBb,qBrBxBa;AH89EjB;;AwBn8EE;EAEE,+CrB7Ba;AHk+EjB;;AwBl8EE;EAEE,crBlCa;EqBmCb,6BAA6B;AxBo8EjC;;AwBj8EE;;EAGE,WrB7EW;EqB8EX,yBrB1Ca;EqB2Cb,qBrB3Ca;AH8+EjB;;AwBj8EI;;EAKI,+CrBlDS;AHm/EjB;;AuB79EE;ECJA,crBhBe;EqBiBf,qBrBjBe;AHs/EjB;;AKvhFE;EmBqDE,WrB1DW;EqB2DX,yBrBrBa;EqBsBb,qBrBtBa;AH4/EjB;;AwBn+EE;EAEE,gDrB3Ba;AHggFjB;;AwBl+EE;EAEE,crBhCa;EqBiCb,6BAA6B;AxBo+EjC;;AwBj+EE;;EAGE,WrB7EW;EqB8EX,yBrBxCa;EqByCb,qBrBzCa;AH4gFjB;;AwBj+EI;;EAKI,gDrBhDS;AHihFjB;;AuB7/EE;ECJA,crBnBe;EqBoBf,qBrBpBe;AHyhFjB;;AKvjFE;EmBqDE,crBjDc;EqBkDd,yBrBxBa;EqByBb,qBrBzBa;AH+hFjB;;AwBngFE;EAEE,+CrB9Ba;AHmiFjB;;AwBlgFE;EAEE,crBnCa;EqBoCb,6BAA6B;AxBogFjC;;AwBjgFE;;EAGE,crBpEc;EqBqEd,yBrB3Ca;EqB4Cb,qBrB5Ca;AH+iFjB;;AwBjgFI;;EAKI,+CrBnDS;AHojFjB;;AuB7hFE;ECJA,crBrBe;EqBsBf,qBrBtBe;AH2jFjB;;AKvlFE;EmBqDE,WrB1DW;EqB2DX,yBrB1Ba;EqB2Bb,qBrB3Ba;AHikFjB;;AwBniFE;EAEE,+CrBhCa;AHqkFjB;;AwBliFE;EAEE,crBrCa;EqBsCb,6BAA6B;AxBoiFjC;;AwBjiFE;;EAGE,WrB7EW;EqB8EX,yBrB7Ca;EqB8Cb,qBrB9Ca;AHilFjB;;AwBjiFI;;EAKI,+CrBrDS;AHslFjB;;AuB7jFE;ECJA,crBrDgB;EqBsDhB,qBrBtDgB;AH2nFlB;;AKvnFE;EmBqDE,crBjDc;EqBkDd,yBrB1Dc;EqB2Dd,qBrB3Dc;AHioFlB;;AwBnkFE;EAEE,iDrBhEc;AHqoFlB;;AwBlkFE;EAEE,crBrEc;EqBsEd,6BAA6B;AxBokFjC;;AwBjkFE;;EAGE,crBpEc;EqBqEd,yBrB7Ec;EqB8Ed,qBrB9Ec;AHipFlB;;AwBjkFI;;EAKI,iDrBrFU;AHspFlB;;AuB7lFE;ECJA,crB9CgB;EqB+ChB,qBrB/CgB;AHopFlB;;AKvpFE;EmBqDE,WrB1DW;EqB2DX,yBrBnDc;EqBoDd,qBrBpDc;AH0pFlB;;AwBnmFE;EAEE,8CrBzDc;AH8pFlB;;AwBlmFE;EAEE,crB9Dc;EqB+Dd,6BAA6B;AxBomFjC;;AwBjmFE;;EAGE,WrB7EW;EqB8EX,yBrBtEc;EqBuEd,qBrBvEc;AH0qFlB;;AwBjmFI;;EAKI,8CrB9EU;AH+qFlB;;AuBlnFA;EACE,gBpB8M+B;EoB7M/B,cpB1Ce;EoB2Cf,qBpB6F4C;AHwhF9C;;AKxrFE;EkBsEE,cpB2F8D;EoB1F9D,0BpB2F+C;AH2hFnD;;AuB7nFA;EAYI,0BpBsF+C;EoBrF/C,gBAAgB;AvBqnFpB;;AuBloFA;EAkBI,cpBjFc;EoBkFd,oBAAoB;AvBonFxB;;AuBzmFA;ECLE,oBrBySgC;EC/Q5B,kBAtCY;EoBchB,gBrB6H+B;EO/N7B,qBPsO+B;AH++EnC;;AuB5mFA;ECTE,uBrBoSiC;EC1Q7B,mBAtCY;EoBchB,gBrB8H+B;EOhO7B,qBPuO+B;AHq/EnC;;AuB1mFA;EACE,cAAc;EACd,WAAW;AvB6mFb;;AuB/mFA;EAMI,kBpBuT+B;AHszEnC;;AuBxmFA;;;EAII,WAAW;AvB0mFf;;AyBhvFA;ELMM,gCjBsP2C;AHw/EjD;;AoBzuFI;EKXJ;ILYM,gBAAgB;EpB6uFpB;AACF;;Ay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CT,gBAAgB;A9B0nGpB;;A8B1oGA;;;;;;;;;;;;EAqBM,iB3B4M2B;AHw7FjC;;A8BzpGA;;;EA6BI,UAAU;A9BkoGd;;A8B/pGA;EAkCI,UAAU;A9BioGd;;A8BnqGA;;EpBeI,0BoBwBmD;EpBvBnD,6BoBuBmD;A9BkoGvD;;A8BzqGA;;EpB6BI,yBoBWmD;EpBVnD,4BoBUmD;A9BuoGvD;;A8B/qGA;EA8CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9BqoGvB;;A8BprGA;;EpBeI,0BoBmC6E;EpBlC7E,6BoBkC6E;A9BwoGjF;;A8B1rGA;EpB6BI,yBoBsBsE;EpBrBtE,4BoBqBsE;A9B4oG1E;;A8BjoGA;;EAEE,oBAAa;EAAb,aAAa;A9BooGf;;A8BtoGA;;EAQI,kBAAkB;EAClB,UAAU;A9BmoGd;;A8B5oGA;;EAYM,UAAU;A9BqoGhB;;A8BjpGA;;;;;;;;EAoBI,iB3B+I6B;AHy/FjC;;A8BpoGA;EAAuB,kB3B2IU;AH6/FjC;;A8BvoGA;EAAsB,iB3B0IW;AHigGjC;;A8BnoGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3BuRkC;E2BtRlC,gBAAgB;E1BsBZ,eAtCY;E0BkBhB,gB3BgL+B;E2B/K/B,gB3BoL+B;E2BnL/B,c3B/FgB;E2BgGhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BvGgB;E2BwGhB,yB3BtGgB;EONd,sBPqOgC;AH8gGpC;;A8BnpGA;;EAkBI,aAAa;A9BsoGjB;;A8B5nGA;;EAEE,gC3B6WqI;AHkxFvI;;A8B5nGA;;;;;;EAME,oB3BkQgC;EC/Q5B,kBAtCY;E0BqDhB,gB3BsF+B;EO/N7B,qBPsO+B;AHmiGnC;;A8B5nGA;;EAEE,kC3B2VqI;AHoyFvI;;A8B5nGA;;;;;;EAME,uB3B4OiC;EC1Q7B,mBAtCY;E0BsEhB,gB3BsE+B;EOhO7B,qBPuO+B;AHmjGnC;;A8B5nGA;;EAEE,sBAA0E;A9B+nG5E;;A8BpnGA;;;;;;EpB3JI,0BoBiK4B;EpBhK5B,6BoBgK4B;A9BwnGhC;;A8BrnGA;;;;;;EpBtJI,yBoB4J2B;EpB3J3B,4BoB2J2B;A9BynG/B;;A+B/yGA;EACE,kBAAkB;EAClB,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;A/BkzGvE;;A+B/yGA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bqf0C;AH6zF5C;;A+B/yGA;EACE,kBAAkB;EAClB,WAAW;EACX,UAAU;A/BkzGZ;;A+BrzGA;EAMI,W5BpBW;E4BqBX,qB5BQa;EmB9Bb,yBnB8Ba;AH4yGjB;;A+B3zGA;EAiBM,gD5BFW;AHgzGjB;;A+B/zGA;EAsBI,qB5BqbsE;AHw3F1E;;A+Bn0GA;EA0BI,W5BxCW;E4ByCX,yB5B8e8E;E4B7e9E,qB5B6e8E;AHg0FlF;;A+Bz0GA;EAkCM,c5B1CY;AHq1GlB;;A+B70GA;EAqCQ,yB5BjDU;AH61GlB;;A+BlyGA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,mBAAmB;A/BqyGrB;;A+BxyGA;EAOI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B0bwC;E4BzbxC,Y5BybwC;E4BxbxC,oBAAoB;EACpB,WAAW;EACX,sB5B5EW;E4B6EX,yB5BmJ6B;AHkpGjC;;A+BrzGA;EAsBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5B2awC;E4B1axC,Y5B0awC;E4BzaxC,WAAW;EACX,mCAAgE;A/BmyGpE;;A+B1xGA;ErBrGI,sBPqOgC;AH8pGpC;;A+B9xGA;EAOM,6MbrEqI;AlBg2G3I;;A+BlyGA;EAaM,qB5BnFW;EmB9Bb,yBnB8Ba;AH62GjB;;A+BvyGA;EAkBM,0JbhFqI;AlBy2G3I;;A+B3yGA;EAwBM,wC5B9FW;AHq3GjB;;A+B/yGA;EA2BM,wC5BjGW;AHy3GjB;;A+B/wGA;EAGI,kB5B0Z+C;AHs3FnD;;A+BnxGA;EAQM,uJb1GqI;AlBy3G3I;;A+BvxGA;EAcM,wC5BxHW;AHq4GjB;;A+BnwGA;EACE,qBAA2D;A/BswG7D;;A+BvwGA;EAKM,cAAqD;EACrD,c5BkY+E;E4BjY/E,mBAAmB;EAEnB,qB5BgY4E;AHq4FlF;;A+B9wGA;EAaM,wBAA0I;EAC1I,0BAA+G;EAC/G,uB5B2XiI;E4B1XjI,wB5B0XiI;E4BzXjI,yB5B3KY;E4B6KZ,qB5BsX4E;EiBziB5E,iJjB8f+H;EiB9f/H,yIjB8f+H;EiB9f/H,8KjB8f+H;AH07FrI;;AoBn7GI;EW2JJ;IX1JM,gBAAgB;EpBu7GpB;AACF;;A+B9xGA;EA0BM,sB5BzLS;E4B0LT,sCAA4E;EAA5E,8BAA4E;A/BwwGlF;;A+BnyGA;EAiCM,wC5BnKW;AHy6GjB;;A+B1vGA;EACE,qBAAqB;EACrB,WAAW;EACX,mC5BwR2H;E4BvR3H,0C5BwKkC;EChQ9B,eAtCY;E2BiIhB,gB5BiE+B;E4BhE/B,gB5BqE+B;E4BpE/B,c5B9MgB;E4B+MhB,sBAAsB;EACtB,6M5BmWmI;E4BlWnI,sB5BxNa;E4ByNb,yB5BrNgB;EONd,sBPqOgC;E4BPlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B2vGlB;;A+B3wGA;EAmBI,qB5B0PsE;E4BzPtE,UAAU;EAIR,gD5BvMW;AHg8GjB;;A+BjxGA;EAiCM,c5BtOY;E4BuOZ,sB5B9OS;AHk+Gf;;A+BtxGA;EAwCI,YAAY;EACZ,sB5BmIgC;E4BlIhC,sBAAsB;A/BkvG1B;;A+B5xGA;EA8CI,c5BpPc;E4BqPd,yB5BzPc;AH2+GlB;;A+BjyGA;EAoDI,aAAa;A/BivGjB;;A+B7uGA;EACE,kC5BmOqI;E4BlOrI,oB5B2HkC;E4B1HlC,uB5B0HkC;E4BzHlC,oB5B0HiC;EC1Q7B,mBAtCY;AJu6GlB;;A+B7uGA;EACE,gC5B4NqI;E4B3NrI,mB5BwHiC;E4BvHjC,sB5BuHiC;E4BtHjC,kB5BuHgC;EC/Q5B,kBAtCY;AJ+6GlB;;A+BxuGA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mC5B0M2H;E4BzM3H,gBAAgB;A/B2uGlB;;A+BxuGA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mC5BkM2H;E4BjM3H,SAAS;EACT,UAAU;A/B2uGZ;;A+BjvGA;EASI,qB5B+KsE;E4B9KtE,gD5B9Qa;AH0/GjB;;A+BtvGA;EAcI,yB5B7Sc;AHyhHlB;;A+B1vGA;EAmBM,iB5BqUQ;AHs6Fd;;A+B9vGA;EAwBI,0BAA0B;A/B0uG9B;;A+BtuGA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mC5BoK2H;E4BnK3H,yB5BoDkC;E4BlDlC,gB5BlD+B;E4BmD/B,gB5B9C+B;E4B+C/B,c5BjUgB;E4BkUhB,sB5BzUa;E4B0Ub,yB5BtUgB;EONd,sBPqOgC;AHg1GpC;;A+BtvGA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6B5B8I+F;E4B7I/F,yB5BkCgC;E4BjChC,gB5B9D6B;E4B+D7B,c5BjVc;E4BkVd,iBAAiB;ET1VjB,yBnBGc;E4ByVd,oBAAoB;ErB7VpB,kCqB8VgF;A/BwuGpF;;A+B9tGA;EACE,WAAW;EACX,2BAA+F;EAC/F,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/BiuGlB;;A+BtuGA;EAQI,aAAa;A/BkuGjB;;A+B1uGA;EAY8B,gE5BrVb;AHujHjB;;A+B9uGA;EAa8B,gE5BtVb;AH2jHjB;;A+BlvGA;EAc8B,gE5BvVb;AH+jHjB;;A+BtvGA;EAkBI,SAAS;A/BwuGb;;A+B1vGA;EAsBI,W5B8N6C;E4B7N7C,Y5B6N6C;E4B5N7C,oBAAyE;ET/XzE,yBnB8Ba;E4BmWb,S5B6N0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BzHjI,wBAAgB;EAAhB,gBAAgB;A/BuuGpB;;AoBvmHI;EWkWJ;IXjWM,gBAAgB;EpB2mHpB;AACF;;A+B3wGA;ETvWI,yBnBmmB2E;AHmhG/E;;A+B/wGA;EAsCI,W5BuMoC;E4BtMpC,c5BuMqC;E4BtMrC,kBAAkB;EAClB,e5BsMuC;E4BrMvC,yB5B7Yc;E4B8Yd,yBAAyB;ErBnZzB,mBPylBoC;AHwiGxC;;A+BzxGA;EAiDI,W5BmM6C;E4BlM7C,Y5BkM6C;EmB3lB7C,yBnB8Ba;E4B6Xb,S5BmM0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4B/FjI,qBAAgB;EAAhB,gBAAgB;A/B2uGpB;;AoBroHI;EWkWJ;IXjWM,gBAAgB;EpByoHpB;AACF;;A+BzyGA;ETvWI,yBnBmmB2E;AHijG/E;;A+B7yGA;EAgEI,W5B6KoC;E4B5KpC,c5B6KqC;E4B5KrC,kBAAkB;EAClB,e5B4KuC;E4B3KvC,yB5Bvac;E4Bwad,yBAAyB;ErB7azB,mBPylBoC;AHskGxC;;A+BvzGA;EA2EI,W5ByK6C;E4BxK7C,Y5BwK6C;E4BvK7C,aAAa;EACb,oB5BvD+B;E4BwD/B,mB5BxD+B;EmB9X/B,yBnB8Ba;E4B0Zb,S5BsK0C;EO/lB1C,mBPgmB6C;EiB/lB3C,4GjB8f+H;E4BlEjI,gBAAgB;A/B+uGpB;;AoBtqHI;EWkWJ;IXjWM,gBAAgB;EpB0qHpB;AACF;;A+B10GA;ETvWI,yBnBmmB2E;AHklG/E;;A+B90GA;EA6FI,W5BgJoC;E4B/IpC,c5BgJqC;E4B/IrC,kBAAkB;EAClB,e5B+IuC;E4B9IvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/BqvGhD;;A+Bx1GA;EAwGI,yB5B3cc;EOLd,mBPylBoC;AH4mGxC;;A+B71GA;EA6GI,kBAAkB;EAClB,yB5Bjdc;EOLd,mBPylBoC;AHknGxC;;A+Bn2GA;EAoHM,yB5BrdY;AHwsHlB;;A+Bv2GA;EAwHM,eAAe;A/BmvGrB;;A+B32GA;EA4HM,yB5B7dY;AHgtHlB;;A+B/2GA;EAgIM,eAAe;A/BmvGrB;;A+Bn3GA;EAoIM,yB5BreY;AHwtHlB;;A+B9uGA;;;EXhfM,4GjB8f+H;AHsuGrI;;AoB/tHI;EW2eJ;;;IX1eM,gBAAgB;EpBquHpB;AACF;;AgC7uHA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhCgvHlB;;AgC7uHA;EACE,cAAc;EACd,oB7BkqBsC;AH8kGxC;;AK/uHE;E2BEE,qBAAqB;AhCivHzB;;AgCtvHA;EAUI,c7BVc;E6BWd,oBAAoB;EACpB,eAAe;AhCgvHnB;;AgCxuHA;EACE,gC7BxBgB;AHmwHlB;;AgC5uHA;EAII,mB7BkM6B;AH0iHjC;;AgChvHA;EAQI,6BAAgD;EtB3BhD,+BP4NgC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9BzMS;AH+lIf;;AiCh7HA;EA+BI,yB9B9MW;E8B+MX,gC9B/MW;AHomIf;;AiCr7HA;EAoCI,wP9B6fsR;AHw5G1R;;AiCz7HA;EAwCI,yB9BvNW;AH4mIf;;AiC77HA;EA0CM,yB9BzNS;AHgnIf;;AKjnIE;E4B6NM,yB9B5NO;AHonIf;;AiCj5HA;EAEI,W9B/OW;AHkoIf;;AKznIE;E4ByOI,W9BlPS;AHsoIf;;AiCz5HA;EAWM,+B9BxPS;AH0oIf;;AKjoIE;E4BkPM,gC9B3PO;AH8oIf;;AiCj6HA;EAkBQ,gC9B/PO;AHkpIf;;AiCr6HA;;;;EA0BM,W9BvQS;AHypIf;;AiC56HA;EA+BI,+B9B5QW;E8B6QX,sC9B7QW;AH8pIf;;AiCj7HA;EAoCI,8P9BkcqR;AH+8GzR;;AiCr7HA;EAwCI,+B9BrRW;AHsqIf;;AiCz7HA;EA0CM,W9BvRS;AH0qIf;;AKjqIE;E4BiRM,W9B1RO;AH8qIf;;AkCjrIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EACZ,qBAAqB;EACrB,sB/BHa;E+BIb,2BAA2B;EAC3B,sC/BKa;EOZX,sBPqOgC;AHu9HpC;;AkC7rIA;EAYI,eAAe;EACf,cAAc;AlCqrIlB;;AkClsIA;ExBUI,+BP4NgC;EO3NhC,gCP2NgC;AHi+HpC;;AkCvsIA;ExBwBI,mCP8MgC;EO7MhC,kCP6MgC;AHs+HpC;;AkC/qIA;EAGE,kBAAc;EAAd,cAAc;EACd,gB/B+wByC;AHi6G3C;;AkC5qIA;EACE,sB/BywBwC;AHs6G1C;;AkC5qIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC+qIlB;;AkC5qIA;EACE,gBAAgB;AlC+qIlB;;AKttIE;E6B4CE,qBAAqB;AlC8qIzB;;AkChrIA;EAMI,oB/BwvBuC;AHs7G3C;;AkCtqIA;EACE,wB/B+uByC;E+B9uBzC,gBAAgB;EAEhB,qC/BvDa;E+BwDb,6C/BxDa;AHguIf;;AkC7qIA;ExB/DI,0DwBuE8E;AlCyqIlF;;AkCjrIA;EAaM,aAAa;AlCwqInB;;AkCnqIA;EACE,wB/B6tByC;E+B5tBzC,qC/BvEa;E+BwEb,0C/BxEa;AH8uIf;;AkCzqIA;ExBjFI,0DPmzBoF;AH28GxF;;AkC9pIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCiqIlB;;AkC9pIA;EACE,uBAAiC;EACjC,sBAAgC;AlCiqIlC;;AkC7pIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BssByC;AH09G3C;;AkC7pIA;EACE,WAAW;ExBvHT,kCPmzBoF;AHq+GxF;;AkC5pIA;EACE,WAAW;ExBpHT,2CP0yBoF;EOzyBpF,4CPyyBoF;AH2+GxF;;AkC7pIA;EACE,WAAW;ExB3GT,+CP4xBoF;EO3xBpF,8CP2xBoF;AHi/GxF;;AkC3pIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlC8pIxB;;AkChqIA;EAKI,mB/B6qBsD;AHk/G1D;;ActvII;EoBkFJ;IASI,uBAAmB;IAAnB,mBAAmB;IACnB,mB/BwqBsD;I+BvqBtD,kB/BuqBsD;EHy/GxD;EkC3qIF;IAcM,oBAAa;IAAb,aAAa;IAEb,gBAAY;IAAZ,YAAY;IACZ,0BAAsB;IAAtB,sBAAsB;IACtB,kB/BgqBoD;I+B/pBpD,gBAAgB;IAChB,iB/B8pBoD;EHigHxD;AACF;;AkCtpIA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;AlCypIxB;;AkC3pIA;EAOI,mB/B6oBsD;AH2gH1D;;Ac/wII;EoBgHJ;IAWI,uBAAmB;IAAnB,mBAAmB;ElCypIrB;EkCpqIF;IAgBM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCupIpB;EkCxqIF;IAoBQ,cAAc;IACd,cAAc;ElCupIpB;EkC5qIF;IxBvJI,0BwBkLoC;IxBjLpC,6BwBiLoC;ElCqpItC;EkChrIF;;IAgCY,0BAA0B;ElCopIpC;EkCprIF;;IAqCY,6BAA6B;ElCmpIvC;EkCxrIF;IxBzII,yBwBmLmC;IxBlLnC,4BwBkLmC;ElCkpIrC;EkC5rIF;;IA+CY,yBAAyB;ElCipInC;EkChsIF;;IAoDY,4BAA4B;ElCgpItC;AACF;;AkCpoIA;EAEI,sB/BokBsC;AHkkH1C;;AczzII;EoBiLJ;IAMI,uB/BglBiC;I+BhlBjC,oB/BglBiC;I+BhlBjC,e/BglBiC;I+B/kBjC,2B/BglBuC;I+BhlBvC,wB/BglBuC;I+BhlBvC,mB/BglBuC;I+B/kBvC,UAAU;IACV,SAAS;ElCuoIX;EkChpIF;IAYM,qBAAqB;IACrB,WAAW;ElCuoIf;AACF;;AkC9nIA;EAEI,gBAAgB;AlCgoIpB;;AkCloIA;ExB/PI,gBwBqQ4B;AlCgoIhC;;AkCtoIA;EAUQ,gBAAgB;ExBzQpB,gBwB0Q4B;AlCgoIhC;;AkC3oIA;EAgBM,gBAAgB;ExBxPlB,6BwByPiC;ExBxPjC,4BwBwPiC;AlCgoIrC;;AkCjpIA;ExBtPI,yBwB2Q8B;ExB1Q9B,0BwB0Q8B;AlCioIlC;;AkCtpIA;EAyBM,mB/BtD2B;AHurIjC;;AmC95IA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC2gCsC;EgC1gCtC,mBhC6gCsC;EgC5gCtC,gBAAgB;EAChB,yBhCGgB;EOJd,sBPqOgC;AH8rIpC;;AmC95IA;EAGI,oBhCkgCqC;AH65GzC;;AmCl6IA;EAMM,qBAAqB;EACrB,qBhC8/BmC;EgC7/BnC,chCLY;EgCMZ,YhCmgCuC;AH65G7C;;AmCz6IA;EAoBI,0BAA0B;AnCy5I9B;;AmC76IA;EAwBI,qBAAqB;AnCy5IzB;;AmCj7IA;EA4BI,chCzBc;AHk7IlB;;AoC/7IA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGAd,sBPqOgC;AH4tIpC;;AoCh8IA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCqwBwC;EiCpwBxC,iBjC6N+B;EiC5N/B,iBjCwwBsC;EiCvwBtC,cjCwBe;EiCvBf,sBjCNa;EiCOb,yBjCJgB;AHu8IlB;;AoC38IA;EAWI,UAAU;EACV,cjC2J8D;EiC1J9D,qBAAqB;EACrB,yBjCXc;EiCYd,qBjCXc;AH+8IlB;;AoCn9IA;EAmBI,UAAU;EACV,UjCiwBiC;EiChwBjC,gDjCSa;AH27IjB;;AoCh8IA;EAGM,cAAc;E1BChB,+BPuMgC;EOtMhC,kCPsMgC;AH2vIpC;;AoCt8IA;E1BVI,gCPqNgC;EOpNhC,mCPoNgC;AHgwIpC;;AoC38IA;EAcI,UAAU;EACV,WjCvCW;EiCwCX,yBjCXa;EiCYb,qBjCZa;AH68IjB;;AoCl9IA;EAqBI,cjCvCc;EiCwCd,oBAAoB;EAEpB,YAAY;EACZ,sBjCjDW;EiCkDX,qBjC/Cc;AH++IlB;;AqCt/IE;EACE,uBlC8wBsC;ECnpBpC,kBAtCY;EiCnFd,gBlC8N6B;AH2xIjC;;AqCp/IM;E3BwBF,8BPwM+B;EOvM/B,iCPuM+B;AHyxInC;;AqCp/IM;E3BKF,+BPsN+B;EOrN/B,kCPqN+B;AH8xInC;;AqCtgJE;EACE,uBlC4wBqC;ECjpBnC,mBAtCY;EiCnFd,gBlC+N6B;AH0yIjC;;AqCpgJM;E3BwBF,8BPyM+B;EOxM/B,iCPwM+B;AHwyInC;;AqCpgJM;E3BKF,+BPuN+B;EOtN/B,kCPsN+B;AH6yInC;;AsCphJA;EACE,qBAAqB;EACrB,qBnC24BsC;EC10BpC,cAAW;EkC/Db,gBnCmR+B;EmClR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BRtB,sBPqOgC;EiBpO9B,qIjBqb6I;AH2mInJ;;AoB3hJI;EkBNJ;IlBOM,gBAAgB;EpB+hJpB;AACF;;AK5hJE;EiCGI,qBAAqB;AtC6hJ3B;;AsC3iJA;EAoBI,aAAa;AtC2hJjB;;AsCthJA;EACE,kBAAkB;EAClB,SAAS;AtCyhJX;;AsClhJA;EACE,oBnCg3BsC;EmC/2BtC,mBnC+2BsC;EOn5BpC,oBPs5BqC;AHoqHzC;;AsC7gJE;ECjDA,WpCMa;EoCLb,yBpCkCe;AHgiJjB;;AKpjJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCkkJxC;;AuCrkJU;EAQJ,UAAU;EACV,+CpCuBW;AH0iJjB;;AsC5hJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHskJlB;;AKnkJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCilJxC;;AuCplJU;EAQJ,UAAU;EACV,iDpCAY;AHglJlB;;AsC3iJE;ECjDA,WpCMa;EoCLb,yBpCyCe;AHujJjB;;AKllJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgmJxC;;AuCnmJU;EAQJ,UAAU;EACV,+CpC8BW;AHikJjB;;AsC1jJE;ECjDA,WpCMa;EoCLb,yBpC2Ce;AHokJjB;;AKjmJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+mJxC;;AuClnJU;EAQJ,UAAU;EACV,gDpCgCW;AH8kJjB;;AsCzkJE;ECjDA,cpCegB;EoCdhB,yBpCwCe;AHslJjB;;AKhnJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC8nJxC;;AuCjoJU;EAQJ,UAAU;EACV,+CpC6BW;AHgmJjB;;AsCxlJE;ECjDA,WpCMa;EoCLb,yBpCsCe;AHumJjB;;AK/nJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6oJxC;;AuChpJU;EAQJ,UAAU;EACV,+CpC2BW;AHinJjB;;AsCvmJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHspJlB;;AK9oJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4pJxC;;AuC/pJU;EAQJ,UAAU;EACV,iDpCLY;AHgqJlB;;AsCtnJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH8pJlB;;AK7pJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2qJxC;;AuC9qJU;EAQJ,UAAU;EACV,8CpCEY;AHwqJlB;;AwCvrJA;EACE,kBAAoD;EACpD,mBrC0yBsC;EqCxyBtC,yBrCKgB;EOJd,qBPsO+B;AHm9InC;;AcloJI;E0B5DJ;IAQI,kBrCoyBoC;EHu5HtC;AACF;;AwCxrJA;EACE,gBAAgB;EAChB,eAAe;E9BTb,gB8BUsB;AxC2rJ1B;;AyCtsJA;EACE,kBAAkB;EAClB,wBtCm8ByC;EsCl8BzC,mBtCm8BsC;EsCl8BtC,6BAA6C;E/BH3C,sBPqOgC;AHw+IpC;;AyCrsJA;EAEE,cAAc;AzCusJhB;;AyCnsJA;EACE,gBtCwQ+B;AH87IjC;;AyC9rJA;EACE,mBAAsD;AzCisJxD;;AyClsJA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,wBtCq6BuC;EsCp6BvC,cAAc;AzCisJlB;;AyCvrJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBwpJlE;;A0CvuJE;EACE,yBAAqC;A1C0uJzC;;A0CvuJE;EACE,cAA0B;A1C0uJ9B;;AyCrsJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBsqJlE;;A0CrvJE;EACE,yBAAqC;A1CwvJzC;;A0CrvJE;EACE,cAA0B;A1CwvJ9B;;AyCntJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBorJlE;;A0CnwJE;EACE,yBAAqC;A1CswJzC;;A0CnwJE;EACE,cAA0B;A1CswJ9B;;AyCjuJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBksJlE;;A0CjxJE;EACE,yBAAqC;A1CoxJzC;;A0CjxJE;EACE,cAA0B;A1CoxJ9B;;AyC/uJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlBgtJlE;;A0C/xJE;EACE,yBAAqC;A1CkyJzC;;A0C/xJE;EACE,cAA0B;A1CkyJ9B;;AyC7vJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB8tJlE;;A0C7yJE;EACE,yBAAqC;A1CgzJzC;;A0C7yJE;EACE,cAA0B;A1CgzJ9B;;AyC3wJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB4uJlE;;A0C3zJE;EACE,yBAAqC;A1C8zJzC;;A0C3zJE;EACE,cAA0B;A1C8zJ9B;;AyCzxJE;EC9CA,cxBmFgE;EI9E9D,yBJ8E8D;EwBjFhE,qBxBiFgE;AlB0vJlE;;A0Cz0JE;EACE,yBAAqC;A1C40JzC;;A0Cz0JE;EACE,cAA0B;A1C40J9B;;A2Cp1JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2C71JE;EACE;IAAO,2BAAuC;E3Cw1JhD;E2Cv1JE;IAAK,wBAAwB;E3C01J/B;AACF;;A2Cv1JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC48BsC;EwC38BtC,gBAAgB;EvCoHZ,kBAtCY;EuC5EhB,yBxCJgB;EOJd,sBPqOgC;AH8nJpC;;A2Ct1JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,WxCfa;EwCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCWe;EiB9BX,2BjBw9B4C;AHq5HlD;;AoBx2JI;EuBOJ;IvBNM,gBAAgB;EpB42JpB;AACF;;A2C51JA;ErBcE,qMAA6I;EqBZ7I,0BxCu7BsC;AHw6HxC;;A2C31JE;EACE,0DxCy7BkD;EwCz7BlD,kDxCy7BkD;AHq6HtD;;A2C51JI;EAHF;IAII,uBAAe;IAAf,eAAe;E3Cg2JnB;AACF;;A4Cx4JA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C24JzB;;A4Cx4JA;EACE,WAAO;EAAP,OAAO;A5C24JT;;A6C74JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;A7C84JlB;;A6Cr4JA;EACE,WAAW;EACX,c1CPgB;E0CQhB,mBAAmB;A7Cw4JrB;;AK94JE;EwCUE,UAAU;EACV,c1Cbc;E0Ccd,qBAAqB;EACrB,yB1CrBc;AH65JlB;;A6Cl5JA;EAcI,c1CjBc;E0CkBd,yB1CzBc;AHi6JlB;;A6C/3JA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C47ByC;E0C17BzC,mB1CuL+B;E0CrL/B,sB1C3Ca;E0C4Cb,sC1ClCa;AHk6Jf;;A6Cx4JA;EnC7BI,+BP4NgC;EO3NhC,gCP2NgC;AH8sJpC;;A6C74JA;EAeI,gBAAgB;EnC9BhB,mCP8MgC;EO7MhC,kCP6MgC;AHotJpC;;A6Cn5JA;EAqBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AH67Jf;;A6Cz5JA;EA4BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CrCa;E0CsCb,qB1CtCa;AHu6JjB;;A6Cp3JI;EACE,uBAAmB;EAAnB,mBAAmB;A7Cu3JzB;;A6Cx3JI;EAII,kB1C4IyB;E0C3IzB,gBAAgB;A7Cw3JxB;;A6C73JI;EnCpDA,+BPuMgC;EOtMhC,kCPsMgC;EO1LhC,0BmCgDwC;A7C03J5C;;A6Cn4JI;EAaM,eAAe;EnC/ErB,gCPqNgC;EOpNhC,mCPoNgC;EO9KhC,4BmC0C0C;A7C23J9C;;Acr6JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C84JvB;E6C/4JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C84JtB;E6Cn5JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C+4J1C;E6Cx5JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C+4J5C;AACF;;Ac17JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cm6JvB;E6Cp6JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cm6JtB;E6Cx6JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Co6J1C;E6C76JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Co6J5C;AACF;;Ac/8JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7Cw7JvB;E6Cz7JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7Cw7JtB;E6C77JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7Cy7J1C;E6Cl8JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7Cy7J5C;AACF;;Acp+JI;E+B2BA;IACE,uBAAmB;IAAnB,mBAAmB;E7C68JvB;E6C98JE;IAII,kB1C4IyB;I0C3IzB,gBAAgB;E7C68JtB;E6Cl9JE;InCpDA,+BPuMgC;IOtMhC,kCPsMgC;IO1LhC,0BmCgDwC;E7C88J1C;E6Cv9JE;IAaM,eAAe;InC/ErB,gCPqNgC;IOpNhC,mCPoNgC;IO9KhC,4BmC0C0C;E7C88J5C;AACF;;A6Cl8JA;EAEI,eAAe;EACf,cAAc;EnCjHd,gBmCkHwB;A7Co8J5B;;A6Cx8JA;EAOM,mB1C6G2B;AHw1JjC;;A6C58JA;EAaM,aAAa;A7Cm8JnB;;A6Ch9JA;EAmBM,gBAAgB;EAChB,gBAAgB;A7Ci8JtB;;A8CrkKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBy/JlE;;AK7jKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwkKjD;;A8C/kKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBogKlE;;A8CrlKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBygKlE;;AK7kKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwlKjD;;A8C/lKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBohKlE;;A8CrmKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByhKlE;;AK7lKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwmKjD;;A8C/mKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBoiKlE;;A8CrnKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByiKlE;;AK7mKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwnKjD;;A8C/nKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBojKlE;;A8CroKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlByjKlE;;AK7nKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwoKjD;;A8C/oKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBokKlE;;A8CrpKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBykKlE;;AK7oKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwpKjD;;A8C/pKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBolKlE;;A8CrqKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBylKlE;;AK7pKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwqKjD;;A8C/qKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBomKlE;;A8CrrKE;EACE,c5BgF8D;E4B/E9D,yB5B+E8D;AlBymKlE;;AK7qKE;EyCPM,c5B2E0D;E4B1E1D,yBAAyC;A9CwrKjD;;A8C/rKE;EAWM,W3CPO;E2CQP,yB5BqE0D;E4BpE1D,qB5BoE0D;AlBonKlE;;A+CxsKA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5CyR+B;E4CxR/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/C2sKb;;AKtsKE;E0CDE,W5CMW;E4CLX,qBAAqB;A/C2sKzB;;AKvsKE;E0CCI,YAAY;A/C0sKlB;;A+C/rKA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;EACT,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/CksKlB;;A+C5rKA;EACE,oBAAoB;A/C+rKtB;;AgDtuKA;EACE,gB7C43BuC;E6C33BvC,gBAAgB;E5C6HZ,mBAtCY;E4CpFhB,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7C63BmD;E6C53BnD,gD7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;EtCLR,sBPg4BsC;AH82I1C;;AgDnvKA;EAcI,sB7Cg3BsC;AHy3I1C;;AgDvvKA;EAkBI,UAAU;AhDyuKd;;AgD3vKA;EAsBI,cAAc;EACd,UAAU;AhDyuKd;;AgDhwKA;EA2BI,aAAa;AhDyuKjB;;AgDruKA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7C41BwC;E6C31BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Co2BoD;AHo4ItD;;AgDruKA;EACE,gB7Co1BwC;AHo5I1C;;AiD5wKA;EAEE,gBAAgB;AjD8wKlB;;AiDhxKA;EAKI,kBAAkB;EAClB,gBAAgB;AjD+wKpB;;AiD1wKA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9CopBsC;E8CnpBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD2wKZ;;AiDpwKA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C63BuC;E8C33BvC,oBAAoB;AjDswKtB;;AiDnwKE;E7BrCI,2CjB27BoD;EiB37BpD,mCjB27BoD;EiB37BpD,oEjB27BoD;E8Cp5BtD,sC9Ck5BmD;E8Cl5BnD,8B9Ck5BmD;AHo3IvD;;AoBxyKI;E6BgCF;I7B/BI,gBAAgB;EpB4yKpB;AACF;;AiD1wKE;EACE,uB9Cg5BoC;E8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hLf;;AkD3+KA;EACE,iBAAgC;AlD8+KlC;;AkD/+KA;EAII,MAAM;AlD++KV;;AkDn/KA;EAOM,SAAS;EACT,6B/CgxBmC;E+C/wBnC,yB/CrDS;AHqiLf;;AkD3+KA;EACE,iB/CywBuC;AHquJzC;;AkD/+KA;EAII,QAAQ;EACR,a/CqwBqC;E+CpwBrC,c/CmwBqC;AH4uJzC;;AkDr/KA;EASM,OAAO;EACP,oC/CgwBmC;E+C/vBnC,uB/CrES;AHqjLf;;AkD39KA;EACE,gB/C+tBuC;E+C9tBvC,uB/CouBuC;E+CnuBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOZX,sBPqOgC;AHq2KpC;;AoD/kLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajDsqBsC;EiDrqBtC,cAAc;EACd,gBjD+1BuC;EgDp2BvC,kMhD+QiN;EgD7QjN,kBAAkB;EAClB,gBhDuR+B;EgDtR/B,gBhD2R+B;EgD1R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOZX,qBPsO+B;AHi4KnC;;AoD5mLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjD81BoC;EiD71BpC,cjD81BqC;EiD71BrC,gBjDmN+B;AHy4KnC;;AoDpnLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD4lLzB;;AoDvlLA;EACE,qBjD+0BuC;AH2wJzC;;AoD3lLA;EAII,iCAAwE;ApD2lL5E;;AoD/lLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD00BiE;AHkxJvE;;AoDrmLA;EAaM,WjDqL2B;EiDpL3B,6BAAgE;EAChE,sBjD7CS;AHyoLf;;AoDvlLA;EACE,mBjD2zBuC;AH+xJzC;;AoD3lLA;EAII,+BAAsE;EACtE,ajDuzBqC;EiDtzBrC,YjDqzBoC;EiDpzBpC,gBAA2B;ApD2lL/B;;AoDlmLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDmzBiE;AHyyJvE;;AoDxmLA;EAgBM,SjD8J2B;EiD7J3B,oCAA2F;EAC3F,wBjDpES;AHgqLf;;AoDvlLA;EACE,kBjDoyBuC;AHszJzC;;AoD3lLA;EAII,8BAAqE;ApD2lLzE;;AoD/lLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD+xBiE;AH6zJvE;;AoDrmLA;EAaM,QjD0I2B;EiDzI3B,oCAA2F;EAC3F,yBjDxFS;AHorLf;;AoD3mLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjD2wBoC;EiD1wBpC,oBAAsC;EACtC,WAAW;EACX,gCjD+vBuD;AH21J3D;;AoDtlLA;EACE,oBjDowBuC;AHq1JzC;;AoD1lLA;EAII,gCAAuE;EACvE,ajDgwBqC;EiD/vBrC,YjD8vBoC;EiD7vBpC,gBAA2B;ApD0lL/B;;AoDjmLA;EAUM,QAAQ;EACR,oCjD0vBmC;EiDzvBnC,sCjD4vBiE;AH+1JvE;;AoDvmLA;EAgBM,UjDuG2B;EiDtG3B,oCjDovBmC;EiDnvBnC,uBjD3HS;AHstLf;;AoDrkLA;EACE,uBjDqtBwC;EiDptBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjD8sByD;EiD7sBzD,gCAAyE;E1ChJvE,0C0CiJyE;E1ChJzE,2C0CgJyE;ApDwkL7E;;AoD/kLA;EAWI,aAAa;ApDwkLjB;;AoDpkLA;EACE,uBjDssBwC;EiDrsBxC,cjDzJgB;AHguLlB;;AqDnuLA;EACE,kBAAkB;ArDsuLpB;;AqDnuLA;EACE,uBAAmB;EAAnB,mBAAmB;ArDsuLrB;;AqDnuLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDsuLlB;;AsD7vLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgwLf;;AqDxuLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjC5BvB,8CjB6iCkF;EiB7iClF,sCjB6iCkF;EiB7iClF,0EjB6iCkF;AH2tJxF;;AoBnwLI;EiCiBJ;IjChBM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E,oCAAmC;AzD4/LvC;;AKl/LE;;;EoDLI,oCAAgD;AzD6/LtD;;AyDngME;EACE,oCAAmC;AzDsgMvC;;AK5/LE;;;EoDLI,oCAAgD;AzDugMtD;;AyD7gME;EACE,oCAAmC;AzDghMvC;;AKtgME;;;EoDLI,oCAAgD;AzDihMtD;;AyDvhME;EACE,oCAAmC;AzD0hMvC;;AKhhME;;;EoDLI,oCAAgD;AzD2hMtD;;AyDjiME;EACE,oCAAmC;AzDoiMvC;;AK1hME;;;EoDLI,oCAAgD;AzDqiMtD;;AyD3iME;EACE,oCAAmC;AzD8iMvC;;AKpiME;;;EoDLI,oCAAgD;AzD+iMtD;;AyDrjME;EACE,oCAAmC;AzDwjMvC;;AK9iME;;;EoDLI,oCAAgD;AzDyjMtD;;A0DxjMA;EACE,iCAAmC;A1D2jMrC;;A0DxjMA;EACE,wCAAwC;A1D2jM1C;;A2DtkMA;EAAkB,oCAAoD;A3D0kMtE;;A2DzkMA;EAAkB,wCAAwD;A3D6kM1E;;A2D5kMA;EAAkB,0CAA0D;A3DglM5E;;A2D/kMA;EAAkB,2CAA2D;A3DmlM7E;;A2DllMA;EAAkB,yCAAyD;A3DslM3E;;A2DplMA;EAAmB,oBAAoB;A3DwlMvC;;A2DvlMA;EAAmB,wBAAwB;A3D2lM3C;;A2D1lMA;EAAmB,0BAA0B;A3D8lM7C;;A2D7lMA;EAAmB,2BAA2B;A3DimM9C;;A2DhmMA;EAAmB,yBAAyB;A3DomM5C;;A2DjmME;EACE,gCAA+B;A3DomMnC;;A2DrmME;EACE,gCAA+B;A3DwmMnC;;A2DzmME;EACE,gCAA+B;A3D4mMnC;;A2D7mME;EACE,gCAA+B;A3DgnMnC;;A2DjnME;EACE,gCAA+B;A3DonMnC;;A2DrnME;EACE,gCAA+B;A3DwnMnC;;A2DznME;EACE,gCAA+B;A3D4nMnC;;A2D7nME;EACE,gCAA+B;A3DgoMnC;;A2D5nMA;EACE,6BAA+B;A3D+nMjC;;A2DxnMA;EACE,gCAA2C;A3D2nM7C;;A2DxnMA;EACE,iCAAwC;A3D2nM1C;;A2DxnMA;EACE,0CAAiD;EACjD,2CAAkD;A3D2nMpD;;A2DxnMA;EACE,2CAAkD;EAClD,8CAAqD;A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tOhD;;AuEjuOQ;EAAgC,yBAA4B;AvEquOpE;;AuEpuOQ;;EAEE,6BAAoC;AvEuuO9C;;AuEruOQ;;EAEE,+BAAwC;AvEwuOlD;;AuEtuOQ;;EAEE,gCAA0C;AvEyuOpD;;AuEvuOQ;;EAEE,8BAAsC;AvE0uOhD;;AuEzvOQ;EAAgC,uBAA4B;AvE6vOpE;;AuE5vOQ;;EAEE,2BAAoC;AvE+vO9C;;AuE7vOQ;;EAEE,6BAAwC;AvEgwOlD;;AuE9vOQ;;EAEE,8BAA0C;AvEiwOpD;;AuE/vOQ;;EAEE,4BAAsC;AvEkwOhD;;AuEjxOQ;EAAgC,yBAA4B;AvEqxOpE;;AuEpxOQ;;EAEE,6BAAoC;AvEuxO9C;;AuErxOQ;;EAEE,+BAAwC;AvEwxOlD;;AuEtxOQ;;EAEE,gCAA0C;AvEyxOpD;;AuEvxOQ;;EAEE,8BAAsC;AvE0xOhD;;AuEzyOQ;EAAgC,uBAA4B;AvE6yOpE;;AuE5yOQ;;EAEE,2BAAoC;AvE+yO9C;;AuE7yOQ;;EAEE,6BAAwC;AvEgzOlD;;AuE9yOQ;;EAEE,8BAA0C;AvEizOpD;;AuE/yOQ;;EAEE,4BAAsC;AvEkzOhD;;AuEj0OQ;EAAgC,qBAA4B;AvEq0OpE;;AuEp0OQ;;EAEE,yBAAoC;AvEu0O9C;;AuEr0OQ;;EAEE,2BAAwC;AvEw0OlD;;AuEt0OQ;;EAEE,4BAA0C;AvEy0OpD;;AuEv0OQ;;EAEE,0BAAsC;AvE00OhD;;AuEz1OQ;EAAgC,2BAA4B;AvE61OpE;;AuE51OQ;;EAEE,+BAAoC;AvE+1O9C;;AuE71OQ;;EAEE,iCAAwC;AvEg2OlD;;AuE91OQ;;EAEE,kCAA0C;AvEi2OpD;;AuE/1OQ;;EAEE,gCAAsC;AvEk2OhD;;AuEj3OQ;EAAgC,0BAA4B;AvEq3OpE;;AuEp3OQ;;EAEE,8BAAoC;AvEu3O9C;;AuEr3OQ;;EAEE,gCAAwC;AvEw3OlD;;AuEt3OQ;;EAEE,iCAA0C;AvEy3OpD;;AuEv3OQ;;EAEE,+BAAsC;AvE03OhD;;AuEz4OQ;EAAgC,wBAA4B;AvE64OpE;;AuE54OQ;;EAEE,4BAAoC;AvE+4O9C;;AuE74OQ;;EAEE,8BAAwC;AvEg5OlD;;AuE94OQ;;EAEE,+BAA0C;AvEi5OpD;;AuE/4OQ;;EAEE,6BAAsC;AvEk5OhD;;AuEj6OQ;EAAgC,0BAA4B;AvEq6OpE;;AuEp6OQ;;EAEE,8BAAoC;AvEu6O9C;;AuEr6OQ;;EAEE,gCAAwC;AvEw6OlD;;AuEt6OQ;;EAEE,iCAA0C;AvEy6OpD;;AuEv6OQ;;EAEE,+BAAsC;AvE06OhD;;AuEz7OQ;EAAgC,wBAA4B;AvE67OpE;;AuE57OQ;;EAEE,4BAAoC;AvE+7O9C;;AuE77OQ;;EAEE,8BAAwC;AvEg8OlD;;AuE97OQ;;EAEE,+BAA0C;AvEi8OpD;;AuE/7OQ;;EAEE,6BAAsC;AvEk8OhD;;AuE17OQ;EAAwB,2BAA2B;AvE87O3D;;AuE77OQ;;EAEE,+BAA+B;AvEg8OzC;;AuE97OQ;;EAEE,iCAAiC;AvEi8O3C;;AuE/7OQ;;EAEE,kCAAkC;AvEk8O5C;;AuEh8OQ;;EAEE,gCAAgC;AvEm8O1C;;AuEl9OQ;EAAwB,0BAA2B;AvEs9O3D;;AuEr9OQ;;EAEE,8BAA+B;AvEw9OzC;;AuEt9OQ;;EAEE,gCAAiC;AvEy9O3C;;AuEv9OQ;;EAEE,iCAAkC;AvE09O5C;;AuEx9OQ;;EAEE,+BAAgC;AvE29O1C;;AuE1+OQ;EAAwB,wBAA2B;AvE8+O3D;;AuE7+OQ;;EAEE,4BAA+B;AvEg/OzC;;AuE9+OQ;;EAEE,8BAAiC;AvEi/O3C;;AuE/+OQ;;EAEE,+BAAkC;AvEk/O5C;;AuEh/OQ;;EAEE,6BAAgC;AvEm/O1C;;AuElgPQ;EAAwB,0BAA2B;AvEsgP3D;;AuErgPQ;;EAEE,8BAA+B;AvEwgPzC;;AuEtgPQ;;EAEE,gCAAiC;AvEygP3C;;AuEvgPQ;;EAEE,iCAAkC;AvE0gP5C;;AuExgPQ;;EAEE,+BAAgC;AvE2gP1C;;AuE1hPQ;EAAwB,wBAA2B;AvE8hP3D;;AuE7hPQ;;EAEE,4BAA+B;AvEgiPzC;;AuE9hPQ;;EAEE,8BAAiC;AvEiiP3C;;AuE/hPQ;;EAEE,+BAAkC;AvEkiP5C;;AuEhiPQ;;EAEE,6BAAgC;AvEmiP1C;;AuE7hPI;EAAmB,uBAAuB;AvEiiP9C;;AuEhiPI;;EAEE,2BAA2B;AvEmiPjC;;AuEjiPI;;EAEE,6BAA6B;AvEoiPnC;;AuEliPI;;EAEE,8BAA8B;AvEqiPpC;;AuEniPI;;EAEE,4BAA4B;AvEsiPlC;;Ac/iPI;EyDlDI;IAAgC,oBAA4B;EvEsmPlE;EuErmPM;;IAEE,wBAAoC;EvEumP5C;EuErmPM;;IAEE,0BAAwC;EvEumPhD;EuErmPM;;IAEE,2BAA0C;EvEumPlD;EuErmPM;;IAEE,yBAAsC;EvEumP9C;EuEtnPM;IAAgC,0BAA4B;EvEynPlE;EuExnPM;;IAEE,8BAAoC;EvE0nP5C;EuExnPM;;IAEE,gCAAwC;EvE0nPhD;EuExnPM;;IAEE,iCAA0C;EvE0nPlD;EuExnPM;;IAEE,+BAAsC;EvE0nP9C;EuEzoPM;IAAgC,yBAA4B;EvE4oPlE;EuE3oPM;;IAEE,6BAAoC;EvE6oP5C;EuE3oPM;;IAEE,+BAAwC;EvE6oPhD;EuE3oPM;;IAEE,gCAA0C;EvE6oPlD;EuE3oPM;;IAEE,8BAAsC;EvE6oP9C;EuE5pPM;IAAgC,uBAA4B;EvE+pPlE;EuE9pPM;;IAEE,2BAAoC;EvEgqP5C;EuE9pPM;;IAEE,6BAAwC;EvEgqPhD;EuE9pPM;;IAEE,8BAA0C;EvEgqPlD;EuE9pPM;;IAEE,4BAAsC;EvEgqP9C;EuE/qPM;IAAgC,yBAA4B;EvEkrPlE;EuEjrPM;;IAEE,6BAAoC;EvEmrP5C;EuEjrPM;;IAEE,+BAAwC;EvEmrPhD;EuEjrPM;;IAEE,gCAA0C;EvEmrPlD;EuEjrPM;;IAEE,8BAAsC;EvEmrP9C;EuElsPM;IAAgC,uBAA4B;EvEqsPlE;EuEpsPM;;IAEE,2BAAoC;EvEssP5C;EuEpsPM;;IAEE,6BAAwC;EvEssPhD;EuEpsPM;;IAEE,8BAA0C;EvEssPlD;EuEpsPM;;IAEE,4BAAsC;EvEssP9C;EuErtPM;IAAgC,qBAA4B;EvEwtPlE;EuEvtPM;;IAEE,yBAAoC;EvEytP5C;EuEvtPM;;IAEE,2BAAwC;EvEytPhD;EuEvtPM;;IAEE,4BAA0C;EvEytPlD;EuEvtPM;;IAEE,0BAAsC;EvEytP9C;EuExuPM;IAAgC,2BAA4B;EvE2uPlE;EuE1uPM;;IAEE,+BAAoC;EvE4uP5C;EuE1uPM;;IAEE,iCAAwC;EvE4uPhD;EuE1uPM;;IAEE,kCAA0C;EvE4uPlD;EuE1uPM;;IAEE,gCAAsC;EvE4uP9C;EuE3vPM;IAAgC,0BAA4B;EvE8vPlE;EuE7vPM;;IAEE,8BAAoC;EvE+vP5C;EuE7vPM;;IAEE,gCAAwC;EvE+vPhD;EuE7vPM;;IAEE,iCAA0C;EvE+vPlD;EuE7vPM;;IAEE,+BAAsC;EvE+vP9C;EuE9wPM;IAAgC,wBAA4B;EvEixPlE;EuEhxPM;;IAEE,4BAAoC;EvEkxP5C;EuEhxPM;;IAEE,8BAAwC;EvEkxPhD;EuEhxPM;;IAEE,+BAA0C;EvEkxPlD;EuEhxPM;;IAEE,6BAAsC;EvEkxP9C;EuEjyPM;IAAgC,0BAA4B;EvEoyPlE;EuEnyPM;;IAEE,8BAAoC;EvEqyP5C;EuEnyPM;;IAEE,gCAAwC;EvEqyPhD;EuEnyPM;;IAEE,iCAA0C;EvEqyPlD;EuEnyPM;;IAEE,+BAAsC;EvEqyP9C;EuEpzPM;IAAgC,wBAA4B;EvEuzPlE;EuEtzPM;;IAEE,4BAAoC;EvEwzP5C;EuEtzPM;;IAEE,8BAAwC;EvEwzPhD;EuEtzPM;;IAEE,+BAA0C;EvEwzPlD;EuEtzPM;;IAEE,6BAAsC;EvEwzP9C;EuEhzPM;IAAwB,2BAA2B;EvEmzPzD;EuElzPM;;IAEE,+BAA+B;EvEozPvC;EuElzPM;;IAEE,iCAAiC;EvEozPzC;EuElzPM;;IAEE,kCAAkC;EvEozP1C;EuElzPM;;IAEE,gCAAgC;EvEozPxC;EuEn0PM;IAAwB,0BAA2B;EvEs0PzD;EuEr0PM;;IAEE,8BAA+B;EvEu0PvC;EuEr0PM;;IAEE,gCAAiC;EvEu0PzC;EuEr0PM;;IAEE,iCAAkC;EvEu0P1C;EuEr0PM;;IAEE,+BAAgC;EvEu0PxC;EuEt1PM;IAAwB,wBAA2B;EvEy1PzD;EuEx1PM;;IAEE,4BAA+B;EvE01PvC;EuEx1PM;;IAEE,8BAAiC;EvE01PzC;EuEx1PM;;IAEE,+BAAkC;EvE01P1C;EuEx1PM;;IAEE,6BAAgC;EvE01PxC;EuEz2PM;IAAwB,0BAA2B;EvE42PzD;EuE32PM;;IAEE,8BAA+B;EvE62PvC;EuE32PM;;IAEE,gCAAiC;EvE62PzC;EuE32PM;;IAEE,iCAAkC;EvE62P1C;EuE32PM;;IAEE,+BAAgC;EvE62PxC;EuE53PM;IAAwB,wBAA2B;EvE+3PzD;EuE93PM;;IAEE,4BAA+B;EvEg4PvC;EuE93PM;;IAEE,8BAAiC;EvEg4PzC;EuE93PM;;IAEE,+BAAkC;EvEg4P1C;EuE93PM;;IAEE,6BAAgC;EvEg4PxC;EuE13PE;IAAmB,uBAAuB;EvE63P5C;EuE53PE;;IAEE,2BAA2B;EvE83P/B;EuE53PE;;IAEE,6BAA6B;EvE83PjC;EuE53PE;;IAEE,8BAA8B;EvE83PlC;EuE53PE;;IAEE,4BAA4B;EvE83PhC;AACF;;Acx4PI;EyDlDI;IAAgC,oBAA4B;EvE+7PlE;EuE97PM;;IAEE,wBAAoC;EvEg8P5C;EuE97PM;;IAEE,0BAAwC;EvEg8PhD;EuE97PM;;IAEE,2BAA0C;EvEg8PlD;EuE97PM;;IAEE,yBAAsC;EvEg8P9C;EuE/8PM;IAAgC,0BAA4B;EvEk9PlE;EuEj9PM;;IAEE,8BAAoC;EvEm9P5C;EuEj9PM;;IAEE,gCAAwC;EvEm9PhD;EuEj9PM;;IAEE,iCAA0C;EvEm9PlD;EuEj9PM;;IAEE,+BAAsC;EvEm9P9C;EuEl+PM;IAAgC,yBAA4B;EvEq+PlE;EuEp+PM;;IAEE,6BAAoC;EvEs+P5C;EuEp+PM;;IAEE,+BAAwC;EvEs+PhD;EuEp+PM;;IAEE,gCAA0C;EvEs+PlD;EuEp+PM;;IAEE,8BAAsC;EvEs+P9C;EuEr/PM;IAAgC,uBAA4B;EvEw/PlE;EuEv/PM;;IAEE,2BAAoC;EvEy/P5C;EuEv/PM;;IAEE,6BAAwC;EvEy/PhD;EuEv/PM;;IAEE,8BAA0C;EvEy/PlD;EuEv/PM;;IAEE,4BAAsC;EvEy/P9C;EuExgQM;IAAgC,yBAA4B;EvE2gQlE;EuE1gQM;;IAEE,6BAAoC;EvE4gQ5C;EuE1gQM;;IAEE,+BAAwC;EvE4gQhD;EuE1gQM;;IAEE,gCAA0C;EvE4gQlD;EuE1gQM;;IAEE,8BAAsC;EvE4gQ9C;EuE3hQM;IAAgC,uBAA4B;EvE8hQlE;EuE7hQM;;IAEE,2BAAoC;EvE+hQ5C;EuE7hQM;;IAEE,6BAAwC;EvE+hQhD;EuE7hQM;;IAEE,8BAA0C;EvE+hQlD;EuE7hQM;;IAEE,4BAAsC;EvE+hQ9C;EuE9iQM;IAAgC,qBAA4B;EvEijQlE;EuEhjQM;;IAEE,yBAAoC;EvEkjQ5C;EuEhjQM;;IAEE,2BAAwC;EvEkjQhD;EuEhjQM;;IAEE,4BAA0C;EvEkjQlD;EuEhjQM;;IAEE,0BAAsC;EvEkjQ9C;EuEjkQM;IAAgC,2BAA4B;EvEokQlE;EuEnkQM;;IAEE,+BAAoC;EvEqkQ5C;EuEnkQM;;IAEE,iCAAwC;EvEqkQhD;EuEnkQM;;IAEE,kCAA0C;EvEqkQlD;EuEnkQM;;IAEE,gCAAsC;EvEqkQ9C;EuEplQM;IAAgC,0BAA4B;EvEulQlE;EuEtlQM;;IAEE,8BAAoC;EvEwlQ5C;EuEtlQM;;IAEE,gCAAwC;EvEwlQhD;EuEtlQM;;IAEE,iCAA0C;EvEwlQlD;EuEtlQM;;IAEE,+BAAsC;EvEwlQ9C;EuEvmQM;IAAgC,wBAA4B;EvE0mQlE;EuEzmQM;;IAEE,4BAAoC;EvE2mQ5C;EuEzmQM;;IAEE,8BAAwC;EvE2mQhD;EuEzmQM;;IAEE,+BAA0C;EvE2mQlD;EuEzmQM;;IAEE,6BAAsC;EvE2mQ9C;EuE1nQM;IAAgC,0BAA4B;EvE6nQlE;EuE5nQM;;IAEE,8BAAoC;EvE8nQ5C;EuE5nQM;;IAEE,gCAAwC;EvE8nQhD;EuE5nQM;;IAEE,iCAA0C;EvE8nQlD;EuE5nQM;;IAEE,+BAAsC;EvE8nQ9C;EuE7oQM;IAAgC,wBAA4B;EvEgpQlE;EuE/oQM;;IAEE,4BAAoC;EvEipQ5C;EuE/oQM;;IAEE,8BAAwC;EvEipQhD;EuE/oQM;;IAEE,+BAA0C;EvEipQlD;EuE/oQM;;IAEE,6BAAsC;EvEipQ9C;EuEzoQM;IAAwB,2BAA2B;EvE4oQzD;EuE3oQM;;IAEE,+BAA+B;EvE6oQvC;EuE3oQM;;IAEE,iCAAiC;EvE6oQzC;EuE3oQM;;IAEE,kCAAkC;EvE6oQ1C;EuE3oQM;;IAEE,gCAAgC;EvE6oQxC;EuE5pQM;IAAwB,0BAA2B;EvE+pQzD;EuE9pQM;;IAEE,8BAA+B;EvEgqQvC;EuE9pQM;;IAEE,gCAAiC;EvEgqQzC;EuE9pQM;;IAEE,iCAAkC;EvEgqQ1C;EuE9pQM;;IAEE,+BAAgC;EvEgqQxC;EuE/qQM;IAAwB,wBAA2B;EvEkrQzD;EuEjrQM;;IAEE,4BAA+B;EvEmrQvC;EuEjrQM;;IAEE,8BAAiC;EvEmrQzC;EuEjrQM;;IAEE,+BAAkC;EvEmrQ1C;EuEjrQM;;IAEE,6BAAgC;EvEmrQxC;EuElsQM;IAAwB,0BAA2B;EvEqsQzD;EuEpsQM;;IAEE,8BAA+B;EvEssQvC;EuEpsQM;;IAEE,gCAAiC;EvEssQzC;EuEpsQM;;IAEE,iCAAkC;EvEssQ1C;EuEpsQM;;IAEE,+BAAgC;EvEssQxC;EuErtQM;IAAwB,wBAA2B;EvEwtQzD;EuEvtQM;;IAEE,4BAA+B;EvEytQvC;EuEvtQM;;IAEE,8BAAiC;EvEytQzC;EuEvtQM;;IAEE,+BAAkC;EvEytQ1C;EuEvtQM;;IAEE,6BAAgC;EvEytQxC;EuEntQE;IAAmB,uBAAuB;EvEstQ5C;EuErtQE;;IAEE,2BAA2B;EvEutQ/B;EuErtQE;;IAEE,6BAA6B;EvEutQjC;EuErtQE;;IAEE,8BAA8B;EvEutQlC;EuErtQE;;IAEE,4BAA4B;EvEutQhC;AACF;;AcjuQI;EyDlDI;IAAgC,oBAA4B;EvEwxQlE;EuEvxQM;;IAEE,wBAAoC;EvEyxQ5C;EuEvxQM;;IAEE,0BAAwC;EvEyxQhD;EuEvxQM;;IAEE,2BAA0C;EvEyxQlD;EuEvxQM;;IAEE,yBAAsC;EvEyxQ9C;EuExyQM;IAAgC,0BAA4B;EvE2yQlE;EuE1yQM;;IAEE,8BAAoC;EvE4yQ5C;EuE1yQM;;IAEE,gCAAwC;EvE4yQhD;EuE1yQM;;IAEE,iCAA0C;EvE4yQlD;EuE1yQM;;IAEE,+BAAsC;EvE4yQ9C;EuE3zQM;IAAgC,yBAA4B;EvE8zQlE;EuE7zQM;;IAEE,6BAAoC;EvE+zQ5C;EuE7zQM;;IAEE,+BAAwC;EvE+zQhD;EuE7zQM;;IAEE,gCAA0C;EvE+zQlD;EuE7zQM;;IAEE,8BAAsC;EvE+zQ9C;EuE90QM;IAAgC,uBAA4B;EvEi1QlE;EuEh1QM;;IAEE,2BAAoC;EvEk1Q5C;EuEh1QM;;IAEE,6BAAwC;EvEk1QhD;EuEh1QM;;IAEE,8BAA0C;EvEk1QlD;EuEh1QM;;IAEE,4BAAsC;EvEk1Q9C;EuEj2QM;IAAgC,yBAA4B;EvEo2QlE;EuEn2QM;;IAEE,6BAAoC;EvEq2Q5C;EuEn2QM;;IAEE,+BAAwC;EvEq2QhD;EuEn2QM;;IAEE,gCAA0C;EvEq2QlD;EuEn2QM;;IAEE,8BAAsC;EvEq2Q9C;EuEp3QM;IAAgC,uBAA4B;EvEu3QlE;EuEt3QM;;IAEE,2BAAoC;EvEw3Q5C;EuEt3QM;;IAEE,6BAAwC;EvEw3QhD;EuEt3QM;;IAEE,8BAA0C;EvEw3QlD;EuEt3QM;;IAEE,4BAAsC;EvEw3Q9C;EuEv4QM;IAAgC,qBAA4B;EvE04QlE;EuEz4QM;;IAEE,yBAAoC;EvE24Q5C;EuEz4QM;;IAEE,2BAAwC;EvE24QhD;EuEz4QM;;IAEE,4BAA0C;EvE24QlD;EuEz4QM;;IAEE,0BAAsC;EvE24Q9C;EuE15QM;IAAgC,2BAA4B;EvE65QlE;EuE55QM;;IAEE,+BAAoC;EvE85Q5C;EuE55QM;;IAEE,iCAAwC;EvE85QhD;EuE55QM;;IAEE,kCAA0C;EvE85QlD;EuE55QM;;IAEE,gCAAsC;EvE85Q9C;EuE76QM;IAAgC,0BAA4B;EvEg7QlE;EuE/6QM;;IAEE,8BAAoC;EvEi7Q5C;EuE/6QM;;IAEE,gCAAwC;EvEi7QhD;EuE/6QM;;IAEE,iCAA0C;EvEi7QlD;EuE/6QM;;IAEE,+BAAsC;EvEi7Q9C;EuEh8QM;IAAgC,wBAA4B;EvEm8QlE;EuEl8QM;;IAEE,4BAAoC;EvEo8Q5C;EuEl8QM;;IAEE,8BAAwC;EvEo8QhD;EuEl8QM;;IAEE,+BAA0C;EvEo8QlD;EuEl8QM;;IAEE,6BAAsC;EvEo8Q9C;EuEn9QM;IAAgC,0BAA4B;EvEs9QlE;EuEr9QM;;IAEE,8BAAoC;EvEu9Q5C;EuEr9QM;;IAEE,gCAAwC;EvEu9QhD;EuEr9QM;;IAEE,iCAA0C;EvEu9QlD;EuEr9QM;;IAEE,+BAAsC;EvEu9Q9C;EuEt+QM;IAAgC,wBAA4B;EvEy+QlE;EuEx+QM;;IAEE,4BAAoC;EvE0+Q5C;EuEx+QM;;IAEE,8BAAwC;EvE0+QhD;EuEx+QM;;IAEE,+BAA0C;EvE0+QlD;EuEx+QM;;IAEE,6BAAsC;EvE0+Q9C;EuEl+QM;IAAwB,2BAA2B;EvEq+QzD;EuEp+QM;;IAEE,+BAA+B;EvEs+QvC;EuEp+QM;;IAEE,iCAAiC;EvEs+QzC;EuEp+QM;;IAEE,kCAAkC;EvEs+Q1C;EuEp+QM;;IAEE,gCAAgC;EvEs+QxC;EuEr/QM;IAAwB,0BAA2B;EvEw/QzD;EuEv/QM;;IAEE,8BAA+B;EvEy/QvC;EuEv/QM;;IAEE,gCAAiC;EvEy/QzC;EuEv/QM;;IAEE,iCAAkC;EvEy/Q1C;EuEv/QM;;IAEE,+BAAgC;EvEy/QxC;EuExgRM;IAAwB,wBAA2B;EvE2gRzD;EuE1gRM;;IAEE,4BAA+B;EvE4gRvC;EuE1gRM;;IAEE,8BAAiC;EvE4gRzC;EuE1gRM;;IAEE,+BAAkC;EvE4gR1C;EuE1gRM;;IAEE,6BAAgC;EvE4gRxC;EuE3hRM;IAAwB,0BAA2B;EvE8hRzD;EuE7hRM;;IAEE,8BAA+B;EvE+hRvC;EuE7hRM;;IAEE,gCAAiC;EvE+hRzC;EuE7hRM;;IAEE,iCAAkC;EvE+hR1C;EuE7hRM;;IAEE,+BAAgC;EvE+hRxC;EuE9iRM;IAAwB,wBAA2B;EvEijRzD;EuEhjRM;;IAEE,4BAA+B;EvEkjRvC;EuEhjRM;;IAEE,8BAAiC;EvEkjRzC;EuEhjRM;;IAEE,+BAAkC;EvEkjR1C;EuEhjRM;;IAEE,6BAAgC;EvEkjRxC;EuE5iRE;IAAmB,uBAAuB;EvE+iR5C;EuE9iRE;;IAEE,2BAA2B;EvEgjR/B;EuE9iRE;;IAEE,6BAA6B;EvEgjRjC;EuE9iRE;;IAEE,8BAA8B;EvEgjRlC;EuE9iRE;;IAEE,4BAA4B;EvEgjRhC;AACF;;Ac1jRI;EyDlDI;IAAgC,oBAA4B;EvEinRlE;EuEhnRM;;IAEE,wBAAoC;EvEknR5C;EuEhnRM;;IAEE,0BAAwC;EvEknRhD;EuEhnRM;;IAEE,2BAA0C;EvEknRlD;EuEhnRM;;IAEE,yBAAsC;EvEknR9C;EuEjoRM;IAAgC,0BAA4B;EvEooRlE;EuEnoRM;;IAEE,8BAAoC;EvEqoR5C;EuEnoRM;;IAEE,gCAAwC;EvEqoRhD;EuEnoRM;;IAEE,iCAA0C;EvEqoRlD;EuEnoRM;;IAEE,+BAAsC;EvEqoR9C;EuEppRM;IAAgC,yBAA4B;EvEupRlE;EuEtpRM;;IAEE,6BAAoC;EvEwpR5C;EuEtpRM;;IAEE,+BAAwC;EvEwpRhD;EuEtpRM;;IAEE,gCAA0C;EvEwpRlD;EuEtpRM;;IAEE,8BAAsC;EvEwpR9C;EuEvqRM;IAAgC,uBAA4B;EvE0qRlE;EuEzqRM;;IAEE,2BAAoC;EvE2qR5C;EuEzqRM;;IAEE,6BAAwC;EvE2qRhD;EuEzqRM;;IAEE,8BAA0C;EvE2qRlD;EuEzqRM;;IAEE,4BAAsC;EvE2qR9C;EuE1rRM;IAAgC,yBAA4B;EvE6rRlE;EuE5rRM;;IAEE,6BAAoC;EvE8rR5C;EuE5rRM;;IAEE,+BAAwC;EvE8rRhD;EuE5rRM;;IAEE,gCAA0C;EvE8rRlD;EuE5rRM;;IAEE,8BAAsC;EvE8rR9C;EuE7sRM;IAAgC,uBAA4B;EvEgtRlE;EuE/sRM;;IAEE,2BAAoC;EvEitR5C;EuE/sRM;;IAEE,6BAAwC;EvEitRhD;EuE/sRM;;IAEE,8BAA0C;EvEitRlD;EuE/sRM;;IAEE,4BAAsC;EvEitR9C;EuEhuRM;IAAgC,qBAA4B;EvEmuRlE;EuEluRM;;IAEE,yBAAoC;EvEouR5C;EuEluRM;;IAEE,2BAAwC;EvEouRhD;EuEluRM;;IAEE,4BAA0C;EvEouRlD;EuEluRM;;IAEE,0BAAsC;EvEouR9C;EuEnvRM;IAAgC,2BAA4B;EvEsvRlE;EuErvRM;;IAEE,+BAAoC;EvEuvR5C;EuErvRM;;IAEE,iCAAwC;EvEuvRhD;EuErvRM;;IAEE,kCAA0C;EvEuvRlD;EuErvRM;;IAEE,gCAAsC;EvEuvR9C;EuEtwRM;IAAgC,0BAA4B;EvEywRlE;EuExwRM;;IAEE,8BAAoC;EvE0wR5C;EuExwRM;;IAEE,gCAAwC;EvE0wRhD;EuExwRM;;IAEE,iCAA0C;EvE0wRlD;EuExwRM;;IAEE,+BAAsC;EvE0wR9C;EuEzxRM;IAAgC,wBAA4B;EvE4xRlE;EuE3xRM;;IAEE,4BAAoC;EvE6xR5C;EuE3xRM;;IAEE,8BAAwC;EvE6xRhD;EuE3xRM;;IAEE,+BAA0C;EvE6xRlD;EuE3xRM;;IAEE,6BAAsC;EvE6xR9C;EuE5yRM;IAAgC,0BAA4B;EvE+yRlE;EuE9yRM;;IAEE,8BAAoC;EvEgzR5C;EuE9yRM;;IAEE,gCAAwC;EvEgzRhD;EuE9yRM;;IAEE,iCAA0C;EvEgzRlD;EuE9yRM;;IAEE,+BAAsC;EvEgzR9C;EuE/zRM;IAAgC,wBAA4B;EvEk0RlE;EuEj0RM;;IAEE,4BAAoC;EvEm0R5C;EuEj0RM;;IAEE,8BAAwC;EvEm0RhD;EuEj0RM;;IAEE,+BAA0C;EvEm0RlD;EuEj0RM;;IAEE,6BAAsC;EvEm0R9C;EuE3zRM;IAAwB,2BAA2B;EvE8zRzD;EuE7zRM;;IAEE,+BAA+B;EvE+zRvC;EuE7zRM;;IAEE,iCAAiC;EvE+zRzC;EuE7zRM;;IAEE,kCAAkC;EvE+zR1C;EuE7zRM;;IAEE,gCAAgC;EvE+zRxC;EuE90RM;IAAwB,0BAA2B;EvEi1RzD;EuEh1RM;;IAEE,8BAA+B;EvEk1RvC;EuEh1RM;;IAEE,gCAAiC;EvEk1RzC;EuEh1RM;;IAEE,iCAAkC;EvEk1R1C;EuEh1RM;;IAEE,+BAAgC;EvEk1RxC;EuEj2RM;IAAwB,wBAA2B;EvEo2RzD;EuEn2RM;;IAEE,4BAA+B;EvEq2RvC;EuEn2RM;;IAEE,8BAAiC;EvEq2RzC;EuEn2RM;;IAEE,+BAAkC;EvEq2R1C;EuEn2RM;;IAEE,6BAAgC;EvEq2RxC;EuEp3RM;IAAwB,0BAA2B;EvEu3RzD;EuEt3RM;;IAEE,8BAA+B;EvEw3RvC;EuEt3RM;;IAEE,gCAAiC;EvEw3RzC;EuEt3RM;;IAEE,iCAAkC;EvEw3R1C;EuEt3RM;;IAEE,+BAAgC;EvEw3RxC;EuEv4RM;IAAwB,wBAA2B;EvE04RzD;EuEz4RM;;IAEE,4BAA+B;EvE24RvC;EuEz4RM;;IAEE,8BAAiC;EvE24RzC;EuEz4RM;;IAEE,+BAAkC;EvE24R1C;EuEz4RM;;IAEE,6BAAgC;EvE24RxC;EuEr4RE;IAAmB,uBAAuB;EvEw4R5C;EuEv4RE;;IAEE,2BAA2B;EvEy4R/B;EuEv4RE;;IAEE,6BAA6B;EvEy4RjC;EuEv4RE;;IAEE,8BAA8B;EvEy4RlC;EuEv4RE;;IAEE,4BAA4B;EvEy4RhC;AACF;;AwEz8RA;EAAkB,4GAA8C;AxE68RhE;;AwEz8RA;EAAiB,8BAA8B;AxE68R/C;;AwE58RA;EAAiB,8BAA8B;AxEg9R/C;;AwE/8RA;EAAiB,8BAA8B;AxEm9R/C;;AwEl9RA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AzE+9RrB;;AwEh9RI;EAAwB,2BAA2B;AxEo9RvD;;AwEn9RI;EAAwB,4BAA4B;AxEu9RxD;;AwEt9RI;EAAwB,6BAA6B;AxE09RzD;;Acr7RI;E0DvCA;IAAwB,2BAA2B;ExEi+RrD;EwEh+RE;IAAwB,4BAA4B;ExEm+RtD;EwEl+RE;IAAwB,6BAA6B;ExEq+RvD;AACF;;Acj8RI;E0DvCA;IAAwB,2BAA2B;ExE6+RrD;EwE5+RE;IAAwB,4BAA4B;ExE++RtD;EwE9+RE;IAAwB,6BAA6B;ExEi/RvD;AACF;;Ac78RI;E0DvCA;IAAwB,2BAA2B;ExEy/RrD;EwEx/RE;IAAwB,4BAA4B;ExE2/RtD;EwE1/RE;IAAwB,6BAA6B;ExE6/RvD;AACF;;Acz9RI;E0DvCA;IAAwB,2BAA2B;ExEqgSrD;EwEpgSE;IAAwB,4BAA4B;ExEugStD;EwEtgSE;IAAwB,6BAA6B;ExEygSvD;AACF;;AwEpgSA;EAAmB,oCAAoC;AxEwgSvD;;AwEvgSA;EAAmB,oCAAoC;AxE2gSvD;;AwE1gSA;EAAmB,qCAAqC;AxE8gSxD;;AwE1gSA;EAAuB,2BAA0C;AxE8gSjE;;AwE7gSA;EAAuB,+BAA4C;AxEihSnE;;AwEhhSA;EAAuB,2BAA2C;AxEohSlE;;AwEnhSA;EAAuB,2BAAyC;AxEuhShE;;AwEthSA;EAAuB,8BAA2C;AxE0hSlE;;AwEzhSA;EAAuB,6BAA6B;AxE6hSpD;;AwEzhSA;EAAc,sBAAwB;AxE6hStC;;A0EpkSE;EACE,yBAAwB;A1EukS5B;;AK7jSE;EqELM,yBAA0E;A1EskSlF;;A0E5kSE;EACE,yBAAwB;A1E+kS5B;;AKrkSE;EqELM,yBAA0E;A1E8kSlF;;A0EplSE;EACE,yBAAwB;A1EulS5B;;AK7kSE;EqELM,yBAA0E;A1EslSlF;;A0E5lSE;EACE,yBAAwB;A1E+lS5B;;AKrlSE;EqELM,yBAA0E;A1E8lSlF;;A0EpmSE;EACE,yBAAwB;A1EumS5B;;AK7lSE;EqELM,yBAA0E;A1EsmSlF;;A0E5mSE;EACE,yBAAwB;A1E+mS5B;;AKrmSE;EqELM,yBAA0E;A1E8mSlF;;A0EpnSE;EACE,yBAAwB;A1EunS5B;;AK7mSE;EqELM,yBAA0E;A1EsnSlF;;A0E5nSE;EACE,yBAAwB;A1E+nS5B;;AKrnSE;EqELM,yBAA0E;A1E8nSlF;;AwEvlSA;EAAa,yBAA6B;AxE2lS1C;;AwE1lSA;EAAc,yBAA6B;AxE8lS3C;;AwE5lSA;EAAiB,oCAAkC;AxEgmSnD;;AwE/lSA;EAAiB,0CAAkC;AxEmmSnD;;AwE/lSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A3E0pSX;;AwEnmSA;EAAwB,gCAAgC;AxEumSxD;;AwErmSA;EACE,iCAAiC;EACjC,oCAAoC;AxEwmStC;;AwEnmSA;EAAc,yBAAyB;AxEumSvC;;A4ExqSA;EACE,8BAA8B;A5E2qShC;;A4ExqSA;EACE,6BAA6B;A5E2qS/B;;A6E3qSE;E3EOF;;;I2EDM,4BAA4B;IAE5B,2BAA2B;E7E2qS/B;E6ExqSE;IAEI,0BAA0B;E7EyqShC;E6EhqSE;IACE,6BAA6B;E7EkqSjC;EEn+RF;I2EhLM,gCAAgC;E7EspSpC;E6EppSE;;IAEE,yB1EzCY;I0E0CZ,wBAAwB;E7EspS5B;E6E9oSE;IACE,2BAA2B;E7EgpS/B;E6E7oSE;;IAEE,wBAAwB;E7E+oS5B;E6E5oSE;;;IAGE,UAAU;IACV,SAAS;E7E8oSb;E6E3oSE;;IAEE,uBAAuB;E7E6oS3B;E6EroSE;IACE,Q1EwgCgC;EH+nQpC;EEnrSF;I2E+CM,2BAA2C;E7EuoS/C;EY9tSA;IiE0FI,2BAA2C;E7EuoS/C;EiCrtSF;I4CmFM,aAAa;E7EqoSjB;EsCpuSF;IuCkGM,sB1EtFS;EH2tSb;EgBxuSF;I6DuGM,oCAAoC;E7EooSxC;E6EroSE;;IAKI,iCAAmC;E7EooSzC;EgBvsSF;;I6D0EQ,oCAAsC;E7EioS5C;EgBtnSF;I6DNM,cAAc;E7E+nSlB;EiBrvSA;;;;I4D4HM,qB1EvHU;EHsvShB;EgBjpSF;I6DuBM,cAAc;IACd,qB1E7HY;EH0vShB;AACF","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@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\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@import \"utilities\";\n@import \"print\";\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  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\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\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\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\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\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-break: 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\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529;\n}\n\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\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 {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\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.order-first {\n  order: -1;\n}\n\n.order-last {\n  order: 13;\n}\n\n.order-0 {\n  order: 0;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\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  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-last {\n    order: 13;\n  }\n  .order-sm-0 {\n    order: 0;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\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  .order-md-first {\n    order: -1;\n  }\n  .order-md-last {\n    order: 13;\n  }\n  .order-md-0 {\n    order: 0;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\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  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-last {\n    order: 13;\n  }\n  .order-lg-0 {\n    order: 0;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\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  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-last {\n    order: 13;\n  }\n  .order-xl-0 {\n    order: 0;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\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}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dee2e6;\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.3rem;\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.form-control {\n  display: block;\n  width: 100%;\n  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\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\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-plaintext {\n  display: block;\n  width: 100%;\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\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  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  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\nselect.form-control[size], select.form-control[multiple] {\n  height: auto;\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\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-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n  color: #6c757d;\n}\n\n.form-check-label {\n  margin-bottom: 0;\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n  position: static;\n  margin-top: 0;\n  margin-right: 0.3125rem;\n  margin-left: 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: center right calc(0.375em + 0.1875rem);\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 .custom-select:valid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, 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 .custom-select:valid:focus, .custom-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 .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-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-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.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\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 .custom-select:invalid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-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 .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-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-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.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #e4606d;\n  background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\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 .custom-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  .form-inline .custom-control {\n    align-items: center;\n    justify-content: center;\n  }\n  .form-inline .custom-control-label {\n    margin-bottom: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\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  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  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  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  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  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  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  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  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\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\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  position: relative;\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  float: left;\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,\n.btn-group-vertical > .btn:hover {\n  z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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.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-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n  position: relative;\n  flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n  margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n  z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n  z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-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 > .custom-select:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n  display: flex;\n  align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-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:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-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:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-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 > .custom-select,\n.input-group-sm > .custom-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.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n  display: inline-flex;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n  color: #fff;\n  background-color: #b3d7ff;\n  border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n  color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n  background-color: #e9ecef;\n}\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n}\n\n.custom-control-label::before {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  content: \"\";\n  background-color: #fff;\n  border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  content: \"\";\n  background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\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.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n  padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n  left: -2.25rem;\n  width: 1.75rem;\n  pointer-events: all;\n  border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n  top: calc(0.25rem + 2px);\n  left: calc(-2.25rem + 2px);\n  width: calc(1rem - 4px);\n  height: calc(1rem - 4px);\n  background-color: #adb5bd;\n  border-radius: 0.5rem;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-switch .custom-control-label::after {\n    transition: none;\n  }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n  background-color: #fff;\n  transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-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: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  appearance: none;\n}\n\n.custom-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.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n  height: auto;\n  padding-right: 0.75rem;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #6c757d;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  display: none;\n}\n\n.custom-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.custom-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.custom-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.custom-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.custom-file-input:focus ~ .custom-file-label {\n  border-color: #80bdff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n  background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n  content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n  content: attr(data-browse);\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  display: block;\n  height: calc(1.5em + 0.75rem);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  content: \"Browse\";\n  background-color: #e9ecef;\n  border-left: inherit;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n  width: 100%;\n  height: calc(1rem + 0.4rem);\n  padding: 0;\n  background-color: transparent;\n  appearance: none;\n}\n\n.custom-range:focus {\n  outline: none;\n}\n\n.custom-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.custom-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.custom-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.custom-range::-moz-focus-outer {\n  border: 0;\n}\n\n.custom-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  .custom-range::-webkit-slider-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-moz-range-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-moz-range-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-ms-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-ms-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-range::-ms-fill-lower {\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n  margin-right: 15px;\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: 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  .custom-control-label::before,\n  .custom-file-label,\n  .custom-select {\n    transition: none;\n  }\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 {\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  float: none;\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .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  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.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    column-count: 3;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\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 {\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  border-radius: 0.25rem;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\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: 2;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\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.page-item.active .page-link {\n  z-index: 1;\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.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.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\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  .badge {\n    transition: none;\n  }\n}\n\na.badge:hover, a.badge:focus {\n  text-decoration: none;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n  color: #fff;\n  background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n  color: #fff;\n  background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n  color: #fff;\n  background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n  color: #fff;\n  background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n  color: #212529;\n  background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n  color: #fff;\n  background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n  color: #212529;\n  background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n  color: #fff;\n  background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\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 hr {\n  border-top-color: #9fcdff;\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 hr {\n  border-top-color: #c8cbcf;\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 hr {\n  border-top-color: #b1dfbb;\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 hr {\n  border-top-color: #abdde5;\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 hr {\n  border-top-color: #ffe8a1;\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 hr {\n  border-top-color: #f1b0b7;\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 hr {\n  border-top-color: #ececf6;\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 hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\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.media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\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: -1px;\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  margin-bottom: 0;\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-horizontal {\n  flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n  margin-right: -1px;\n  margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\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  margin-right: 0;\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-sm .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-md .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-lg .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-xl .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n  margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom: 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  float: right;\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.25rem 0.75rem rgba(0, 0, 0, 0.1);\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: 0.3rem;\n  border-top-right-radius: 0.3rem;\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  align-items: center;\n  justify-content: flex-end;\n  padding: 1rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.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 .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .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 > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n  bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n  top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .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: 0s 0.6s opacity;\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.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%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.5 2.5 2.5-2.5 2.5 1.5 1.5 4-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: 15;\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  z-index: 10;\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.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.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !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.rounded-sm {\n  border-radius: 0.2rem !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !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-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !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.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\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@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}\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}\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}\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}\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.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\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  bottom: 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.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-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.flex-fill {\n  flex: 1 1 auto !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.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@media (min-width: 576px) {\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-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  .flex-sm-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 768px) {\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-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  .flex-md-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 992px) {\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-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  .flex-lg-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 1200px) {\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-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  .flex-xl-fill {\n    flex: 1 1 auto !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  .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}\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@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}\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}\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}\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}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !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.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  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\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.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.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.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.vh-100 {\n  height: 100vh !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  pointer-events: auto;\n  content: \"\";\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n  text-align: justify !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-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\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@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.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.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.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0056b3 !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #a71d2a !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !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-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important;\n}\n\n.text-reset {\n  color: inherit !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  @page {\n    size: a3;\n  }\n  body {\n    min-width: 992px !important;\n  }\n  .container {\n    min-width: 992px !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important;\n  }\n  .table-dark {\n    color: inherit;\n  }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th,\n  .table-dark tbody + tbody {\n    border-color: #dee2e6;\n  }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6;\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  @each $bp, $value in $grid-breakpoints {\n    --breakpoint-#{$bp}: #{$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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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. Set an explicit initial text-align value so that we can later use\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  @include font-size($font-size-base);\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\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`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\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. Remove the bottom border in Firefox 39-.\n// 5. 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  border-bottom: 0; // 4\n  text-decoration-skip-ink: none; // 5\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\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\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n  @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\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//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n\n  @include 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// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\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\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n  // Workaround for the SVG overflow bug in IE10/11 is still required.\n  // See https://github.com/twbs/bootstrap/issues/26878\n  overflow: hidden;\n  vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\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\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\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\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/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n  word-wrap: normal;\n}\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.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n  button,\n  [type=\"button\"],\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    &:not(:disabled) {\n      cursor: pointer;\n    }\n  }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\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  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // 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  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  @include font-size(1.5rem);\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // 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  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n  cursor: pointer;\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\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\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-hover-media-query:                    false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes:                         true !default;\n$enable-pointer-cursor-for-buttons:           true !default;\n$enable-print-styles:                         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// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n  (\n    25: 25%,\n    50: 50%,\n    75: 75%,\n    100: 100%,\n    auto: auto\n  ),\n  $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg:                   $white !default;\n$body-color:                $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              theme-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// 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// 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\n$component-active-color:      $white !default;\n$component-active-bg:         theme-color(\"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: join(\n  (\n    (21 9),\n    (16 9),\n    (4 3),\n    (1 1),\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-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-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-border-color:             rgba($black, .1) !default;\n$hr-border-width:             $border-width !default;\n\n$mark-padding:                .2em !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$kbd-box-shadow:              inset 0 -.1rem 0 rgba($black, .25) !default;\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:          .75rem !default;\n$table-cell-padding-sm:       .3rem !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\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$table-dark-color:            $white !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-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\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:                      inset 0 1px 1px rgba($black, .075) !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$form-text-margin-top:                  .25rem !default;\n\n$form-check-input-gutter:               1.25rem !default;\n$form-check-input-margin-y:             .3rem !default;\n$form-check-input-margin-x:             .25rem !default;\n\n$form-check-inline-margin-x:            .75rem !default;\n$form-check-inline-input-margin-x:      .3125rem !default;\n\n$form-grid-gutter-width:                10px !default;\n$form-group-margin-bottom:              1rem !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$custom-forms-transition:               background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter:                 .5rem !default;\n$custom-control-spacer-x:               1rem !default;\n\n$custom-control-indicator-size:         1rem !default;\n$custom-control-indicator-bg:           $input-bg !default;\n\n$custom-control-indicator-bg-size:      50% 50% !default;\n$custom-control-indicator-box-shadow:   $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg:          $input-disabled-bg !default;\n$custom-control-label-disabled-color:           $gray-600 !default;\n\n$custom-control-indicator-checked-color:        $component-active-color !default;\n$custom-control-indicator-checked-bg:           $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg:  rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow:   none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow:     $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color:   $input-focus-border-color !default;\n\n$custom-control-indicator-active-color:         $component-active-color !default;\n$custom-control-indicator-active-bg:            lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow:    none !default;\n$custom-control-indicator-active-border-color:  $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius:       $border-radius !default;\n$custom-checkbox-indicator-icon-checked:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg:           $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color:        $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate:         str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow:   none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius:          50% !default;\n$custom-radio-indicator-icon-checked:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width:                           $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius:         $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size:                  calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y:           $input-padding-y !default;\n$custom-select-padding-x:           $input-padding-x !default;\n$custom-select-font-family:         $input-font-family !default;\n$custom-select-font-size:           $input-font-size !default;\n$custom-select-height:              $input-height !default;\n$custom-select-indicator-padding:   1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight:         $input-font-weight !default;\n$custom-select-line-height:         $input-line-height !default;\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $input-bg !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-bg-size:             8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color:     $gray-800 !default;\n$custom-select-indicator:           str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background:          $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position:      center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size:          $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width:        $input-border-width !default;\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-border-radius:       $border-radius !default;\n$custom-select-box-shadow:          inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color:  $input-focus-border-color !default;\n$custom-select-focus-width:         $input-focus-width !default;\n$custom-select-focus-box-shadow:    0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm:        $input-padding-y-sm !default;\n$custom-select-padding-x-sm:        $input-padding-x-sm !default;\n$custom-select-font-size-sm:        $input-font-size-sm !default;\n$custom-select-height-sm:           $input-height-sm !default;\n\n$custom-select-padding-y-lg:        $input-padding-y-lg !default;\n$custom-select-padding-x-lg:        $input-padding-x-lg !default;\n$custom-select-font-size-lg:        $input-font-size-lg !default;\n$custom-select-height-lg:           $input-height-lg !default;\n\n$custom-range-track-width:          100% !default;\n$custom-range-track-height:         .5rem !default;\n$custom-range-track-cursor:         pointer !default;\n$custom-range-track-bg:             $gray-300 !default;\n$custom-range-track-border-radius:  1rem !default;\n$custom-range-track-box-shadow:     inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width:                   1rem !default;\n$custom-range-thumb-height:                  $custom-range-thumb-width !default;\n$custom-range-thumb-bg:                      $component-active-bg !default;\n$custom-range-thumb-border:                  0 !default;\n$custom-range-thumb-border-radius:           1rem !default;\n$custom-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg:               lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg:             $gray-500 !default;\n\n$custom-file-height:                $input-height !default;\n$custom-file-height-inner:          $input-height-inner !default;\n$custom-file-focus-border-color:    $input-focus-border-color !default;\n$custom-file-focus-box-shadow:      $input-focus-box-shadow !default;\n$custom-file-disabled-bg:           $input-disabled-bg !default;\n\n$custom-file-padding-y:             $input-padding-y !default;\n$custom-file-padding-x:             $input-padding-x !default;\n$custom-file-line-height:           $input-line-height !default;\n$custom-file-font-family:           $input-font-family !default;\n$custom-file-font-weight:           $input-font-weight !default;\n$custom-file-color:                 $input-color !default;\n$custom-file-bg:                    $input-bg !default;\n$custom-file-border-width:          $input-border-width !default;\n$custom-file-border-color:          $input-border-color !default;\n$custom-file-border-radius:         $input-border-radius !default;\n$custom-file-box-shadow:            $input-box-shadow !default;\n$custom-file-button-color:          $custom-file-color !default;\n$custom-file-button-bg:             $input-group-addon-bg !default;\n$custom-file-text: (\n  en: \"Browse\"\n) !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:         theme-color(\"success\") !default;\n$form-feedback-invalid-color:       theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath 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'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !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$nav-divider-color:                 $gray-200 !default;\n$nav-divider-margin-y:              $spacer / 2 !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:       str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:      str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:         $nav-divider-margin-y !default;\n$dropdown-box-shadow:               0 .5rem 1rem rgba($black, .175) !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-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// Jumbotron\n\n$jumbotron-padding:                 2rem !default;\n$jumbotron-color:                   null !default;\n$jumbotron-bg:                      $gray-200 !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$card-columns-count:                3 !default;\n$card-columns-gap:                  1.25rem !default;\n$card-columns-margin:               $card-spacer-y !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-box-shadow:                0 .25rem .5rem rgba($black, .2) !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:               .25rem !default;\n$toast-box-shadow:                  0 .25rem .75rem rgba($black, .1) !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-padding-y:                   .25em !default;\n$badge-padding-x:                   .4em !default;\n$badge-border-radius:               $border-radius !default;\n\n$badge-transition:                  $btn-transition !default;\n$badge-focus-width:                 $input-btn-focus-width !default;\n\n$badge-pill-padding-x:              .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius:          10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding:               1rem !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-box-shadow-xs:       0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up:    0 .5rem 1rem rgba($black, .5) !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:               inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   theme-color(\"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:              0 1px 2px rgba($black, .075) !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:           .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:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg:      str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !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:                         $gray-900 !default;\n$pre-scrollable-max-height:         340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size:                   a3 !default;\n$print-body-min-width:              map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\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// 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// 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// 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    // Variables for storing static and fluid rescaling\n    $rfs-static: null;\n    $rfs-fluid: null;\n\n    // Remove px-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    @if $rfs-font-size-unit == rem {\n      $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n    }\n    @else if $rfs-font-size-unit == px {\n      $rfs-static: #{$fs}px#{$rfs-suffix};\n    }\n    @else {\n      @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n    }\n\n    // Only add media query if font-size is bigger as the minimum font-size\n    // If $rfs-factor == 1, no rescaling will take place\n    @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n      $min-width: null;\n      $variable-unit: null;\n\n      // Calculate minimum font-size for given font-size\n      $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n      // Calculate difference between given font-size and minimum font-size for given font-size\n      $fs-diff: $fs - $fs-min;\n\n      // Base font-size formatting\n      // No need to check if the unit is valid, because we did that before\n      $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n      // If two-dimensional, use smallest of screen width and height\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\n    // Rendering\n    @if $rfs-fluid == null {\n      // Only render static font-size if no fluid font-size is available\n      font-size: $rfs-static;\n    }\n    @else {\n      $mq-value: null;\n\n      // RFS breakpoint formatting\n      @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n        $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n      }\n      @else if $rfs-breakpoint-unit == px {\n        $mq-value: #{$rfs-breakpoint}px;\n      }\n      @else {\n        @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n      }\n\n      @if $rfs-class == \"disable\" {\n        // Adding an extra class increases specificity,\n        // which prevents the media query to override the font size\n        &,\n        .disable-responsive-font-size &,\n        &.disable-responsive-font-size {\n          font-size: $rfs-static;\n        }\n      }\n      @else {\n        font-size: $rfs-static;\n      }\n\n      @if $rfs-two-dimensional {\n        @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n      @else {\n        @media (max-width: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n    }\n  }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\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","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n  &:hover { @content; }\n}\n\n@mixin hover-focus {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: $headings-margin-bottom;\n  font-family: $headings-font-family;\n  font-weight: $headings-font-weight;\n  line-height: $headings-line-height;\n  color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\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//\n// Horizontal rules\n//\n\nhr {\n  margin-top: $hr-margin-y;\n  margin-bottom: $hr-margin-y;\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n  @include font-size($small-font-size);\n  font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n  padding: $mark-padding;\n  background-color: $mark-bg;\n}\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\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n  background-image: url($file-1x);\n\n  // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n  // but doesn't convert dppx=>dpi.\n  // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n  // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n  @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n    only screen and (min-resolution: 2dppx) { // Standardized\n    background-image: url($file-2x);\n    background-size: $width-1x $height-1x;\n  }\n  @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\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","// Inline code\ncode {\n  @include font-size($code-font-size);\n  color: $code-color;\n  word-break: break-word;\n\n  // Streamline the style when inside anchors to avoid broken underline and more\n  a > & {\n    color: inherit;\n  }\n}\n\n// User input typically entered via keyboard\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  @include box-shadow($kbd-box-shadow);\n\n  kbd {\n    padding: 0;\n    @include font-size(100%);\n    font-weight: $nested-kbd-font-weight;\n    @include box-shadow(none);\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\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\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: $pre-scrollable-max-height;\n  overflow-y: scroll;\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  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of 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($gutter: $grid-gutter-width) {\n  width: 100%;\n  padding-right: $gutter / 2;\n  padding-left: $gutter / 2;\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  @return if($n != null and $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      .order#{$infix}-first { order: -1; }\n\n      .order#{$infix}-last { order: $columns + 1; }\n\n      @for $i from 0 through $columns {\n        .order#{$infix}-#{$i} { order: $i; }\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  background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n  th,\n  td {\n    padding: $table-cell-padding;\n    vertical-align: top;\n    border-top: $table-border-width solid $table-border-color;\n  }\n\n  thead th {\n    vertical-align: bottom;\n    border-bottom: (2 * $table-border-width) solid $table-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    @include 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, theme-color-level($color, $table-bg-level), theme-color-level($color, $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(odd) {\n      background-color: $table-dark-accent-bg;\n    }\n  }\n\n  &.table-hover {\n    tbody tr {\n      @include 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      @include 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) == \"%\" {\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// 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// 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  @if ($yiq >= $yiq-contrasted-threshold) {\n    @return $dark;\n  } @else {\n    @return $light;\n  }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n  @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n  @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n  @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n  $color: theme-color($color-name);\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","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n  display: block;\n  width: 100%;\n  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  @include form-control-focus();\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    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n    opacity: 1;\n  }\n}\n\nselect.form-control {\n  &:focus::-ms-value {\n    // Suppress the nested 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, as it looks bad and cannot be made to\n    // match the appearance of the native widget.\n    // See https://github.com/twbs/bootstrap/issues/19398.\n    color: $input-color;\n    background-color: $input-bg;\n  }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\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\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-top: $input-padding-y;\n  padding-bottom: $input-padding-y;\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\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  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  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// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n  &[size],\n  &[multiple] {\n    height: auto;\n  }\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n  display: block;\n  margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\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// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: $form-check-input-margin-y;\n  margin-left: -$form-check-input-gutter;\n\n  &:disabled ~ .form-check-label {\n    color: $text-muted;\n  }\n}\n\n.form-check-label {\n  margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  padding-left: 0; // Override base .form-check\n  margin-right: $form-check-inline-margin-x;\n\n  // Undo .form-check-input defaults and add some `margin-right`.\n  .form-check-input {\n    position: static;\n    margin-top: 0;\n    margin-right: $form-check-inline-input-margin-x;\n    margin-left: 0;\n  }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n  @include form-validation-state($state, map-get($data, color), map-get($data, icon));\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    .custom-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    .custom-control {\n      align-items: center;\n      justify-content: center;\n    }\n    .custom-control-label {\n      margin-bottom: 0;\n    }\n  }\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","// 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() {\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\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    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        padding-right: $input-height-inner;\n        background-image: $icon;\n        background-repeat: no-repeat;\n        background-position: center right $input-height-inner-quarter;\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    .was-validated &:#{$state},\n    &.is-#{$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  .custom-select {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        padding-right: $custom-select-feedback-icon-padding-right;\n        background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-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    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n  .form-check-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .form-check-label {\n        color: $color;\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n  .custom-control-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-control-label {\n        color: $color;\n\n        &::before {\n          border-color: $color;\n        }\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n\n      &:checked {\n        ~ .custom-control-label::before {\n          border-color: lighten($color, 10%);\n          @include gradient-bg(lighten($color, 10%));\n        }\n      }\n\n      &:focus {\n        ~ .custom-control-label::before {\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n\n        &:not(:checked) ~ .custom-control-label::before {\n          border-color: $color;\n        }\n      }\n    }\n  }\n\n  // custom file\n  .custom-file-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-file-label {\n        border-color: $color;\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n\n      &:focus {\n        ~ .custom-file-label {\n          border-color: $color;\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n      }\n    }\n  }\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","// 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  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  @include 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: $link-color;\n  text-decoration: $link-decoration;\n\n  @include hover {\n    color: $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\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\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  @include 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    // 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  @include 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  position: relative;\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  float: left;\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  @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);\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  @include hover-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","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {\n  height: 0;\n  margin: $margin-y 0;\n  overflow: hidden;\n  border-top: 1px solid $color;\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    @include hover {\n      z-index: 1;\n    }\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","// 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-control-plaintext,\n  > .custom-select,\n  > .custom-file {\n    position: relative; // For focus state's z-index\n    flex: 1 1 auto;\n    // Add width 1% and flex-basis auto to ensure that button will not wrap out\n    // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n    width: 1%;\n    margin-bottom: 0;\n\n    + .form-control,\n    + .custom-select,\n    + .custom-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  > .custom-select:focus,\n  > .custom-file .custom-file-input:focus ~ .custom-file-label {\n    z-index: 3;\n  }\n\n  // Bring the custom file input above the label\n  > .custom-file .custom-file-input:focus {\n    z-index: 4;\n  }\n\n  > .form-control,\n  > .custom-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  > .custom-file {\n    display: flex;\n    align-items: center;\n\n    &:not(:last-child) .custom-file-label,\n    &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n    &:not(:first-child) .custom-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:not(textarea),\n.input-group-lg > .custom-select {\n  height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-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:not(textarea),\n.input-group-sm > .custom-select {\n  height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-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 > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: $custom-select-padding-x + $custom-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","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n  position: relative;\n  display: block;\n  min-height: $font-size-base * $line-height-base;\n  padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n  display: inline-flex;\n  margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1; // Put the input behind the label so it doesn't overlay text\n  opacity: 0;\n\n  &:checked ~ .custom-control-label::before {\n    color: $custom-control-indicator-checked-color;\n    border-color: $custom-control-indicator-checked-border-color;\n    @include gradient-bg($custom-control-indicator-checked-bg);\n    @include box-shadow($custom-control-indicator-checked-box-shadow);\n  }\n\n  &:focus ~ .custom-control-label::before {\n    // the mixin is not used here to make sure there is feedback\n    @if $enable-shadows {\n      box-shadow: $input-box-shadow, $input-focus-box-shadow;\n    } @else {\n      box-shadow: $custom-control-indicator-focus-box-shadow;\n    }\n  }\n\n  &:focus:not(:checked) ~ .custom-control-label::before {\n    border-color: $custom-control-indicator-focus-border-color;\n  }\n\n  &:not(:disabled):active ~ .custom-control-label::before {\n    color: $custom-control-indicator-active-color;\n    background-color: $custom-control-indicator-active-bg;\n    border-color: $custom-control-indicator-active-border-color;\n    @include box-shadow($custom-control-indicator-active-box-shadow);\n  }\n\n  &:disabled {\n    ~ .custom-control-label {\n      color: $custom-control-label-disabled-color;\n\n      &::before {\n        background-color: $custom-control-indicator-disabled-bg;\n      }\n    }\n  }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n\n  // Background-color and (when enabled) gradient\n  &::before {\n    position: absolute;\n    top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n    left: -($custom-control-gutter + $custom-control-indicator-size);\n    display: block;\n    width: $custom-control-indicator-size;\n    height: $custom-control-indicator-size;\n    pointer-events: none;\n    content: \"\";\n    background-color: $custom-control-indicator-bg;\n    border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n    @include box-shadow($custom-control-indicator-box-shadow);\n  }\n\n  // Foreground (icon)\n  &::after {\n    position: absolute;\n    top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n    left: -($custom-control-gutter + $custom-control-indicator-size);\n    display: block;\n    width: $custom-control-indicator-size;\n    height: $custom-control-indicator-size;\n    content: \"\";\n    background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n  }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n  .custom-control-label::before {\n    @include border-radius($custom-checkbox-indicator-border-radius);\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-image: $custom-checkbox-indicator-icon-checked;\n    }\n  }\n\n  .custom-control-input:indeterminate ~ .custom-control-label {\n    &::before {\n      border-color: $custom-checkbox-indicator-indeterminate-border-color;\n      @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n      @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n    }\n    &::after {\n      background-image: $custom-checkbox-indicator-icon-indeterminate;\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n    &:indeterminate ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n  .custom-control-label::before {\n    // stylelint-disable-next-line property-blacklist\n    border-radius: $custom-radio-indicator-border-radius;\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-image: $custom-radio-indicator-icon-checked;\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n  padding-left: $custom-switch-width + $custom-control-gutter;\n\n  .custom-control-label {\n    &::before {\n      left: -($custom-switch-width + $custom-control-gutter);\n      width: $custom-switch-width;\n      pointer-events: all;\n      // stylelint-disable-next-line property-blacklist\n      border-radius: $custom-switch-indicator-border-radius;\n    }\n\n    &::after {\n      top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});\n      left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});\n      width: $custom-switch-indicator-size;\n      height: $custom-switch-indicator-size;\n      background-color: $custom-control-indicator-border-color;\n      // stylelint-disable-next-line property-blacklist\n      border-radius: $custom-switch-indicator-border-radius;\n      @include transition(transform .15s ease-in-out, $custom-forms-transition);\n    }\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-color: $custom-control-indicator-bg;\n      transform: translateX($custom-switch-width - $custom-control-indicator-size);\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: $custom-select-height;\n  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n  font-family: $custom-select-font-family;\n  @include font-size($custom-select-font-size);\n  font-weight: $custom-select-font-weight;\n  line-height: $custom-select-line-height;\n  color: $custom-select-color;\n  vertical-align: middle;\n  background: $custom-select-background;\n  background-color: $custom-select-bg;\n  border: $custom-select-border-width solid $custom-select-border-color;\n  @include border-radius($custom-select-border-radius, 0);\n  @include box-shadow($custom-select-box-shadow);\n  appearance: none;\n\n  &:focus {\n    border-color: $custom-select-focus-border-color;\n    outline: 0;\n    @if $enable-shadows {\n      box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;\n    } @else {\n      box-shadow: $custom-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: $custom-select-padding-x;\n    background-image: none;\n  }\n\n  &:disabled {\n    color: $custom-select-disabled-color;\n    background-color: $custom-select-disabled-bg;\n  }\n\n  // Hides the default caret in IE11\n  &::-ms-expand {\n    display: none;\n  }\n}\n\n.custom-select-sm {\n  height: $custom-select-height-sm;\n  padding-top: $custom-select-padding-y-sm;\n  padding-bottom: $custom-select-padding-y-sm;\n  padding-left: $custom-select-padding-x-sm;\n  @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n  height: $custom-select-height-lg;\n  padding-top: $custom-select-padding-y-lg;\n  padding-bottom: $custom-select-padding-y-lg;\n  padding-left: $custom-select-padding-x-lg;\n  @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: $custom-file-height;\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: $custom-file-height;\n  margin: 0;\n  opacity: 0;\n\n  &:focus ~ .custom-file-label {\n    border-color: $custom-file-focus-border-color;\n    box-shadow: $custom-file-focus-box-shadow;\n  }\n\n  &:disabled ~ .custom-file-label {\n    background-color: $custom-file-disabled-bg;\n  }\n\n  @each $lang, $value in $custom-file-text {\n    &:lang(#{$lang}) ~ .custom-file-label::after {\n      content: $value;\n    }\n  }\n\n  ~ .custom-file-label[data-browse]::after {\n    content: attr(data-browse);\n  }\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: $custom-file-height;\n  padding: $custom-file-padding-y $custom-file-padding-x;\n  font-family: $custom-file-font-family;\n  font-weight: $custom-file-font-weight;\n  line-height: $custom-file-line-height;\n  color: $custom-file-color;\n  background-color: $custom-file-bg;\n  border: $custom-file-border-width solid $custom-file-border-color;\n  @include border-radius($custom-file-border-radius);\n  @include box-shadow($custom-file-box-shadow);\n\n  &::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 3;\n    display: block;\n    height: $custom-file-height-inner;\n    padding: $custom-file-padding-y $custom-file-padding-x;\n    line-height: $custom-file-line-height;\n    color: $custom-file-button-color;\n    content: \"Browse\";\n    @include gradient-bg($custom-file-button-bg);\n    border-left: inherit;\n    @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n  }\n}\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.custom-range {\n  width: 100%;\n  height: calc(#{$custom-range-thumb-height} + #{$custom-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: $custom-range-thumb-focus-box-shadow; }\n    &::-moz-range-thumb     { box-shadow: $custom-range-thumb-focus-box-shadow; }\n    &::-ms-thumb            { box-shadow: $custom-range-thumb-focus-box-shadow; }\n  }\n\n  &::-moz-focus-outer {\n    border: 0;\n  }\n\n  &::-webkit-slider-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-webkit-slider-runnable-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent; // Why?\n    cursor: $custom-range-track-cursor;\n    background-color: $custom-range-track-bg;\n    border-color: transparent;\n    @include border-radius($custom-range-track-border-radius);\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-moz-range-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-moz-range-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent;\n    cursor: $custom-range-track-cursor;\n    background-color: $custom-range-track-bg;\n    border-color: transparent; // Firefox specific?\n    @include border-radius($custom-range-track-border-radius);\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-ms-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    margin-top: 0; // Edge specific\n    margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n    margin-left: $custom-range-thumb-focus-box-shadow-width;  // Workaround that overflowed box-shadow is hidden.\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-ms-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent;\n    cursor: $custom-range-track-cursor;\n    background-color: transparent;\n    border-color: transparent;\n    border-width: $custom-range-thumb-height / 2;\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-ms-fill-lower {\n    background-color: $custom-range-track-bg;\n    @include border-radius($custom-range-track-border-radius);\n  }\n\n  &::-ms-fill-upper {\n    margin-right: 15px; // arbitrary?\n    background-color: $custom-range-track-bg;\n    @include border-radius($custom-range-track-border-radius);\n  }\n\n  &:disabled {\n    &::-webkit-slider-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n\n    &::-webkit-slider-runnable-track {\n      cursor: default;\n    }\n\n    &::-moz-range-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n\n    &::-moz-range-track {\n      cursor: default;\n    }\n\n    &::-ms-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n  }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`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  @include hover-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    @include hover-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,\n  > .container-fluid {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\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  @include hover-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    float: none;\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  @include hover-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,\n        > .container-fluid {\n          padding-right: 0;\n          padding-left: 0;\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,\n        > .container-fluid {\n          flex-wrap: nowrap;\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    @include hover-focus {\n      color: $navbar-light-brand-hover-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-light-color;\n\n      @include hover-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: $navbar-light-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-light-color;\n    a {\n      color: $navbar-light-active-color;\n\n      @include hover-focus {\n        color: $navbar-light-active-color;\n      }\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    @include hover-focus {\n      color: $navbar-dark-brand-hover-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-dark-color;\n\n      @include hover-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: $navbar-dark-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-dark-color;\n    a {\n      color: $navbar-dark-active-color;\n\n      @include hover-focus {\n        color: $navbar-dark-active-color;\n      }\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  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  @include 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\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// Columns\n//\n\n.card-columns {\n  .card {\n    margin-bottom: $card-columns-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    column-count: $card-columns-count;\n    column-gap: $card-columns-gap;\n    orphans: 1;\n    widows: 1;\n\n    .card {\n      display: inline-block; // Don't let them vertically span multiple columns\n      width: 100%; // Don't let their width change\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 {\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;\n\n    &::before {\n      display: inline-block; // Suppress underlining of the separator in modern browsers\n      padding-right: $breadcrumb-item-padding;\n      color: $breadcrumb-divider-color;\n      content: $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  @include border-radius();\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: $pagination-padding-y $pagination-padding-x;\n  margin-left: -$pagination-border-width;\n  line-height: $pagination-line-height;\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: 2;\n    outline: $pagination-focus-outline;\n    box-shadow: $pagination-focus-box-shadow;\n  }\n}\n\n.page-item {\n  &:first-child {\n    .page-link {\n      margin-left: 0;\n      @include border-left-radius($border-radius);\n    }\n  }\n  &:last-child {\n    .page-link {\n      @include border-right-radius($border-radius);\n    }\n  }\n\n  &.active .page-link {\n    z-index: 1;\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\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    &:first-child {\n      .page-link {\n        @include border-left-radius($border-radius);\n      }\n    }\n    &:last-child {\n      .page-link {\n        @include border-right-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  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  @include border-radius($badge-border-radius);\n  @include transition($badge-transition);\n\n  @at-root a#{&} {\n    @include hover-focus {\n      text-decoration: none;\n    }\n  }\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// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n  padding-right: $badge-pill-padding-x;\n  padding-left: $badge-pill-padding-x;\n  @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n  .badge-#{$color} {\n    @include badge-variant($value);\n  }\n}\n","@mixin badge-variant($bg) {\n  color: color-yiq($bg);\n  background-color: $bg;\n\n  @at-root a#{&} {\n    @include hover-focus {\n      color: color-yiq($bg);\n      background-color: darken($bg, 10%);\n    }\n\n    &:focus,\n    &.focus {\n      outline: 0;\n      box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n    }\n  }\n}\n",".jumbotron {\n  padding: $jumbotron-padding ($jumbotron-padding / 2);\n  margin-bottom: $jumbotron-padding;\n  color: $jumbotron-color;\n  background-color: $jumbotron-bg;\n  @include border-radius($border-radius-lg);\n\n  @include media-breakpoint-up(sm) {\n    padding: ($jumbotron-padding * 2) $jumbotron-padding;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  @include border-radius(0);\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(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $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  hr {\n    border-top-color: darken($border, 5%);\n  }\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    from { background-position: $progress-height 0; }\n    to { background-position: 0 0; }\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    @media (prefers-reduced-motion: reduce) {\n      animation: none;\n    }\n  }\n}\n",".media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\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  @include hover-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  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -$list-group-border-width;\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    margin-bottom: 0;\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\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        margin-right: -$list-group-border-width;\n        margin-bottom: 0;\n\n        &:first-child {\n          @include border-left-radius($list-group-border-radius);\n          @include border-top-right-radius(0);\n        }\n\n        &:last-child {\n          margin-right: 0;\n          @include border-right-radius($list-group-border-radius);\n          @include border-bottom-left-radius(0);\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: 0;\n    border-left: 0;\n    @include border-radius(0);\n\n    &:last-child {\n      margin-bottom: -$list-group-border-width;\n    }\n  }\n\n  &:first-child {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n\n  &:last-child {\n    .list-group-item:last-child {\n      margin-bottom: 0;\n      border-bottom: 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, theme-color-level($color, -9), theme-color-level($color, 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      @include hover-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  float: right;\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  @include hover {\n    color: $close-color;\n    text-decoration: none;\n  }\n\n  &:not(:disabled):not(.disabled) {\n    @include hover-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-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 should there 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  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;\n  border-top: $modal-footer-border-width solid $modal-footer-border-color;\n  @include border-bottom-radius($modal-content-border-radius);\n\n  // Easily place margin between footer elements\n  > :not(:first-child) { margin-left: .25rem; }\n  > :not(:last-child) { margin-right: .25rem; }\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  .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  .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  .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  .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  .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  .arrow {\n    position: absolute;\n    display: block;\n    width: $popover-arrow-width;\n    height: $popover-arrow-height;\n    margin: 0 $border-radius-lg;\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  > .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  > .arrow {\n    left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n    width: $popover-arrow-height;\n    height: $popover-arrow-width;\n    margin: $border-radius-lg 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  > .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  > .arrow {\n    right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n    width: $popover-arrow-height;\n    height: $popover-arrow-width;\n    margin: $border-radius-lg 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  $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n  @include border-top-radius($offset-border-width);\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(0s $carousel-transition-duration opacity);\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  @include hover-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: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n  }\n}\n.carousel-control-next {\n  right: 0;\n  @if $enable-gradients {\n    background: 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: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n  background-image: $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: 15;\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  z-index: 10;\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","// stylelint-disable declaration-no-important\n\n.align-baseline    { vertical-align: baseline !important; } // Browser default\n.align-top         { vertical-align: top !important; }\n.align-middle      { vertical-align: middle !important; }\n.align-bottom      { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top    { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    background-color: $color !important;\n  }\n  a#{$parent},\n  button#{$parent} {\n    @include hover-focus {\n      background-color: darken($color, 10%) !important;\n    }\n  }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n  #{$parent} {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n  @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n  @each $color, $value in $theme-colors {\n    @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n  }\n}\n\n.bg-white {\n  background-color: $white !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border         { border: $border-width solid $border-color !important; }\n.border-top     { border-top: $border-width solid $border-color !important; }\n.border-right   { border-right: $border-width solid $border-color !important; }\n.border-bottom  { border-bottom: $border-width solid $border-color !important; }\n.border-left    { border-left: $border-width solid $border-color !important; }\n\n.border-0        { border: 0 !important; }\n.border-top-0    { border-top: 0 !important; }\n.border-right-0  { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0   { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n  .border-#{$color} {\n    border-color: $value !important;\n  }\n}\n\n.border-white {\n  border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n  border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n  border-radius: $border-radius !important;\n}\n\n.rounded-top {\n  border-top-left-radius: $border-radius !important;\n  border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n  border-top-right-radius: $border-radius !important;\n  border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n  border-top-left-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n  border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\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    @each $value in $displays {\n      .d#{$infix}-#{$value} { display: $value !important; }\n    }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n  @each $value in $displays {\n    .d-print-#{$value} { display: $value !important; }\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\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    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n  $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n  $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n  .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n    &::before {\n      padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n    .flex#{$infix}-fill         { flex: 1 1 auto !important; }\n    .flex#{$infix}-grow-0       { flex-grow: 0 !important; }\n    .flex#{$infix}-grow-1       { flex-grow: 1 !important; }\n    .flex#{$infix}-shrink-0     { flex-shrink: 0 !important; }\n    .flex#{$infix}-shrink-1     { flex-shrink: 1 !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .float#{$infix}-left  { float: left !important; }\n    .float#{$infix}-right { float: right !important; }\n    .float#{$infix}-none  { float: none !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n  .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n  .position-#{$position} { position: $position !important; }\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.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  @include sr-only();\n}\n\n.sr-only-focusable {\n  @include sr-only-focusable();\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;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n// Use in conjunction with .sr-only 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// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    overflow: visible;\n    clip: auto;\n    white-space: normal;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n  @each $size, $length in $sizes {\n    .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n  }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","//\n// Stretched link\n//\n\n.stretched-link {\n  &::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: 1;\n    // Just in case `pointer-events: none` is set on a parent\n    pointer-events: auto;\n    content: \"\";\n    // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n    background-color: rgba(0, 0, 0, 0);\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n    @each $size, $length in $spacers {\n      @if $size != 0 {\n        .m#{$infix}-n#{$size} { margin: -$length !important; }\n        .mt#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-top: -$length !important;\n        }\n        .mr#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-right: -$length !important;\n        }\n        .mb#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-bottom: -$length !important;\n        }\n        .ml#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-left: -$length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify  { text-align: justify !important; }\n.text-wrap     { white-space: normal !important; }\n.text-nowrap   { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .text#{$infix}-left   { text-align: left !important; }\n    .text#{$infix}-right  { text-align: right !important; }\n    .text#{$infix}-center { text-align: center !important; }\n  }\n}\n\n// Transformation\n\n.text-lowercase  { text-transform: lowercase !important; }\n.text-uppercase  { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light   { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal  { font-weight: $font-weight-normal !important; }\n.font-weight-bold    { font-weight: $font-weight-bold !important; }\n.font-weight-bolder  { font-weight: $font-weight-bolder !important; }\n.font-italic         { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n  @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n  @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n  word-break: break-word !important; // IE & < Edge 18\n  overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\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","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $color !important;\n  }\n  @if $emphasized-link-hover-darken-percentage != 0 {\n    a#{$parent} {\n      @include hover-focus {\n        color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n      }\n    }\n  }\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n  // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n\n  @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n  @media print {\n    *,\n    *::before,\n    *::after {\n      // Bootstrap specific; comment out `color` and `background`\n      //color: $black !important; // Black prints faster\n      text-shadow: none !important;\n      //background: transparent !important;\n      box-shadow: none !important;\n    }\n\n    a {\n      &:not(.btn) {\n        text-decoration: underline;\n      }\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //a[href]::after {\n    //  content: \" (\" attr(href) \")\";\n    //}\n\n    abbr[title]::after {\n      content: \" (\" attr(title) \")\";\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    //\n\n    //a[href^=\"#\"]::after,\n    //a[href^=\"javascript:\"]::after {\n    // content: \"\";\n    //}\n\n    pre {\n      white-space: pre-wrap !important;\n    }\n    pre,\n    blockquote {\n      border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n      page-break-inside: avoid;\n    }\n\n    //\n    // Printing Tables:\n    // http://css-discuss.incutio.com/wiki/Printing_Tables\n    //\n\n    thead {\n      display: table-header-group;\n    }\n\n    tr,\n    img {\n      page-break-inside: avoid;\n    }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    h2,\n    h3 {\n      page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Specify a size and min-width to make printing closer across browsers.\n    // We don't set margin here because it breaks `size` in Chrome. We also\n    // don't use `!important` on `size` as it breaks in Chrome.\n    @page {\n      size: $print-page-size;\n    }\n    body {\n      min-width: $print-body-min-width !important;\n    }\n    .container {\n      min-width: $print-body-min-width !important;\n    }\n\n    // Bootstrap components\n    .navbar {\n      display: none;\n    }\n    .badge {\n      border: $border-width solid $black;\n    }\n\n    .table {\n      border-collapse: collapse !important;\n\n      td,\n      th {\n        background-color: $white !important;\n      }\n    }\n\n    .table-bordered {\n      th,\n      td {\n        border: 1px solid $gray-300 !important;\n      }\n    }\n\n    .table-dark {\n      color: inherit;\n\n      th,\n      td,\n      thead th,\n      tbody + tbody {\n        border-color: $table-border-color;\n      }\n    }\n\n    .table .thead-dark th {\n      color: inherit;\n      border-color: $table-border-color;\n    }\n\n    // Bootstrap specific changes end\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css
deleted file mode 100644
index 92e3fe8..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */:root{--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;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}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;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}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;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}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;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{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}.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}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.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}code{font-size:87.5%;color:#e83e8c;word-break: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}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.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{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.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}.form-control{display:block;width:100%;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}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.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-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left: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:center right calc(.375em + .1875rem);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)}.custom-select.is-valid,.was-validated .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,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)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-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~.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}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);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)}.custom-select.is-invalid,.was-validated .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-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~.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}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;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{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{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{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{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{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{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{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{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}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;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;float:left;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:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.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{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;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}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;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:-ms-flexbox;display:flex;-ms-flex-align:center;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>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-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:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-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){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#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){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.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){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;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{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;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{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;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{-ms-flex:1 1 auto;flex:1 1 auto;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:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.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{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:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;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:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;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:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;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}.page-item.active .page-link{z-index:1;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}.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 .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;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){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.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 hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;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}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;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:-1px;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{margin-bottom:0;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-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#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{float:right;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 .25rem .75rem rgba(0,0,0,.1);-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:-ms-flexbox;display:flex;-ms-flex-align:center;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:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;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{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;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:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.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 .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.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] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .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] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .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] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .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 .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.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]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.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]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.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]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.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{-ms-touch-action:pan-y;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:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-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){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack: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.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;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%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{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%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{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}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#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}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!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-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!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}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-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{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .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}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css.map b/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css.map
deleted file mode 100644
index 1e9cb78..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/css/bootstrap.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.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.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.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/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.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@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\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@import \"utilities\";\n@import \"print\";\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  @each $bp, $value in $grid-breakpoints {\n    --breakpoint-#{$bp}: #{$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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box; // 1\n}\n\nhtml {\n  font-family: sans-serif; // 2\n  line-height: 1.15; // 3\n  -webkit-text-size-adjust: 100%; // 4\n  -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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. Set an explicit initial text-align value so that we can later use\n//    the `inherit` value on things like `<th>` elements.\n\nbody {\n  margin: 0; // 1\n  font-family: $font-family-base;\n  @include font-size($font-size-base);\n  font-weight: $font-weight-base;\n  line-height: $line-height-base;\n  color: $body-color;\n  text-align: left; // 3\n  background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n  box-sizing: content-box; // 1\n  height: 0; // 1\n  overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\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// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: $headings-margin-bottom;\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`.\np {\n  margin-top: 0;\n  margin-bottom: $paragraph-margin-bottom;\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. Remove the bottom border in Firefox 39-.\n// 5. 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  border-bottom: 0; // 4\n  text-decoration-skip-ink: none; // 5\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\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\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // Undo browser default\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n  @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\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//\n// Links\n//\n\na {\n  color: $link-color;\n  text-decoration: $link-decoration;\n  background-color: transparent; // Remove the gray background on active links in IE 10.\n\n  @include 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// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n\n  @include hover-focus {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  &:focus {\n    outline: 0;\n  }\n}\n\n\n//\n// Code\n//\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\npre {\n  // Remove browser default top margin\n  margin-top: 0;\n  // Reset browser default of `1em` to use `rem`s\n  margin-bottom: 1rem;\n  // Don't allow content to break outside\n  overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n  // Apply a consistent margin strategy (matches our type styles).\n  margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n  vertical-align: middle;\n  border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n  // Workaround for the SVG overflow bug in IE10/11 is still required.\n  // See https://github.com/twbs/bootstrap/issues/26878\n  overflow: hidden;\n  vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n  border-collapse: collapse; // Prevent double borders\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\nth {\n  // Matches default `<td>` alignment by inheriting from the `<body>`, or the\n  // closest parent with a set `text-align`.\n  text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n  // Allow labels to use `margin` for spacing.\n  display: inline-block;\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\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/\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // Remove the margin in Firefox and Safari\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n  text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n  word-wrap: normal;\n}\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.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n  button,\n  [type=\"button\"],\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    &:not(:disabled) {\n      cursor: pointer;\n    }\n  }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n  padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\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  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto; // Remove the default vertical scrollbar in IE.\n  // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n  resize: vertical;\n}\n\nfieldset {\n  // 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  min-width: 0;\n  // Reset the default outline behavior of fieldsets so they don't affect page layout.\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%; // 1\n  padding: 0;\n  margin-bottom: .5rem;\n  @include font-size(1.5rem);\n  line-height: inherit;\n  color: inherit; // 2\n  white-space: normal; // 1\n}\n\nprogress {\n  vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  // 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  outline-offset: -2px; // 2. Correct the outline style in Safari.\n  -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n  font: inherit; // 2\n  -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item; // Add the correct display in all browsers\n  cursor: pointer;\n}\n\ntemplate {\n  display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\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  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\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\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\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\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\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-break: 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\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529;\n}\n\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\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 {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n.row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\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  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.col-auto {\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: auto;\n  max-width: 100%;\n}\n\n.col-1 {\n  -ms-flex: 0 0 8.333333%;\n  flex: 0 0 8.333333%;\n  max-width: 8.333333%;\n}\n\n.col-2 {\n  -ms-flex: 0 0 16.666667%;\n  flex: 0 0 16.666667%;\n  max-width: 16.666667%;\n}\n\n.col-3 {\n  -ms-flex: 0 0 25%;\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  -ms-flex: 0 0 33.333333%;\n  flex: 0 0 33.333333%;\n  max-width: 33.333333%;\n}\n\n.col-5 {\n  -ms-flex: 0 0 41.666667%;\n  flex: 0 0 41.666667%;\n  max-width: 41.666667%;\n}\n\n.col-6 {\n  -ms-flex: 0 0 50%;\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  -ms-flex: 0 0 58.333333%;\n  flex: 0 0 58.333333%;\n  max-width: 58.333333%;\n}\n\n.col-8 {\n  -ms-flex: 0 0 66.666667%;\n  flex: 0 0 66.666667%;\n  max-width: 66.666667%;\n}\n\n.col-9 {\n  -ms-flex: 0 0 75%;\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  -ms-flex: 0 0 83.333333%;\n  flex: 0 0 83.333333%;\n  max-width: 83.333333%;\n}\n\n.col-11 {\n  -ms-flex: 0 0 91.666667%;\n  flex: 0 0 91.666667%;\n  max-width: 91.666667%;\n}\n\n.col-12 {\n  -ms-flex: 0 0 100%;\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  -ms-flex-order: -1;\n  order: -1;\n}\n\n.order-last {\n  -ms-flex-order: 13;\n  order: 13;\n}\n\n.order-0 {\n  -ms-flex-order: 0;\n  order: 0;\n}\n\n.order-1 {\n  -ms-flex-order: 1;\n  order: 1;\n}\n\n.order-2 {\n  -ms-flex-order: 2;\n  order: 2;\n}\n\n.order-3 {\n  -ms-flex-order: 3;\n  order: 3;\n}\n\n.order-4 {\n  -ms-flex-order: 4;\n  order: 4;\n}\n\n.order-5 {\n  -ms-flex-order: 5;\n  order: 5;\n}\n\n.order-6 {\n  -ms-flex-order: 6;\n  order: 6;\n}\n\n.order-7 {\n  -ms-flex-order: 7;\n  order: 7;\n}\n\n.order-8 {\n  -ms-flex-order: 8;\n  order: 8;\n}\n\n.order-9 {\n  -ms-flex-order: 9;\n  order: 9;\n}\n\n.order-10 {\n  -ms-flex-order: 10;\n  order: 10;\n}\n\n.order-11 {\n  -ms-flex-order: 11;\n  order: 11;\n}\n\n.order-12 {\n  -ms-flex-order: 12;\n  order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-sm-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-sm-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-sm-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-sm-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-sm-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-sm-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-sm-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-sm-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-sm-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-sm-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-sm-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-sm-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-sm-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-sm-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-sm-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-sm-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-sm-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-sm-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-sm-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-sm-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-sm-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-sm-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-sm-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-sm-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-sm-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-sm-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-sm-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-sm-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-md-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-md-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-md-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-md-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-md-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-md-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-md-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-md-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-md-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-md-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-md-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-md-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-md-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-md-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-md-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-md-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-md-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-md-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-md-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-md-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-md-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-md-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-md-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-md-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-md-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-md-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-md-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-md-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-lg-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-lg-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-lg-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-lg-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-lg-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-lg-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-lg-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-lg-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-lg-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-lg-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-lg-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-lg-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-lg-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-lg-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-lg-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-lg-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-lg-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-lg-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-lg-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-lg-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-lg-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-lg-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-lg-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-lg-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-lg-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-lg-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-lg-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-lg-12 {\n    -ms-flex-order: 12;\n    order: 12;\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    -ms-flex-preferred-size: 0;\n    flex-basis: 0;\n    -ms-flex-positive: 1;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n  .col-xl-auto {\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n  .col-xl-1 {\n    -ms-flex: 0 0 8.333333%;\n    flex: 0 0 8.333333%;\n    max-width: 8.333333%;\n  }\n  .col-xl-2 {\n    -ms-flex: 0 0 16.666667%;\n    flex: 0 0 16.666667%;\n    max-width: 16.666667%;\n  }\n  .col-xl-3 {\n    -ms-flex: 0 0 25%;\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n  .col-xl-4 {\n    -ms-flex: 0 0 33.333333%;\n    flex: 0 0 33.333333%;\n    max-width: 33.333333%;\n  }\n  .col-xl-5 {\n    -ms-flex: 0 0 41.666667%;\n    flex: 0 0 41.666667%;\n    max-width: 41.666667%;\n  }\n  .col-xl-6 {\n    -ms-flex: 0 0 50%;\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n  .col-xl-7 {\n    -ms-flex: 0 0 58.333333%;\n    flex: 0 0 58.333333%;\n    max-width: 58.333333%;\n  }\n  .col-xl-8 {\n    -ms-flex: 0 0 66.666667%;\n    flex: 0 0 66.666667%;\n    max-width: 66.666667%;\n  }\n  .col-xl-9 {\n    -ms-flex: 0 0 75%;\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n  .col-xl-10 {\n    -ms-flex: 0 0 83.333333%;\n    flex: 0 0 83.333333%;\n    max-width: 83.333333%;\n  }\n  .col-xl-11 {\n    -ms-flex: 0 0 91.666667%;\n    flex: 0 0 91.666667%;\n    max-width: 91.666667%;\n  }\n  .col-xl-12 {\n    -ms-flex: 0 0 100%;\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n  .order-xl-first {\n    -ms-flex-order: -1;\n    order: -1;\n  }\n  .order-xl-last {\n    -ms-flex-order: 13;\n    order: 13;\n  }\n  .order-xl-0 {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  .order-xl-1 {\n    -ms-flex-order: 1;\n    order: 1;\n  }\n  .order-xl-2 {\n    -ms-flex-order: 2;\n    order: 2;\n  }\n  .order-xl-3 {\n    -ms-flex-order: 3;\n    order: 3;\n  }\n  .order-xl-4 {\n    -ms-flex-order: 4;\n    order: 4;\n  }\n  .order-xl-5 {\n    -ms-flex-order: 5;\n    order: 5;\n  }\n  .order-xl-6 {\n    -ms-flex-order: 6;\n    order: 6;\n  }\n  .order-xl-7 {\n    -ms-flex-order: 7;\n    order: 7;\n  }\n  .order-xl-8 {\n    -ms-flex-order: 8;\n    order: 8;\n  }\n  .order-xl-9 {\n    -ms-flex-order: 9;\n    order: 9;\n  }\n  .order-xl-10 {\n    -ms-flex-order: 10;\n    order: 10;\n  }\n  .order-xl-11 {\n    -ms-flex-order: 11;\n    order: 11;\n  }\n  .order-xl-12 {\n    -ms-flex-order: 12;\n    order: 12;\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}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dee2e6;\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.3rem;\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.form-control {\n  display: block;\n  width: 100%;\n  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\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\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-plaintext {\n  display: block;\n  width: 100%;\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\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  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  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\nselect.form-control[size], select.form-control[multiple] {\n  height: auto;\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\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-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n  color: #6c757d;\n}\n\n.form-check-label {\n  margin-bottom: 0;\n}\n\n.form-check-inline {\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -ms-flex-align: center;\n  align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n  position: static;\n  margin-top: 0;\n  margin-right: 0.3125rem;\n  margin-left: 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: center right calc(0.375em + 0.1875rem);\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 .custom-select:valid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, 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 .custom-select:valid:focus, .custom-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 .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-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-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.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\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 .custom-select:invalid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-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 .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-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-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.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #e4606d;\n  background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-flow: row wrap;\n  flex-flow: row wrap;\n  -ms-flex-align: center;\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: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 0 0 auto;\n    flex: 0 0 auto;\n    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n    -ms-flex-align: center;\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 .custom-select {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n    width: auto;\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    -ms-flex-negative: 0;\n    flex-shrink: 0;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    -ms-flex-align: center;\n    align-items: center;\n    -ms-flex-pack: center;\n    justify-content: center;\n  }\n  .form-inline .custom-control-label {\n    margin-bottom: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\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  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  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  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  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  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  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  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  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\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\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  position: relative;\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  float: left;\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: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-pack: start;\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  -ms-flex-direction: column;\n  flex-direction: column;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  -ms-flex-pack: center;\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.input-group {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n  position: relative;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n  margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n  z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n  z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-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 > .custom-select:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-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: -ms-flexbox;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\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:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-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:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-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 > .custom-select,\n.input-group-sm > .custom-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.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n  color: #fff;\n  background-color: #b3d7ff;\n  border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n  color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n  background-color: #e9ecef;\n}\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n}\n\n.custom-control-label::before {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  content: \"\";\n  background-color: #fff;\n  border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  content: \"\";\n  background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\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.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n  padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n  left: -2.25rem;\n  width: 1.75rem;\n  pointer-events: all;\n  border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n  top: calc(0.25rem + 2px);\n  left: calc(-2.25rem + 2px);\n  width: calc(1rem - 4px);\n  height: calc(1rem - 4px);\n  background-color: #adb5bd;\n  border-radius: 0.5rem;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-switch .custom-control-label::after {\n    transition: none;\n  }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n  background-color: #fff;\n  -webkit-transform: translateX(0.75rem);\n  transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-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: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  appearance: none;\n}\n\n.custom-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.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n  height: auto;\n  padding-right: 0.75rem;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #6c757d;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  display: none;\n}\n\n.custom-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.custom-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.custom-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.custom-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.custom-file-input:focus ~ .custom-file-label {\n  border-color: #80bdff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n  background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n  content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n  content: attr(data-browse);\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  display: block;\n  height: calc(1.5em + 0.75rem);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  content: \"Browse\";\n  background-color: #e9ecef;\n  border-left: inherit;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-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.custom-range:focus {\n  outline: none;\n}\n\n.custom-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.custom-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.custom-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.custom-range::-moz-focus-outer {\n  border: 0;\n}\n\n.custom-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  .custom-range::-webkit-slider-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-moz-range-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-moz-range-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-ms-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-ms-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-range::-ms-fill-lower {\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n  margin-right: 15px;\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: 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  .custom-control-label::before,\n  .custom-file-label,\n  .custom-select {\n    transition: none;\n  }\n}\n\n.nav {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\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  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified .nav-item {\n  -ms-flex-preferred-size: 0;\n  flex-basis: 0;\n  -ms-flex-positive: 1;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: justify;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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  float: none;\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  -ms-flex-preferred-size: 100%;\n  flex-basis: 100%;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  -ms-flex-align: center;\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 {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    -ms-flex-direction: row;\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 {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\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 {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    -ms-flex-direction: row;\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 {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\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 {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    -ms-flex-direction: row;\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 {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\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 {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    -ms-flex-flow: row nowrap;\n    flex-flow: row nowrap;\n    -ms-flex-pack: start;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    -ms-flex-direction: row;\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 {\n    -ms-flex-wrap: nowrap;\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -ms-flex-preferred-size: auto;\n    flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n}\n\n.navbar-expand {\n  -ms-flex-flow: row nowrap;\n  flex-flow: row nowrap;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n  -ms-flex-direction: row;\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 {\n  -ms-flex-wrap: nowrap;\n  flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n  display: -ms-flexbox !important;\n  display: flex !important;\n  -ms-flex-preferred-size: auto;\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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n  color: #fff;\n}\n\n.card {\n  position: relative;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    display: -ms-flexbox;\n    display: flex;\n    -ms-flex: 1 0 0%;\n    flex: 1 0 0%;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}\n\n.card-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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    -ms-flex-flow: row wrap;\n    flex-flow: row wrap;\n  }\n  .card-group > .card {\n    -ms-flex: 1 0 0%;\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.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    -webkit-column-count: 3;\n    -moz-column-count: 3;\n    column-count: 3;\n    -webkit-column-gap: 1.25rem;\n    -moz-column-gap: 1.25rem;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\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 {\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\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: -ms-flexbox;\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\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: 2;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\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.page-item.active .page-link {\n  z-index: 1;\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.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.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\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  .badge {\n    transition: none;\n  }\n}\n\na.badge:hover, a.badge:focus {\n  text-decoration: none;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n  color: #fff;\n  background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n  color: #fff;\n  background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n  color: #fff;\n  background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n  color: #fff;\n  background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n  color: #212529;\n  background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n  color: #fff;\n  background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n  color: #212529;\n  background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n  color: #fff;\n  background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\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 hr {\n  border-top-color: #9fcdff;\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 hr {\n  border-top-color: #c8cbcf;\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 hr {\n  border-top-color: #b1dfbb;\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 hr {\n  border-top-color: #abdde5;\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 hr {\n  border-top-color: #ffe8a1;\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 hr {\n  border-top-color: #f1b0b7;\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 hr {\n  border-top-color: #ececf6;\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 hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n.progress {\n  display: -ms-flexbox;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  -ms-flex-pack: center;\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.media {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: start;\n  align-items: flex-start;\n}\n\n.media-body {\n  -ms-flex: 1;\n  flex: 1;\n}\n\n.list-group {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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: -1px;\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  margin-bottom: 0;\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-horizontal {\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n  margin-right: -1px;\n  margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\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  margin-right: 0;\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0;\n}\n\n@media (min-width: 576px) {\n  .list-group-horizontal-sm {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-sm .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-sm .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .list-group-horizontal-md {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-md .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-md .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .list-group-horizontal-lg {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-lg .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-lg .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n@media (min-width: 1200px) {\n  .list-group-horizontal-xl {\n    -ms-flex-direction: row;\n    flex-direction: row;\n  }\n  .list-group-horizontal-xl .list-group-item {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-xl .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n  margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom: 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  float: right;\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.25rem 0.75rem rgba(0, 0, 0, 0.1);\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\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: -webkit-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n  -webkit-transform: translate(0, -50px);\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  -webkit-transform: none;\n  transform: none;\n}\n\n.modal-dialog-scrollable {\n  display: -ms-flexbox;\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  -ms-flex-negative: 0;\n  flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n  overflow-y: auto;\n}\n\n.modal-dialog-centered {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\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  -ms-flex-direction: column;\n  flex-direction: column;\n  -ms-flex-pack: center;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-direction: column;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  -ms-flex-pack: justify;\n  justify-content: space-between;\n  padding: 1rem 1rem;\n  border-bottom: 1px solid #dee2e6;\n  border-top-left-radius: 0.3rem;\n  border-top-right-radius: 0.3rem;\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  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  padding: 1rem;\n}\n\n.modal-footer {\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: end;\n  justify-content: flex-end;\n  padding: 1rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.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 .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .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 > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n  bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n  top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .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  -ms-touch-action: pan-y;\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: -webkit-transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, -webkit-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  -webkit-transform: translateX(100%);\n  transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n  -webkit-transform: translateX(-100%);\n  transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n  opacity: 0;\n  transition-property: opacity;\n  -webkit-transform: none;\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: 0s 0.6s opacity;\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: -ms-flexbox;\n  display: flex;\n  -ms-flex-align: center;\n  align-items: center;\n  -ms-flex-pack: 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.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%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.5 2.5 2.5-2.5 2.5 1.5 1.5 4-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: 15;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-pack: center;\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  -ms-flex: 0 1 auto;\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  z-index: 10;\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    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes spinner-border {\n  to {\n    -webkit-transform: rotate(360deg);\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    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n  50% {\n    opacity: 1;\n  }\n}\n\n@keyframes spinner-grow {\n  0% {\n    -webkit-transform: scale(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.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.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !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.rounded-sm {\n  border-radius: 0.2rem !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !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-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !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.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\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: -ms-flexbox !important;\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !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: -ms-flexbox !important;\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: -ms-inline-flexbox !important;\n    display: inline-flex !important;\n  }\n}\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\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  bottom: 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.flex-row {\n  -ms-flex-direction: row !important;\n  flex-direction: row !important;\n}\n\n.flex-column {\n  -ms-flex-direction: column !important;\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  -ms-flex-direction: row-reverse !important;\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  -ms-flex-direction: column-reverse !important;\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  -ms-flex-wrap: wrap !important;\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  -ms-flex-wrap: nowrap !important;\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  -ms-flex-wrap: wrap-reverse !important;\n  flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n  -ms-flex: 1 1 auto !important;\n  flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n  -ms-flex-positive: 0 !important;\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  -ms-flex-positive: 1 !important;\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  -ms-flex-negative: 0 !important;\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  -ms-flex-negative: 1 !important;\n  flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n  -ms-flex-pack: start !important;\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  -ms-flex-pack: end !important;\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  -ms-flex-pack: center !important;\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  -ms-flex-pack: justify !important;\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  -ms-flex-pack: distribute !important;\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  -ms-flex-align: start !important;\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  -ms-flex-align: end !important;\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  -ms-flex-align: center !important;\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  -ms-flex-align: baseline !important;\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  -ms-flex-align: stretch !important;\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  -ms-flex-line-pack: start !important;\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  -ms-flex-line-pack: end !important;\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  -ms-flex-line-pack: center !important;\n  align-content: center !important;\n}\n\n.align-content-between {\n  -ms-flex-line-pack: justify !important;\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  -ms-flex-line-pack: distribute !important;\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  -ms-flex-line-pack: stretch !important;\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  -ms-flex-item-align: auto !important;\n  align-self: auto !important;\n}\n\n.align-self-start {\n  -ms-flex-item-align: start !important;\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  -ms-flex-item-align: end !important;\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  -ms-flex-item-align: center !important;\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  -ms-flex-item-align: baseline !important;\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  -ms-flex-item-align: stretch !important;\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-sm-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-sm-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-sm-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .flex-md-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-md-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-md-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-md-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-md-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .flex-lg-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-lg-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-lg-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-lg-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    -ms-flex-direction: row !important;\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    -ms-flex-direction: column !important;\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    -ms-flex-direction: row-reverse !important;\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    -ms-flex-direction: column-reverse !important;\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-wrap {\n    -ms-flex-wrap: wrap !important;\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    -ms-flex-wrap: nowrap !important;\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    -ms-flex-wrap: wrap-reverse !important;\n    flex-wrap: wrap-reverse !important;\n  }\n  .flex-xl-fill {\n    -ms-flex: 1 1 auto !important;\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-grow-0 {\n    -ms-flex-positive: 0 !important;\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    -ms-flex-positive: 1 !important;\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    -ms-flex-negative: 0 !important;\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    -ms-flex-negative: 1 !important;\n    flex-shrink: 1 !important;\n  }\n  .justify-content-xl-start {\n    -ms-flex-pack: start !important;\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    -ms-flex-pack: end !important;\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    -ms-flex-pack: center !important;\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    -ms-flex-pack: justify !important;\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    -ms-flex-pack: distribute !important;\n    justify-content: space-around !important;\n  }\n  .align-items-xl-start {\n    -ms-flex-align: start !important;\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    -ms-flex-align: end !important;\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    -ms-flex-align: center !important;\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    -ms-flex-align: baseline !important;\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    -ms-flex-align: stretch !important;\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    -ms-flex-line-pack: start !important;\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    -ms-flex-line-pack: end !important;\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    -ms-flex-line-pack: center !important;\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    -ms-flex-line-pack: justify !important;\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    -ms-flex-line-pack: distribute !important;\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    -ms-flex-line-pack: stretch !important;\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    -ms-flex-item-align: auto !important;\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    -ms-flex-item-align: start !important;\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    -ms-flex-item-align: end !important;\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    -ms-flex-item-align: center !important;\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    -ms-flex-item-align: baseline !important;\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    -ms-flex-item-align: stretch !important;\n    align-self: stretch !important;\n  }\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@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}\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}\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}\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}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !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.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  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\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.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.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.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.vh-100 {\n  height: 100vh !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  pointer-events: auto;\n  content: \"\";\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n  text-align: justify !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-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\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@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.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.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.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0056b3 !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #a71d2a !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !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-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important;\n}\n\n.text-reset {\n  color: inherit !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  @page {\n    size: a3;\n  }\n  body {\n    min-width: 992px !important;\n  }\n  .container {\n    min-width: 992px !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important;\n  }\n  .table-dark {\n    color: inherit;\n  }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th,\n  .table-dark tbody + tbody {\n    border-color: #dee2e6;\n  }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\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// 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// 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// 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    // Variables for storing static and fluid rescaling\n    $rfs-static: null;\n    $rfs-fluid: null;\n\n    // Remove px-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    @if $rfs-font-size-unit == rem {\n      $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n    }\n    @else if $rfs-font-size-unit == px {\n      $rfs-static: #{$fs}px#{$rfs-suffix};\n    }\n    @else {\n      @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n    }\n\n    // Only add media query if font-size is bigger as the minimum font-size\n    // If $rfs-factor == 1, no rescaling will take place\n    @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n      $min-width: null;\n      $variable-unit: null;\n\n      // Calculate minimum font-size for given font-size\n      $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n      // Calculate difference between given font-size and minimum font-size for given font-size\n      $fs-diff: $fs - $fs-min;\n\n      // Base font-size formatting\n      // No need to check if the unit is valid, because we did that before\n      $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n      // If two-dimensional, use smallest of screen width and height\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\n    // Rendering\n    @if $rfs-fluid == null {\n      // Only render static font-size if no fluid font-size is available\n      font-size: $rfs-static;\n    }\n    @else {\n      $mq-value: null;\n\n      // RFS breakpoint formatting\n      @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n        $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n      }\n      @else if $rfs-breakpoint-unit == px {\n        $mq-value: #{$rfs-breakpoint}px;\n      }\n      @else {\n        @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n      }\n\n      @if $rfs-class == \"disable\" {\n        // Adding an extra class increases specificity,\n        // which prevents the media query to override the font size\n        &,\n        .disable-responsive-font-size &,\n        &.disable-responsive-font-size {\n          font-size: $rfs-static;\n        }\n      }\n      @else {\n        font-size: $rfs-static;\n      }\n\n      @if $rfs-two-dimensional {\n        @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n      @else {\n        @media (max-width: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n    }\n  }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\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  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\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\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\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  text-align: left;\n  background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\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  border-bottom: 0;\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,\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  background-color: transparent;\n}\n\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n  color: inherit;\n  text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n  outline: 0;\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  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\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\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\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  -webkit-appearance: listbox;\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  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: .5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=\"search\"] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\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\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\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\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\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\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\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-break: 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\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529;\n}\n\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\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 {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\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.order-first {\n  order: -1;\n}\n\n.order-last {\n  order: 13;\n}\n\n.order-0 {\n  order: 0;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\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  .order-sm-first {\n    order: -1;\n  }\n  .order-sm-last {\n    order: 13;\n  }\n  .order-sm-0 {\n    order: 0;\n  }\n  .order-sm-1 {\n    order: 1;\n  }\n  .order-sm-2 {\n    order: 2;\n  }\n  .order-sm-3 {\n    order: 3;\n  }\n  .order-sm-4 {\n    order: 4;\n  }\n  .order-sm-5 {\n    order: 5;\n  }\n  .order-sm-6 {\n    order: 6;\n  }\n  .order-sm-7 {\n    order: 7;\n  }\n  .order-sm-8 {\n    order: 8;\n  }\n  .order-sm-9 {\n    order: 9;\n  }\n  .order-sm-10 {\n    order: 10;\n  }\n  .order-sm-11 {\n    order: 11;\n  }\n  .order-sm-12 {\n    order: 12;\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  .order-md-first {\n    order: -1;\n  }\n  .order-md-last {\n    order: 13;\n  }\n  .order-md-0 {\n    order: 0;\n  }\n  .order-md-1 {\n    order: 1;\n  }\n  .order-md-2 {\n    order: 2;\n  }\n  .order-md-3 {\n    order: 3;\n  }\n  .order-md-4 {\n    order: 4;\n  }\n  .order-md-5 {\n    order: 5;\n  }\n  .order-md-6 {\n    order: 6;\n  }\n  .order-md-7 {\n    order: 7;\n  }\n  .order-md-8 {\n    order: 8;\n  }\n  .order-md-9 {\n    order: 9;\n  }\n  .order-md-10 {\n    order: 10;\n  }\n  .order-md-11 {\n    order: 11;\n  }\n  .order-md-12 {\n    order: 12;\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  .order-lg-first {\n    order: -1;\n  }\n  .order-lg-last {\n    order: 13;\n  }\n  .order-lg-0 {\n    order: 0;\n  }\n  .order-lg-1 {\n    order: 1;\n  }\n  .order-lg-2 {\n    order: 2;\n  }\n  .order-lg-3 {\n    order: 3;\n  }\n  .order-lg-4 {\n    order: 4;\n  }\n  .order-lg-5 {\n    order: 5;\n  }\n  .order-lg-6 {\n    order: 6;\n  }\n  .order-lg-7 {\n    order: 7;\n  }\n  .order-lg-8 {\n    order: 8;\n  }\n  .order-lg-9 {\n    order: 9;\n  }\n  .order-lg-10 {\n    order: 10;\n  }\n  .order-lg-11 {\n    order: 11;\n  }\n  .order-lg-12 {\n    order: 12;\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  .order-xl-first {\n    order: -1;\n  }\n  .order-xl-last {\n    order: 13;\n  }\n  .order-xl-0 {\n    order: 0;\n  }\n  .order-xl-1 {\n    order: 1;\n  }\n  .order-xl-2 {\n    order: 2;\n  }\n  .order-xl-3 {\n    order: 3;\n  }\n  .order-xl-4 {\n    order: 4;\n  }\n  .order-xl-5 {\n    order: 5;\n  }\n  .order-xl-6 {\n    order: 6;\n  }\n  .order-xl-7 {\n    order: 7;\n  }\n  .order-xl-8 {\n    order: 8;\n  }\n  .order-xl-9 {\n    order: 9;\n  }\n  .order-xl-10 {\n    order: 10;\n  }\n  .order-xl-11 {\n    order: 11;\n  }\n  .order-xl-12 {\n    order: 12;\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}\n\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dee2e6;\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.3rem;\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.form-control {\n  display: block;\n  width: 100%;\n  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\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\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-plaintext {\n  display: block;\n  width: 100%;\n  padding-top: 0.375rem;\n  padding-bottom: 0.375rem;\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  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  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\nselect.form-control[size], select.form-control[multiple] {\n  height: auto;\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\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-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n  color: #6c757d;\n}\n\n.form-check-label {\n  margin-bottom: 0;\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n  position: static;\n  margin-top: 0;\n  margin-right: 0.3125rem;\n  margin-left: 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: center right calc(0.375em + 0.1875rem);\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 .custom-select:valid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, 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 .custom-select:valid:focus, .custom-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 .custom-select:valid ~ .valid-feedback,\n.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n.custom-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-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.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n  background-repeat: no-repeat;\n  background-position: center right calc(0.375em + 0.1875rem);\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 .custom-select:invalid, .custom-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 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-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 .custom-select:invalid ~ .invalid-feedback,\n.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n.custom-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-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.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #e4606d;\n  background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\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 .custom-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  .form-inline .custom-control {\n    align-items: center;\n    justify-content: center;\n  }\n  .form-inline .custom-control-label {\n    margin-bottom: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\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  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  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  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  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  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  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  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  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\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\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  position: relative;\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  float: left;\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,\n.btn-group-vertical > .btn:hover {\n  z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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.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-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n  position: relative;\n  flex: 1 1 auto;\n  width: 1%;\n  margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n  margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n  z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n  z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-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 > .custom-select:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n  display: flex;\n  align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-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:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-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:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-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 > .custom-select,\n.input-group-sm > .custom-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.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n  display: inline-flex;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1;\n  opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n  color: #fff;\n  background-color: #b3d7ff;\n  border-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n  color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n  background-color: #e9ecef;\n}\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n}\n\n.custom-control-label::before {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  content: \"\";\n  background-color: #fff;\n  border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  content: \"\";\n  background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #007bff;\n  background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\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.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n  padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n  left: -2.25rem;\n  width: 1.75rem;\n  pointer-events: all;\n  border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n  top: calc(0.25rem + 2px);\n  left: calc(-2.25rem + 2px);\n  width: calc(1rem - 4px);\n  height: calc(1rem - 4px);\n  background-color: #adb5bd;\n  border-radius: 0.5rem;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .custom-switch .custom-control-label::after {\n    transition: none;\n  }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n  background-color: #fff;\n  transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-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: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  appearance: none;\n}\n\n.custom-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.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n  height: auto;\n  padding-right: 0.75rem;\n  background-image: none;\n}\n\n.custom-select:disabled {\n  color: #6c757d;\n  background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n  display: none;\n}\n\n.custom-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.custom-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.custom-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.custom-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.custom-file-input:focus ~ .custom-file-label {\n  border-color: #80bdff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n  background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n  content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n  content: attr(data-browse);\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  display: block;\n  height: calc(1.5em + 0.75rem);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  content: \"Browse\";\n  background-color: #e9ecef;\n  border-left: inherit;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n  width: 100%;\n  height: calc(1rem + 0.4rem);\n  padding: 0;\n  background-color: transparent;\n  appearance: none;\n}\n\n.custom-range:focus {\n  outline: none;\n}\n\n.custom-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.custom-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.custom-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.custom-range::-moz-focus-outer {\n  border: 0;\n}\n\n.custom-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  .custom-range::-webkit-slider-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-moz-range-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-moz-range-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-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  .custom-range::-ms-thumb {\n    transition: none;\n  }\n}\n\n.custom-range::-ms-thumb:active {\n  background-color: #b3d7ff;\n}\n\n.custom-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.custom-range::-ms-fill-lower {\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n  margin-right: 15px;\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n  cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: 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  .custom-control-label::before,\n  .custom-file-label,\n  .custom-select {\n    transition: none;\n  }\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 {\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  float: none;\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .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 viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .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  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.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n  .card-columns {\n    column-count: 3;\n    column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\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 {\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  border-radius: 0.25rem;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\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: 2;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\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.page-item.active .page-link {\n  z-index: 1;\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.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.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\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  .badge {\n    transition: none;\n  }\n}\n\na.badge:hover, a.badge:focus {\n  text-decoration: none;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n  color: #fff;\n  background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n  color: #fff;\n  background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n  color: #fff;\n  background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n  color: #fff;\n  background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n  color: #212529;\n  background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n  color: #fff;\n  background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n  color: #212529;\n  background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n  color: #fff;\n  background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\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 hr {\n  border-top-color: #9fcdff;\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 hr {\n  border-top-color: #c8cbcf;\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 hr {\n  border-top-color: #b1dfbb;\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 hr {\n  border-top-color: #abdde5;\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 hr {\n  border-top-color: #ffe8a1;\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 hr {\n  border-top-color: #f1b0b7;\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 hr {\n  border-top-color: #ececf6;\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 hr {\n  border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\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.media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\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: -1px;\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  margin-bottom: 0;\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-horizontal {\n  flex-direction: row;\n}\n\n.list-group-horizontal .list-group-item {\n  margin-right: -1px;\n  margin-bottom: 0;\n}\n\n.list-group-horizontal .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\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  margin-right: 0;\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-sm .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-md .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-lg .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\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 {\n    margin-right: -1px;\n    margin-bottom: 0;\n  }\n  .list-group-horizontal-xl .list-group-item:first-child {\n    border-top-left-radius: 0.25rem;\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    margin-right: 0;\n    border-top-right-radius: 0.25rem;\n    border-bottom-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n}\n\n.list-group-flush .list-group-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n\n.list-group-flush .list-group-item:last-child {\n  margin-bottom: -1px;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n  border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom: 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  float: right;\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.25rem 0.75rem rgba(0, 0, 0, 0.1);\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: 0.3rem;\n  border-top-right-radius: 0.3rem;\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  align-items: center;\n  justify-content: flex-end;\n  padding: 1rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n\n.modal-footer > :not(:first-child) {\n  margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n  margin-right: .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n\n.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 .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n  bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n  left: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n  top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .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 .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n  right: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .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 .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .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 > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n  bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n  top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .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 > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .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: 0s 0.6s opacity;\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.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%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.5 2.5 2.5-2.5 2.5 1.5 1.5 4-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: 15;\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  z-index: 10;\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.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.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !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.rounded-sm {\n  border-radius: 0.2rem !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !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-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !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.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\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@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}\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}\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}\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}\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.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\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  bottom: 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.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-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.flex-fill {\n  flex: 1 1 auto !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.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@media (min-width: 576px) {\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-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  .flex-sm-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 768px) {\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-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  .flex-md-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 992px) {\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-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  .flex-lg-fill {\n    flex: 1 1 auto !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  .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}\n\n@media (min-width: 1200px) {\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-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  .flex-xl-fill {\n    flex: 1 1 auto !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  .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}\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@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}\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}\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}\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}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !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.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  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\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.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.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.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.vh-100 {\n  height: 100vh !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  pointer-events: auto;\n  content: \"\";\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .mt-sm-0,\n  .my-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mr-sm-0,\n  .mx-sm-0 {\n    margin-right: 0 !important;\n  }\n  .mb-sm-0,\n  .my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-sm-0,\n  .mx-sm-0 {\n    margin-left: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-sm-1,\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-sm-1,\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-sm-1,\n  .my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-sm-1,\n  .mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-sm-2,\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-sm-2,\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-sm-2,\n  .my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-sm-2,\n  .mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .mt-sm-3,\n  .my-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-sm-3,\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-sm-3,\n  .my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-sm-3,\n  .mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-sm-4,\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-sm-4,\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-sm-4,\n  .my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-sm-4,\n  .mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .mt-sm-5,\n  .my-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-sm-5,\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-sm-5,\n  .my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-sm-5,\n  .mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .pt-sm-0,\n  .py-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pr-sm-0,\n  .px-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pb-sm-0,\n  .py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-sm-0,\n  .px-sm-0 {\n    padding-left: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-sm-1,\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-sm-1,\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-sm-1,\n  .py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-sm-1,\n  .px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-sm-2,\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-sm-2,\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-sm-2,\n  .py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-sm-2,\n  .px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .pt-sm-3,\n  .py-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-sm-3,\n  .px-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-sm-3,\n  .py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-sm-3,\n  .px-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-sm-4,\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-sm-4,\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-sm-4,\n  .py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-sm-4,\n  .px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .pt-sm-5,\n  .py-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-sm-5,\n  .px-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-5,\n  .py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-sm-5,\n  .px-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-sm-n1,\n  .my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-sm-n1,\n  .mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-sm-n1,\n  .my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-sm-n1,\n  .mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-sm-n2,\n  .my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-sm-n2,\n  .mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-sm-n2,\n  .my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-sm-n2,\n  .mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n  .mt-sm-n3,\n  .my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-sm-n3,\n  .mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-sm-n3,\n  .my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-sm-n3,\n  .mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-sm-n4,\n  .my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-sm-n4,\n  .mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-sm-n4,\n  .my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-sm-n4,\n  .mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n  .mt-sm-n5,\n  .my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-sm-n5,\n  .mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-sm-n5,\n  .my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-sm-n5,\n  .mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mt-sm-auto,\n  .my-sm-auto {\n    margin-top: auto !important;\n  }\n  .mr-sm-auto,\n  .mx-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-auto,\n  .my-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-sm-auto,\n  .mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .mt-md-0,\n  .my-md-0 {\n    margin-top: 0 !important;\n  }\n  .mr-md-0,\n  .mx-md-0 {\n    margin-right: 0 !important;\n  }\n  .mb-md-0,\n  .my-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-md-0,\n  .mx-md-0 {\n    margin-left: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-md-1,\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-md-1,\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-md-1,\n  .my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-md-1,\n  .mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-md-2,\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-md-2,\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-md-2,\n  .my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-md-2,\n  .mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .mt-md-3,\n  .my-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-md-3,\n  .mx-md-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-md-3,\n  .my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-md-3,\n  .mx-md-3 {\n    margin-left: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-md-4,\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-md-4,\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-md-4,\n  .my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-md-4,\n  .mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .mt-md-5,\n  .my-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-md-5,\n  .mx-md-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-md-5,\n  .my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-md-5,\n  .mx-md-5 {\n    margin-left: 3rem !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .pt-md-0,\n  .py-md-0 {\n    padding-top: 0 !important;\n  }\n  .pr-md-0,\n  .px-md-0 {\n    padding-right: 0 !important;\n  }\n  .pb-md-0,\n  .py-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-md-0,\n  .px-md-0 {\n    padding-left: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-md-1,\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-md-1,\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-md-1,\n  .py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-md-1,\n  .px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-md-2,\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-md-2,\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-md-2,\n  .py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-md-2,\n  .px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .pt-md-3,\n  .py-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-md-3,\n  .px-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-md-3,\n  .py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-md-3,\n  .px-md-3 {\n    padding-left: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-md-4,\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-md-4,\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-md-4,\n  .py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-md-4,\n  .px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .pt-md-5,\n  .py-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-md-5,\n  .px-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-5,\n  .py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-md-5,\n  .px-md-5 {\n    padding-left: 3rem !important;\n  }\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-md-n1,\n  .my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-md-n1,\n  .mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-md-n1,\n  .my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-md-n1,\n  .mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-md-n2,\n  .my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-md-n2,\n  .mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-md-n2,\n  .my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-md-n2,\n  .mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n  .mt-md-n3,\n  .my-md-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-md-n3,\n  .mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-md-n3,\n  .my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-md-n3,\n  .mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-md-n4,\n  .my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-md-n4,\n  .mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-md-n4,\n  .my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-md-n4,\n  .mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n  .mt-md-n5,\n  .my-md-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-md-n5,\n  .mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-md-n5,\n  .my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-md-n5,\n  .mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mt-md-auto,\n  .my-md-auto {\n    margin-top: auto !important;\n  }\n  .mr-md-auto,\n  .mx-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-auto,\n  .my-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-md-auto,\n  .mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .mt-lg-0,\n  .my-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mr-lg-0,\n  .mx-lg-0 {\n    margin-right: 0 !important;\n  }\n  .mb-lg-0,\n  .my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-lg-0,\n  .mx-lg-0 {\n    margin-left: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-lg-1,\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-lg-1,\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-lg-1,\n  .my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-lg-1,\n  .mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-lg-2,\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-lg-2,\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-lg-2,\n  .my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-lg-2,\n  .mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .mt-lg-3,\n  .my-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-lg-3,\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-lg-3,\n  .my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-lg-3,\n  .mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-lg-4,\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-lg-4,\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-lg-4,\n  .my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-lg-4,\n  .mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .mt-lg-5,\n  .my-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-lg-5,\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-lg-5,\n  .my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-lg-5,\n  .mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .pt-lg-0,\n  .py-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pr-lg-0,\n  .px-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pb-lg-0,\n  .py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-lg-0,\n  .px-lg-0 {\n    padding-left: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-lg-1,\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-lg-1,\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-lg-1,\n  .py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-lg-1,\n  .px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-lg-2,\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-lg-2,\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-lg-2,\n  .py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-lg-2,\n  .px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .pt-lg-3,\n  .py-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-lg-3,\n  .px-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-lg-3,\n  .py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-lg-3,\n  .px-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-lg-4,\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-lg-4,\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-lg-4,\n  .py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-lg-4,\n  .px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .pt-lg-5,\n  .py-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-lg-5,\n  .px-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-5,\n  .py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-lg-5,\n  .px-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-lg-n1,\n  .my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-lg-n1,\n  .mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-lg-n1,\n  .my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-lg-n1,\n  .mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-lg-n2,\n  .my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-lg-n2,\n  .mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-lg-n2,\n  .my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-lg-n2,\n  .mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n  .mt-lg-n3,\n  .my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-lg-n3,\n  .mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-lg-n3,\n  .my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-lg-n3,\n  .mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-lg-n4,\n  .my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-lg-n4,\n  .mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-lg-n4,\n  .my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-lg-n4,\n  .mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n  .mt-lg-n5,\n  .my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-lg-n5,\n  .mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-lg-n5,\n  .my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-lg-n5,\n  .mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mt-lg-auto,\n  .my-lg-auto {\n    margin-top: auto !important;\n  }\n  .mr-lg-auto,\n  .mx-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-auto,\n  .my-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-lg-auto,\n  .mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .mt-xl-0,\n  .my-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mr-xl-0,\n  .mx-xl-0 {\n    margin-right: 0 !important;\n  }\n  .mb-xl-0,\n  .my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .ml-xl-0,\n  .mx-xl-0 {\n    margin-left: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .mt-xl-1,\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mr-xl-1,\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .mb-xl-1,\n  .my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .ml-xl-1,\n  .mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .mt-xl-2,\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mr-xl-2,\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .mb-xl-2,\n  .my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .ml-xl-2,\n  .mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .mt-xl-3,\n  .my-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mr-xl-3,\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .mb-xl-3,\n  .my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .ml-xl-3,\n  .mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .mt-xl-4,\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mr-xl-4,\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .mb-xl-4,\n  .my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .ml-xl-4,\n  .mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .mt-xl-5,\n  .my-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mr-xl-5,\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .mb-xl-5,\n  .my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .ml-xl-5,\n  .mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .pt-xl-0,\n  .py-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pr-xl-0,\n  .px-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pb-xl-0,\n  .py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pl-xl-0,\n  .px-xl-0 {\n    padding-left: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .pt-xl-1,\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pr-xl-1,\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pb-xl-1,\n  .py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pl-xl-1,\n  .px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .pt-xl-2,\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pr-xl-2,\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pb-xl-2,\n  .py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pl-xl-2,\n  .px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .pt-xl-3,\n  .py-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pr-xl-3,\n  .px-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pb-xl-3,\n  .py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pl-xl-3,\n  .px-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .pt-xl-4,\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pr-xl-4,\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pb-xl-4,\n  .py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pl-xl-4,\n  .px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .pt-xl-5,\n  .py-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pr-xl-5,\n  .px-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-5,\n  .py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .pl-xl-5,\n  .px-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n  .mt-xl-n1,\n  .my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n  .mr-xl-n1,\n  .mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n  .mb-xl-n1,\n  .my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n  .ml-xl-n1,\n  .mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n  .mt-xl-n2,\n  .my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n  .mr-xl-n2,\n  .mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n  .mb-xl-n2,\n  .my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n  .ml-xl-n2,\n  .mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n  .mt-xl-n3,\n  .my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n  .mr-xl-n3,\n  .mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n  .mb-xl-n3,\n  .my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n  .ml-xl-n3,\n  .mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n  .mt-xl-n4,\n  .my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n  .mr-xl-n4,\n  .mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n  .mb-xl-n4,\n  .my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n  .ml-xl-n4,\n  .mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n  .mt-xl-n5,\n  .my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n  .mr-xl-n5,\n  .mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n  .mb-xl-n5,\n  .my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n  .ml-xl-n5,\n  .mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mt-xl-auto,\n  .my-xl-auto {\n    margin-top: auto !important;\n  }\n  .mr-xl-auto,\n  .mx-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-auto,\n  .my-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ml-xl-auto,\n  .mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n  text-align: justify !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-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\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@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n  .text-sm-right {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n  .text-md-right {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n  .text-lg-right {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n  .text-xl-right {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n\n.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.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.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0056b3 !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #a71d2a !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !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-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important;\n}\n\n.text-reset {\n  color: inherit !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n@media print {\n  *,\n  *::before,\n  *::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n  pre {\n    white-space: pre-wrap !important;\n  }\n  pre,\n  blockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  @page {\n    size: a3;\n  }\n  body {\n    min-width: 992px !important;\n  }\n  .container {\n    min-width: 992px !important;\n  }\n  .navbar {\n    display: none;\n  }\n  .badge {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #dee2e6 !important;\n  }\n  .table-dark {\n    color: inherit;\n  }\n  .table-dark th,\n  .table-dark td,\n  .table-dark thead th,\n  .table-dark tbody + tbody {\n    border-color: #dee2e6;\n  }\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6;\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n  &:hover { @content; }\n}\n\n@mixin hover-focus {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: $headings-margin-bottom;\n  font-family: $headings-font-family;\n  font-weight: $headings-font-weight;\n  line-height: $headings-line-height;\n  color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\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//\n// Horizontal rules\n//\n\nhr {\n  margin-top: $hr-margin-y;\n  margin-bottom: $hr-margin-y;\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n  @include font-size($small-font-size);\n  font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n  padding: $mark-padding;\n  background-color: $mark-bg;\n}\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\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n  background-image: url($file-1x);\n\n  // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n  // but doesn't convert dppx=>dpi.\n  // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n  // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n  @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n    only screen and (min-resolution: 2dppx) { // Standardized\n    background-image: url($file-2x);\n    background-size: $width-1x $height-1x;\n  }\n  @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\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","// Inline code\ncode {\n  @include font-size($code-font-size);\n  color: $code-color;\n  word-break: break-word;\n\n  // Streamline the style when inside anchors to avoid broken underline and more\n  a > & {\n    color: inherit;\n  }\n}\n\n// User input typically entered via keyboard\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  @include box-shadow($kbd-box-shadow);\n\n  kbd {\n    padding: 0;\n    @include font-size(100%);\n    font-weight: $nested-kbd-font-weight;\n    @include box-shadow(none);\n  }\n}\n\n// Blocks of code\npre {\n  display: block;\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\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: $pre-scrollable-max-height;\n  overflow-y: scroll;\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  .container {\n    @include make-container();\n    @include make-container-max-widths();\n  }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n  .container-fluid {\n    @include make-container();\n  }\n}\n\n// Row\n//\n// Rows contain and clear the floats of 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($gutter: $grid-gutter-width) {\n  width: 100%;\n  padding-right: $gutter / 2;\n  padding-left: $gutter / 2;\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  @return if($n != null and $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      .order#{$infix}-first { order: -1; }\n\n      .order#{$infix}-last { order: $columns + 1; }\n\n      @for $i from 0 through $columns {\n        .order#{$infix}-#{$i} { order: $i; }\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  background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n  th,\n  td {\n    padding: $table-cell-padding;\n    vertical-align: top;\n    border-top: $table-border-width solid $table-border-color;\n  }\n\n  thead th {\n    vertical-align: bottom;\n    border-bottom: (2 * $table-border-width) solid $table-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    @include 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, theme-color-level($color, $table-bg-level), theme-color-level($color, $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(odd) {\n      background-color: $table-dark-accent-bg;\n    }\n  }\n\n  &.table-hover {\n    tbody tr {\n      @include 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      @include hover {\n        background-color: $hover-background;\n\n        > td,\n        > th {\n          background-color: $hover-background;\n        }\n      }\n    }\n  }\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  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  @include form-control-focus();\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    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n    opacity: 1;\n  }\n}\n\nselect.form-control {\n  &:focus::-ms-value {\n    // Suppress the nested 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, as it looks bad and cannot be made to\n    // match the appearance of the native widget.\n    // See https://github.com/twbs/bootstrap/issues/19398.\n    color: $input-color;\n    background-color: $input-bg;\n  }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\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\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-top: $input-padding-y;\n  padding-bottom: $input-padding-y;\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\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  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  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// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n  &[size],\n  &[multiple] {\n    height: auto;\n  }\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n  display: block;\n  margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\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// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: $form-check-input-margin-y;\n  margin-left: -$form-check-input-gutter;\n\n  &:disabled ~ .form-check-label {\n    color: $text-muted;\n  }\n}\n\n.form-check-label {\n  margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  padding-left: 0; // Override base .form-check\n  margin-right: $form-check-inline-margin-x;\n\n  // Undo .form-check-input defaults and add some `margin-right`.\n  .form-check-input {\n    position: static;\n    margin-top: 0;\n    margin-right: $form-check-inline-input-margin-x;\n    margin-left: 0;\n  }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n  @include form-validation-state($state, map-get($data, color), map-get($data, icon));\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    .custom-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    .custom-control {\n      align-items: center;\n      justify-content: center;\n    }\n    .custom-control-label {\n      margin-bottom: 0;\n    }\n  }\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","// 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() {\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\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    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        padding-right: $input-height-inner;\n        background-image: $icon;\n        background-repeat: no-repeat;\n        background-position: center right $input-height-inner-quarter;\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    .was-validated &:#{$state},\n    &.is-#{$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  .custom-select {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        padding-right: $custom-select-feedback-icon-padding-right;\n        background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-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    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n  .form-check-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .form-check-label {\n        color: $color;\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n  .custom-control-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-control-label {\n        color: $color;\n\n        &::before {\n          border-color: $color;\n        }\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n\n      &:checked {\n        ~ .custom-control-label::before {\n          border-color: lighten($color, 10%);\n          @include gradient-bg(lighten($color, 10%));\n        }\n      }\n\n      &:focus {\n        ~ .custom-control-label::before {\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n\n        &:not(:checked) ~ .custom-control-label::before {\n          border-color: $color;\n        }\n      }\n    }\n  }\n\n  // custom file\n  .custom-file-input {\n    .was-validated &:#{$state},\n    &.is-#{$state} {\n      ~ .custom-file-label {\n        border-color: $color;\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n\n      &:focus {\n        ~ .custom-file-label {\n          border-color: $color;\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n      }\n    }\n  }\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","// 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  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  @include 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: $link-color;\n  text-decoration: $link-decoration;\n\n  @include hover {\n    color: $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\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\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  @include 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    // 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  @include 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  position: relative;\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  float: left;\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  @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);\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  @include hover-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","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {\n  height: 0;\n  margin: $margin-y 0;\n  overflow: hidden;\n  border-top: 1px solid $color;\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    @include hover {\n      z-index: 1;\n    }\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","// 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-control-plaintext,\n  > .custom-select,\n  > .custom-file {\n    position: relative; // For focus state's z-index\n    flex: 1 1 auto;\n    // Add width 1% and flex-basis auto to ensure that button will not wrap out\n    // the column. Applies to IE Edge+ and Firefox. Chrome does not require this.\n    width: 1%;\n    margin-bottom: 0;\n\n    + .form-control,\n    + .custom-select,\n    + .custom-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  > .custom-select:focus,\n  > .custom-file .custom-file-input:focus ~ .custom-file-label {\n    z-index: 3;\n  }\n\n  // Bring the custom file input above the label\n  > .custom-file .custom-file-input:focus {\n    z-index: 4;\n  }\n\n  > .form-control,\n  > .custom-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  > .custom-file {\n    display: flex;\n    align-items: center;\n\n    &:not(:last-child) .custom-file-label,\n    &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n    &:not(:first-child) .custom-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:not(textarea),\n.input-group-lg > .custom-select {\n  height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-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:not(textarea),\n.input-group-sm > .custom-select {\n  height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-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 > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: $custom-select-padding-x + $custom-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","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n  position: relative;\n  display: block;\n  min-height: $font-size-base * $line-height-base;\n  padding-left: $custom-control-gutter + $custom-control-indicator-size;\n}\n\n.custom-control-inline {\n  display: inline-flex;\n  margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n  position: absolute;\n  z-index: -1; // Put the input behind the label so it doesn't overlay text\n  opacity: 0;\n\n  &:checked ~ .custom-control-label::before {\n    color: $custom-control-indicator-checked-color;\n    border-color: $custom-control-indicator-checked-border-color;\n    @include gradient-bg($custom-control-indicator-checked-bg);\n    @include box-shadow($custom-control-indicator-checked-box-shadow);\n  }\n\n  &:focus ~ .custom-control-label::before {\n    // the mixin is not used here to make sure there is feedback\n    @if $enable-shadows {\n      box-shadow: $input-box-shadow, $input-focus-box-shadow;\n    } @else {\n      box-shadow: $custom-control-indicator-focus-box-shadow;\n    }\n  }\n\n  &:focus:not(:checked) ~ .custom-control-label::before {\n    border-color: $custom-control-indicator-focus-border-color;\n  }\n\n  &:not(:disabled):active ~ .custom-control-label::before {\n    color: $custom-control-indicator-active-color;\n    background-color: $custom-control-indicator-active-bg;\n    border-color: $custom-control-indicator-active-border-color;\n    @include box-shadow($custom-control-indicator-active-box-shadow);\n  }\n\n  &:disabled {\n    ~ .custom-control-label {\n      color: $custom-control-label-disabled-color;\n\n      &::before {\n        background-color: $custom-control-indicator-disabled-bg;\n      }\n    }\n  }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n\n  // Background-color and (when enabled) gradient\n  &::before {\n    position: absolute;\n    top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n    left: -($custom-control-gutter + $custom-control-indicator-size);\n    display: block;\n    width: $custom-control-indicator-size;\n    height: $custom-control-indicator-size;\n    pointer-events: none;\n    content: \"\";\n    background-color: $custom-control-indicator-bg;\n    border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n    @include box-shadow($custom-control-indicator-box-shadow);\n  }\n\n  // Foreground (icon)\n  &::after {\n    position: absolute;\n    top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n    left: -($custom-control-gutter + $custom-control-indicator-size);\n    display: block;\n    width: $custom-control-indicator-size;\n    height: $custom-control-indicator-size;\n    content: \"\";\n    background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n  }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n  .custom-control-label::before {\n    @include border-radius($custom-checkbox-indicator-border-radius);\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-image: $custom-checkbox-indicator-icon-checked;\n    }\n  }\n\n  .custom-control-input:indeterminate ~ .custom-control-label {\n    &::before {\n      border-color: $custom-checkbox-indicator-indeterminate-border-color;\n      @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n      @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n    }\n    &::after {\n      background-image: $custom-checkbox-indicator-icon-indeterminate;\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n    &:indeterminate ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n  .custom-control-label::before {\n    // stylelint-disable-next-line property-blacklist\n    border-radius: $custom-radio-indicator-border-radius;\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-image: $custom-radio-indicator-icon-checked;\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n  padding-left: $custom-switch-width + $custom-control-gutter;\n\n  .custom-control-label {\n    &::before {\n      left: -($custom-switch-width + $custom-control-gutter);\n      width: $custom-switch-width;\n      pointer-events: all;\n      // stylelint-disable-next-line property-blacklist\n      border-radius: $custom-switch-indicator-border-radius;\n    }\n\n    &::after {\n      top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});\n      left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});\n      width: $custom-switch-indicator-size;\n      height: $custom-switch-indicator-size;\n      background-color: $custom-control-indicator-border-color;\n      // stylelint-disable-next-line property-blacklist\n      border-radius: $custom-switch-indicator-border-radius;\n      @include transition(transform .15s ease-in-out, $custom-forms-transition);\n    }\n  }\n\n  .custom-control-input:checked ~ .custom-control-label {\n    &::after {\n      background-color: $custom-control-indicator-bg;\n      transform: translateX($custom-switch-width - $custom-control-indicator-size);\n    }\n  }\n\n  .custom-control-input:disabled {\n    &:checked ~ .custom-control-label::before {\n      background-color: $custom-control-indicator-checked-disabled-bg;\n    }\n  }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: $custom-select-height;\n  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n  font-family: $custom-select-font-family;\n  @include font-size($custom-select-font-size);\n  font-weight: $custom-select-font-weight;\n  line-height: $custom-select-line-height;\n  color: $custom-select-color;\n  vertical-align: middle;\n  background: $custom-select-background;\n  background-color: $custom-select-bg;\n  border: $custom-select-border-width solid $custom-select-border-color;\n  @include border-radius($custom-select-border-radius, 0);\n  @include box-shadow($custom-select-box-shadow);\n  appearance: none;\n\n  &:focus {\n    border-color: $custom-select-focus-border-color;\n    outline: 0;\n    @if $enable-shadows {\n      box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;\n    } @else {\n      box-shadow: $custom-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: $custom-select-padding-x;\n    background-image: none;\n  }\n\n  &:disabled {\n    color: $custom-select-disabled-color;\n    background-color: $custom-select-disabled-bg;\n  }\n\n  // Hides the default caret in IE11\n  &::-ms-expand {\n    display: none;\n  }\n}\n\n.custom-select-sm {\n  height: $custom-select-height-sm;\n  padding-top: $custom-select-padding-y-sm;\n  padding-bottom: $custom-select-padding-y-sm;\n  padding-left: $custom-select-padding-x-sm;\n  @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n  height: $custom-select-height-lg;\n  padding-top: $custom-select-padding-y-lg;\n  padding-bottom: $custom-select-padding-y-lg;\n  padding-left: $custom-select-padding-x-lg;\n  @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: $custom-file-height;\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: $custom-file-height;\n  margin: 0;\n  opacity: 0;\n\n  &:focus ~ .custom-file-label {\n    border-color: $custom-file-focus-border-color;\n    box-shadow: $custom-file-focus-box-shadow;\n  }\n\n  &:disabled ~ .custom-file-label {\n    background-color: $custom-file-disabled-bg;\n  }\n\n  @each $lang, $value in $custom-file-text {\n    &:lang(#{$lang}) ~ .custom-file-label::after {\n      content: $value;\n    }\n  }\n\n  ~ .custom-file-label[data-browse]::after {\n    content: attr(data-browse);\n  }\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: $custom-file-height;\n  padding: $custom-file-padding-y $custom-file-padding-x;\n  font-family: $custom-file-font-family;\n  font-weight: $custom-file-font-weight;\n  line-height: $custom-file-line-height;\n  color: $custom-file-color;\n  background-color: $custom-file-bg;\n  border: $custom-file-border-width solid $custom-file-border-color;\n  @include border-radius($custom-file-border-radius);\n  @include box-shadow($custom-file-box-shadow);\n\n  &::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 3;\n    display: block;\n    height: $custom-file-height-inner;\n    padding: $custom-file-padding-y $custom-file-padding-x;\n    line-height: $custom-file-line-height;\n    color: $custom-file-button-color;\n    content: \"Browse\";\n    @include gradient-bg($custom-file-button-bg);\n    border-left: inherit;\n    @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n  }\n}\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.custom-range {\n  width: 100%;\n  height: calc(#{$custom-range-thumb-height} + #{$custom-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: $custom-range-thumb-focus-box-shadow; }\n    &::-moz-range-thumb     { box-shadow: $custom-range-thumb-focus-box-shadow; }\n    &::-ms-thumb            { box-shadow: $custom-range-thumb-focus-box-shadow; }\n  }\n\n  &::-moz-focus-outer {\n    border: 0;\n  }\n\n  &::-webkit-slider-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-webkit-slider-runnable-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent; // Why?\n    cursor: $custom-range-track-cursor;\n    background-color: $custom-range-track-bg;\n    border-color: transparent;\n    @include border-radius($custom-range-track-border-radius);\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-moz-range-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-moz-range-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent;\n    cursor: $custom-range-track-cursor;\n    background-color: $custom-range-track-bg;\n    border-color: transparent; // Firefox specific?\n    @include border-radius($custom-range-track-border-radius);\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-ms-thumb {\n    width: $custom-range-thumb-width;\n    height: $custom-range-thumb-height;\n    margin-top: 0; // Edge specific\n    margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n    margin-left: $custom-range-thumb-focus-box-shadow-width;  // Workaround that overflowed box-shadow is hidden.\n    @include gradient-bg($custom-range-thumb-bg);\n    border: $custom-range-thumb-border;\n    @include border-radius($custom-range-thumb-border-radius);\n    @include box-shadow($custom-range-thumb-box-shadow);\n    @include transition($custom-forms-transition);\n    appearance: none;\n\n    &:active {\n      @include gradient-bg($custom-range-thumb-active-bg);\n    }\n  }\n\n  &::-ms-track {\n    width: $custom-range-track-width;\n    height: $custom-range-track-height;\n    color: transparent;\n    cursor: $custom-range-track-cursor;\n    background-color: transparent;\n    border-color: transparent;\n    border-width: $custom-range-thumb-height / 2;\n    @include box-shadow($custom-range-track-box-shadow);\n  }\n\n  &::-ms-fill-lower {\n    background-color: $custom-range-track-bg;\n    @include border-radius($custom-range-track-border-radius);\n  }\n\n  &::-ms-fill-upper {\n    margin-right: 15px; // arbitrary?\n    background-color: $custom-range-track-bg;\n    @include border-radius($custom-range-track-border-radius);\n  }\n\n  &:disabled {\n    &::-webkit-slider-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n\n    &::-webkit-slider-runnable-track {\n      cursor: default;\n    }\n\n    &::-moz-range-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n\n    &::-moz-range-track {\n      cursor: default;\n    }\n\n    &::-ms-thumb {\n      background-color: $custom-range-thumb-disabled-bg;\n    }\n  }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s or `<ul>`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  @include hover-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    @include hover-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,\n  > .container-fluid {\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\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  @include hover-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    float: none;\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  @include hover-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,\n        > .container-fluid {\n          padding-right: 0;\n          padding-left: 0;\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,\n        > .container-fluid {\n          flex-wrap: nowrap;\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    @include hover-focus {\n      color: $navbar-light-brand-hover-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-light-color;\n\n      @include hover-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: $navbar-light-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-light-color;\n    a {\n      color: $navbar-light-active-color;\n\n      @include hover-focus {\n        color: $navbar-light-active-color;\n      }\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    @include hover-focus {\n      color: $navbar-dark-brand-hover-color;\n    }\n  }\n\n  .navbar-nav {\n    .nav-link {\n      color: $navbar-dark-color;\n\n      @include hover-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: $navbar-dark-toggler-icon-bg;\n  }\n\n  .navbar-text {\n    color: $navbar-dark-color;\n    a {\n      color: $navbar-dark-active-color;\n\n      @include hover-focus {\n        color: $navbar-dark-active-color;\n      }\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  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  @include 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\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// Columns\n//\n\n.card-columns {\n  .card {\n    margin-bottom: $card-columns-margin;\n  }\n\n  @include media-breakpoint-up(sm) {\n    column-count: $card-columns-count;\n    column-gap: $card-columns-gap;\n    orphans: 1;\n    widows: 1;\n\n    .card {\n      display: inline-block; // Don't let them vertically span multiple columns\n      width: 100%; // Don't let their width change\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 {\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;\n\n    &::before {\n      display: inline-block; // Suppress underlining of the separator in modern browsers\n      padding-right: $breadcrumb-item-padding;\n      color: $breadcrumb-divider-color;\n      content: $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  @include border-radius();\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: $pagination-padding-y $pagination-padding-x;\n  margin-left: -$pagination-border-width;\n  line-height: $pagination-line-height;\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: 2;\n    outline: $pagination-focus-outline;\n    box-shadow: $pagination-focus-box-shadow;\n  }\n}\n\n.page-item {\n  &:first-child {\n    .page-link {\n      margin-left: 0;\n      @include border-left-radius($border-radius);\n    }\n  }\n  &:last-child {\n    .page-link {\n      @include border-right-radius($border-radius);\n    }\n  }\n\n  &.active .page-link {\n    z-index: 1;\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\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    &:first-child {\n      .page-link {\n        @include border-left-radius($border-radius);\n      }\n    }\n    &:last-child {\n      .page-link {\n        @include border-right-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  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  @include border-radius($badge-border-radius);\n  @include transition($badge-transition);\n\n  @at-root a#{&} {\n    @include hover-focus {\n      text-decoration: none;\n    }\n  }\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// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n  padding-right: $badge-pill-padding-x;\n  padding-left: $badge-pill-padding-x;\n  @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n  .badge-#{$color} {\n    @include badge-variant($value);\n  }\n}\n","@mixin badge-variant($bg) {\n  color: color-yiq($bg);\n  background-color: $bg;\n\n  @at-root a#{&} {\n    @include hover-focus {\n      color: color-yiq($bg);\n      background-color: darken($bg, 10%);\n    }\n\n    &:focus,\n    &.focus {\n      outline: 0;\n      box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n    }\n  }\n}\n",".jumbotron {\n  padding: $jumbotron-padding ($jumbotron-padding / 2);\n  margin-bottom: $jumbotron-padding;\n  color: $jumbotron-color;\n  background-color: $jumbotron-bg;\n  @include border-radius($border-radius-lg);\n\n  @include media-breakpoint-up(sm) {\n    padding: ($jumbotron-padding * 2) $jumbotron-padding;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  @include border-radius(0);\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(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $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  hr {\n    border-top-color: darken($border, 5%);\n  }\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    from { background-position: $progress-height 0; }\n    to { background-position: 0 0; }\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    @media (prefers-reduced-motion: reduce) {\n      animation: none;\n    }\n  }\n}\n",".media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\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  @include hover-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  // Place the border on the list items and negative margin up for better styling\n  margin-bottom: -$list-group-border-width;\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    margin-bottom: 0;\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\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        margin-right: -$list-group-border-width;\n        margin-bottom: 0;\n\n        &:first-child {\n          @include border-left-radius($list-group-border-radius);\n          @include border-top-right-radius(0);\n        }\n\n        &:last-child {\n          margin-right: 0;\n          @include border-right-radius($list-group-border-radius);\n          @include border-bottom-left-radius(0);\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: 0;\n    border-left: 0;\n    @include border-radius(0);\n\n    &:last-child {\n      margin-bottom: -$list-group-border-width;\n    }\n  }\n\n  &:first-child {\n    .list-group-item:first-child {\n      border-top: 0;\n    }\n  }\n\n  &:last-child {\n    .list-group-item:last-child {\n      margin-bottom: 0;\n      border-bottom: 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, theme-color-level($color, -9), theme-color-level($color, 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      @include hover-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  float: right;\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  @include hover {\n    color: $close-color;\n    text-decoration: none;\n  }\n\n  &:not(:disabled):not(.disabled) {\n    @include hover-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-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 should there 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  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;\n  border-top: $modal-footer-border-width solid $modal-footer-border-color;\n  @include border-bottom-radius($modal-content-border-radius);\n\n  // Easily place margin between footer elements\n  > :not(:first-child) { margin-left: .25rem; }\n  > :not(:last-child) { margin-right: .25rem; }\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  .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  .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  .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  .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  .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  .arrow {\n    position: absolute;\n    display: block;\n    width: $popover-arrow-width;\n    height: $popover-arrow-height;\n    margin: 0 $border-radius-lg;\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  > .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  > .arrow {\n    left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n    width: $popover-arrow-height;\n    height: $popover-arrow-width;\n    margin: $border-radius-lg 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  > .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  > .arrow {\n    right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);\n    width: $popover-arrow-height;\n    height: $popover-arrow-width;\n    margin: $border-radius-lg 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  $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});\n  @include border-top-radius($offset-border-width);\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(0s $carousel-transition-duration opacity);\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  @include hover-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: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n  }\n}\n.carousel-control-next {\n  right: 0;\n  @if $enable-gradients {\n    background: 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: $carousel-control-prev-icon-bg;\n}\n.carousel-control-next-icon {\n  background-image: $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: 15;\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  z-index: 10;\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","// stylelint-disable declaration-no-important\n\n.align-baseline    { vertical-align: baseline !important; } // Browser default\n.align-top         { vertical-align: top !important; }\n.align-middle      { vertical-align: middle !important; }\n.align-bottom      { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top    { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    background-color: $color !important;\n  }\n  a#{$parent},\n  button#{$parent} {\n    @include hover-focus {\n      background-color: darken($color, 10%) !important;\n    }\n  }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n  #{$parent} {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n  @include bg-variant(\".bg-#{$color}\", $value);\n}\n\n@if $enable-gradients {\n  @each $color, $value in $theme-colors {\n    @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value);\n  }\n}\n\n.bg-white {\n  background-color: $white !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n","// stylelint-disable property-blacklist, declaration-no-important\n\n//\n// Border\n//\n\n.border         { border: $border-width solid $border-color !important; }\n.border-top     { border-top: $border-width solid $border-color !important; }\n.border-right   { border-right: $border-width solid $border-color !important; }\n.border-bottom  { border-bottom: $border-width solid $border-color !important; }\n.border-left    { border-left: $border-width solid $border-color !important; }\n\n.border-0        { border: 0 !important; }\n.border-top-0    { border-top: 0 !important; }\n.border-right-0  { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0   { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n  .border-#{$color} {\n    border-color: $value !important;\n  }\n}\n\n.border-white {\n  border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n  border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n  border-radius: $border-radius !important;\n}\n\n.rounded-top {\n  border-top-left-radius: $border-radius !important;\n  border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n  border-top-right-radius: $border-radius !important;\n  border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n  border-top-left-radius: $border-radius !important;\n  border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n  border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\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    @each $value in $displays {\n      .d#{$infix}-#{$value} { display: $value !important; }\n    }\n  }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n  @each $value in $displays {\n    .d-print-#{$value} { display: $value !important; }\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\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    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n  $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n  $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n  .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n    &::before {\n      padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .flex#{$infix}-row            { flex-direction: row !important; }\n    .flex#{$infix}-column         { flex-direction: column !important; }\n    .flex#{$infix}-row-reverse    { flex-direction: row-reverse !important; }\n    .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n    .flex#{$infix}-wrap         { flex-wrap: wrap !important; }\n    .flex#{$infix}-nowrap       { flex-wrap: nowrap !important; }\n    .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n    .flex#{$infix}-fill         { flex: 1 1 auto !important; }\n    .flex#{$infix}-grow-0       { flex-grow: 0 !important; }\n    .flex#{$infix}-grow-1       { flex-grow: 1 !important; }\n    .flex#{$infix}-shrink-0     { flex-shrink: 0 !important; }\n    .flex#{$infix}-shrink-1     { flex-shrink: 1 !important; }\n\n    .justify-content#{$infix}-start   { justify-content: flex-start !important; }\n    .justify-content#{$infix}-end     { justify-content: flex-end !important; }\n    .justify-content#{$infix}-center  { justify-content: center !important; }\n    .justify-content#{$infix}-between { justify-content: space-between !important; }\n    .justify-content#{$infix}-around  { justify-content: space-around !important; }\n\n    .align-items#{$infix}-start    { align-items: flex-start !important; }\n    .align-items#{$infix}-end      { align-items: flex-end !important; }\n    .align-items#{$infix}-center   { align-items: center !important; }\n    .align-items#{$infix}-baseline { align-items: baseline !important; }\n    .align-items#{$infix}-stretch  { align-items: stretch !important; }\n\n    .align-content#{$infix}-start   { align-content: flex-start !important; }\n    .align-content#{$infix}-end     { align-content: flex-end !important; }\n    .align-content#{$infix}-center  { align-content: center !important; }\n    .align-content#{$infix}-between { align-content: space-between !important; }\n    .align-content#{$infix}-around  { align-content: space-around !important; }\n    .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n    .align-self#{$infix}-auto     { align-self: auto !important; }\n    .align-self#{$infix}-start    { align-self: flex-start !important; }\n    .align-self#{$infix}-end      { align-self: flex-end !important; }\n    .align-self#{$infix}-center   { align-self: center !important; }\n    .align-self#{$infix}-baseline { align-self: baseline !important; }\n    .align-self#{$infix}-stretch  { align-self: stretch !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .float#{$infix}-left  { float: left !important; }\n    .float#{$infix}-right { float: right !important; }\n    .float#{$infix}-none  { float: none !important; }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n  .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n  .position-#{$position} { position: $position !important; }\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.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  @include sr-only();\n}\n\n.sr-only-focusable {\n  @include sr-only-focusable();\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;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n// Use in conjunction with .sr-only 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// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n  &:active,\n  &:focus {\n    position: static;\n    width: auto;\n    height: auto;\n    overflow: visible;\n    clip: auto;\n    white-space: normal;\n  }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n  @each $size, $length in $sizes {\n    .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n  }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","//\n// Stretched link\n//\n\n.stretched-link {\n  &::after {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: 1;\n    // Just in case `pointer-events: none` is set on a parent\n    pointer-events: auto;\n    content: \"\";\n    // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n    background-color: rgba(0, 0, 0, 0);\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @each $prop, $abbrev in (margin: m, padding: p) {\n      @each $size, $length in $spacers {\n        .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n        .#{$abbrev}t#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-top: $length !important;\n        }\n        .#{$abbrev}r#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-right: $length !important;\n        }\n        .#{$abbrev}b#{$infix}-#{$size},\n        .#{$abbrev}y#{$infix}-#{$size} {\n          #{$prop}-bottom: $length !important;\n        }\n        .#{$abbrev}l#{$infix}-#{$size},\n        .#{$abbrev}x#{$infix}-#{$size} {\n          #{$prop}-left: $length !important;\n        }\n      }\n    }\n\n    // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n    @each $size, $length in $spacers {\n      @if $size != 0 {\n        .m#{$infix}-n#{$size} { margin: -$length !important; }\n        .mt#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-top: -$length !important;\n        }\n        .mr#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-right: -$length !important;\n        }\n        .mb#{$infix}-n#{$size},\n        .my#{$infix}-n#{$size} {\n          margin-bottom: -$length !important;\n        }\n        .ml#{$infix}-n#{$size},\n        .mx#{$infix}-n#{$size} {\n          margin-left: -$length !important;\n        }\n      }\n    }\n\n    // Some special margin utils\n    .m#{$infix}-auto { margin: auto !important; }\n    .mt#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-top: auto !important;\n    }\n    .mr#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-right: auto !important;\n    }\n    .mb#{$infix}-auto,\n    .my#{$infix}-auto {\n      margin-bottom: auto !important;\n    }\n    .ml#{$infix}-auto,\n    .mx#{$infix}-auto {\n      margin-left: auto !important;\n    }\n  }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify  { text-align: justify !important; }\n.text-wrap     { white-space: normal !important; }\n.text-nowrap   { white-space: nowrap !important; }\n.text-truncate { @include text-truncate; }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .text#{$infix}-left   { text-align: left !important; }\n    .text#{$infix}-right  { text-align: right !important; }\n    .text#{$infix}-center { text-align: center !important; }\n  }\n}\n\n// Transformation\n\n.text-lowercase  { text-transform: lowercase !important; }\n.text-uppercase  { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light   { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal  { font-weight: $font-weight-normal !important; }\n.font-weight-bold    { font-weight: $font-weight-bold !important; }\n.font-weight-bolder  { font-weight: $font-weight-bolder !important; }\n.font-italic         { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n  @include text-emphasis-variant(\".text-#{$color}\", $value);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n  @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n  word-break: break-word !important; // IE & < Edge 18\n  overflow-wrap: break-word !important;\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\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","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $color !important;\n  }\n  @if $emphasized-link-hover-darken-percentage != 0 {\n    a#{$parent} {\n      @include hover-focus {\n        color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n      }\n    }\n  }\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n  // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n\n  @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n  @media print {\n    *,\n    *::before,\n    *::after {\n      // Bootstrap specific; comment out `color` and `background`\n      //color: $black !important; // Black prints faster\n      text-shadow: none !important;\n      //background: transparent !important;\n      box-shadow: none !important;\n    }\n\n    a {\n      &:not(.btn) {\n        text-decoration: underline;\n      }\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //a[href]::after {\n    //  content: \" (\" attr(href) \")\";\n    //}\n\n    abbr[title]::after {\n      content: \" (\" attr(title) \")\";\n    }\n\n    // Bootstrap specific; comment the following selector out\n    //\n    // Don't show links that are fragment identifiers,\n    // or use the `javascript:` pseudo protocol\n    //\n\n    //a[href^=\"#\"]::after,\n    //a[href^=\"javascript:\"]::after {\n    // content: \"\";\n    //}\n\n    pre {\n      white-space: pre-wrap !important;\n    }\n    pre,\n    blockquote {\n      border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n      page-break-inside: avoid;\n    }\n\n    //\n    // Printing Tables:\n    // http://css-discuss.incutio.com/wiki/Printing_Tables\n    //\n\n    thead {\n      display: table-header-group;\n    }\n\n    tr,\n    img {\n      page-break-inside: avoid;\n    }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    h2,\n    h3 {\n      page-break-after: avoid;\n    }\n\n    // Bootstrap specific changes start\n\n    // Specify a size and min-width to make printing closer across browsers.\n    // We don't set margin here because it breaks `size` in Chrome. We also\n    // don't use `!important` on `size` as it breaks in Chrome.\n    @page {\n      size: $print-page-size;\n    }\n    body {\n      min-width: $print-body-min-width !important;\n    }\n    .container {\n      min-width: $print-body-min-width !important;\n    }\n\n    // Bootstrap components\n    .navbar {\n      display: none;\n    }\n    .badge {\n      border: $border-width solid $black;\n    }\n\n    .table {\n      border-collapse: collapse !important;\n\n      td,\n      th {\n        background-color: $white !important;\n      }\n    }\n\n    .table-bordered {\n      th,\n      td {\n        border: 1px solid $gray-300 !important;\n      }\n    }\n\n    .table-dark {\n      color: inherit;\n\n      th,\n      td,\n      thead th,\n      tbody + tbody {\n        border-color: $table-border-color;\n      }\n    }\n\n    .table .thead-dark th {\n      color: inherit;\n      border-color: $table-border-color;\n    }\n\n    // Bootstrap specific changes end\n  }\n}\n"]}
\ No newline at end of file
diff --git a/web/osthoffen-master/WEB/PUBLIC/style/style.css b/web/osthoffen-master/WEB/PUBLIC/style/style.css
deleted file mode 100644
index f2160cd..0000000
--- a/web/osthoffen-master/WEB/PUBLIC/style/style.css
+++ /dev/null
@@ -1,237 +0,0 @@
-.center_div{
-    margin-left:auto;
-    margin-right: auto;
-}
-
-
-html{
-    height: 100%;
-}
-
-body, html{
-    position: absolute;
-    right: 0;
-    left: 0;
-    top: 0;
-    bottom: 0;
-    background-color: #f2f2f2;
-    background-image: linear-gradient(to bottom, rgba(242,242,242,0) 0%,rgba(242,242,242,1) 100%), url("https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/images/fond-chateau.jpg"); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
-    background-repeat: no-repeat;
-    background-position-y: 5%;
-    background-size: 100% 800px ;
-    background-attachment: fixed;
-}
-
-.background{
-    /* background-image: linear-gradient(to bottom, rgba(242,242,242,0) 0%,rgba(242,242,242,1) 100%), url("https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/images/fond-chateau.jpg"); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+
-
-    background-repeat: no-repeat;
-    background-size: 100% 800px ;
-    background-attachment: fixed; */
-    height: 85%;
-    text-align: center;
-    padding-top: 5%;
-}
-
-.menu{
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    z-index: 1;
-}
-
-.navbar-nav-right{
-    right: 1rem;
-    position: absolute;
-}
-
-.aside-left {
-
-    width: 15%;
-    float: left;
-   background-color: white;
-   display: inline-block;
-   margin: 20px;
-   margin-left: 5%;
-   text-align: left;
-   padding: 10px;
-   border-radius: 3px;
-}
-
-.aside-right {
-
-    width: 20%;
-   float: right;
-   background-color: white;
-   display: inline-block;
-   margin: 20px;
-   margin-right: 5%;
-   text-align: left;
-   padding: 10px;
-   border-radius: 3px;
-}
-
-.content {
-   background-color: white;
-   display: block;
-   margin: 20px;
-   border-radius: 3px;
-   border: 1px solid #ddd;
-   padding: 10px;
-   width: 50%;
-   margin-left: 22%;
-   margin-right: 30%;
-   text-align: left;
-   margin-bottom: 100px;
-}
-
-
-.message{
-    color:red;
-}
-
-
-.image_profil{
-
-    float: right;
-}
-
-.image_aside{
-    display: inline-block;
-    float: left;
-}
-
-.liens_aside{
-    margin: -5px 5px;
-    display: inline-block;
-}
-
-#edit{
-    width: 80%;
-}
-
-.editor {
-    min-height: 300px;
-    width: 100%;
-    border: 1px solid black;
-}
-
-.editor-commands td{
-    padding: 0px;
-     width: 6.25%;
-    display: inline-block;
-}
-.editor-commands-line{
-    width: 100%;
-    display: block;
-}
-
-#Envoi_button{
-    margin: auto;
-}
-
-.commentaire{
-    min-height: 100px;
-    display: block;
-}
-
-.commentaire_selected{
-    min-height: 100px;
-    display: block;
-    background-color: rgba(0.1,5,200,0.2) !important;
-}
-
-.notation_commentaire{
-    min-width: 40px;
-    background-color: rgba(0,0,0,0.03);
-}
-
-.infos_commentaire{
-    min-width: 120px;
-    background-color: rgba(0,0,0,0.03);
-}
-.last-comm{
-    line-height: 80%;
-}
-
-#haut:hover{
-     content: url('https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/icones/haut_vote.png');
-}
-
-#bas:hover{
-     content: url('https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/icones/bas_vote.png');
-}
-
-#btn_next{
-    background-image:  url('https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/icones/arrow-right.png');
-    border: none;
-    width: 30px;
-    height: 18px;
-    background-size: cover !important;
-    cursor: pointer;
-    background-color: #ffffff00;
-    float: right;
-    transform: translate(50%, -130%);
-
-}
-#btn_previous{
-    background-image:  url('https://osr-adminbase.unistra.fr/~l.lett/forum/WEB/PUBLIC/medias/icones/arrow-left.png');
-    border: none;
-    width: 30px;
-    height: 18px;
-    background-size: cover !important;
-    cursor: pointer;
-    background-color: #ffffff00;
-    float: left;
-    transform: translate(-50%, -130%);
-}
-
-#txt_result{
-    text-align: center;
-    line-height: 80%;
-    margin-bottom: 5px;
-    font-weight:bold;
-}
-
-#date_result{
-    text-align: center;
-    line-height: 80%;
-    margin-bottom: 5px;
-    font-weight:bold;
-}
-
-.horaire{
-    padding-right: 20px;
-}
-
-.btn_ligne{
-    background-color: #004C93;
-    color: #FFFFFF;
-    border-radius: 50%;
-    width:60px;
-    height: 60px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-size: 1.5rem;
-    line-height: 2.5rem;
-    font-weight: bolder;
-}
-/*    MODIFICATION POUR BOOTSTRAP    */
-
-@media (min-width: 576px) {
-    .col-sm-10 {
-        flex: 0 0 80%;
-        max-width: 80%;
-    }
-
-    .col-sm-2 {
-        flex: 0 0 20%;
-        max-width: 20%;
-    }
-}
-
-.form-control{
-    width:50%;
-}
diff --git a/web/osthoffen-master/WEB/Views/accueil/about_view.php b/web/osthoffen-master/WEB/Views/accueil/about_view.php
deleted file mode 100644
index 24cddae..0000000
--- a/web/osthoffen-master/WEB/Views/accueil/about_view.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-
-<content class="content">
-      Ce site a été réalisé en avril 2019, par Lucas LETT.<br>
-      L'objectif est de créé un forum pour l'UE de Programmation WEB.<br><br>
-
-      Je ne tiens à dire qu'une seule chose :
-
-      <div class="spoiler"><br>
-        <input onclick="showSpoiler();" value="Découvrir ce que je tiens à dire"
-         type="button">
-        <div id="spoiler" style="display: none;">
-            Vive le PHP, vive Strasbourg et vive la CTS !
-        </div>
-        </div>
-
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
-
-
-<script type="text/javascript">
-
-    function showSpoiler(){
-        if($('#spoiler').is(":visible")){
-            $('#spoiler').hide();
-        } else {
-            $('#spoiler').show();
-        }
-    }
-</script>
diff --git a/web/osthoffen-master/WEB/Views/accueil/accueil_view.php b/web/osthoffen-master/WEB/Views/accueil/accueil_view.php
deleted file mode 100644
index d0d1b56..0000000
--- a/web/osthoffen-master/WEB/Views/accueil/accueil_view.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-
-<content class="content">
-      Bienvenue sur le forum d'Osthoffen !<br><br>
-      Vous comprendrez dans la page "Le Village" la raison pour laquelle Osthoffen est un super village !<br><br>
-
-      Venez aussi discuter avec nous sur notre super forum !
-
-      <img width="100%" src="https://www.survoldefrance.fr/photos/highdef/52/52539.jpg">
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/accueil/contact_view.php b/web/osthoffen-master/WEB/Views/accueil/contact_view.php
deleted file mode 100644
index c5d8308..0000000
--- a/web/osthoffen-master/WEB/Views/accueil/contact_view.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-
-<content class="content">
-
-
-    <div class="message">
-    <?php
-    if(isset($_SESSION['message'])){
-        echo $_SESSION['message'];
-    }
-
-    ?>
-    <br>
-    </div>
-
-
-      <h3> Mise en contact </h3>
-
-      Oh ! Je ne vous avais pas vu.<br>
-      Profitons en pour faire connaissance.<br>
-      Je m'appelle LETT. Lucas LETT.<br>
-      Et figurez vous que je suis étudiant<br>
-      Si Si, j'vous jure !<br>
-      <br>
-      Bon, normalement, le sujet impose que je mette ici un formulaire de contact qui envoie des mails.<br>
-      Mais j'ai la flemme et il est déjà dimanche 17h, et j'ai pas commencé à préparer mon oral de com' pour demain.<br>
-      Mais bon, si vous êtes sage, je veux bien faire un effort...<br>
-      <br>
-
-
-            <div class="spoiler"><br>
-              <input onclick="showForm();" value="Oui, je suis sage"
-               type="button">
-               <input onclick="showSheh();" value="Non, je suis une racaille"
-                type="button">
-              <div id="spoiler" style="display: none;">
-                  Sheh !
-              </div>
-              <div id="form" style="display: none;">
-                  C'est biennnn, voilà votre récompence !
-                 <br><br>
-
-                 <form action="<?php echo $adresse_site ?>/accueil/mail" method="post">
-                     <div class="form-group">
-                        <label for="exampleFormControlInput1">Votre email</label>
-                        <input name="email" type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com">
-                      </div>
-                      <div class="form-group">
-                         <label for="exampleFormControlInput1">Objet</label>
-                         <input name="objet" type="text" class="form-control" id="exampleFormControlInput1" placeholder="">
-                       </div>
-                      <div class="form-group">
-                        <label for="exampleFormControlTextarea1">Votre Message</label>
-                        <textarea name="message" class="form-control" id="exampleFormControlTextarea1" rows="5"></textarea>
-                      </div>
-                      <button type="submit" class="btn btn-primary">Envoyer</button>
-                 </form>
-              </div>
-              </div>
-
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
-
-
-<script type="text/javascript">
-
-    function showForm(){
-        if($('#form').is(":visible")){
-            $('#form').hide();
-        } else {
-            $('#form').show();
-            $('#spoiler').hide();
-        }
-    }
-
-    function showSheh(){
-        if($('#spoiler').is(":visible")){
-            $('#spoiler').hide();
-        } else {
-            $('#spoiler').show();
-            $('#form').hide();
-        }
-    }
-</script>
diff --git a/web/osthoffen-master/WEB/Views/accueil/village_view.php b/web/osthoffen-master/WEB/Views/accueil/village_view.php
deleted file mode 100644
index 31b7f9e..0000000
--- a/web/osthoffen-master/WEB/Views/accueil/village_view.php
+++ /dev/null
@@ -1,106 +0,0 @@
-
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-
-<content class="content">
-Osthoffen c'est le meilleur village du monde, un point c'est tout !
-
-</content>
-
-
-<content class="content">
-    <h4>Prochains passages des cars de la ligne 240 à Osthoffen</h4>
-
-    <table class="table">
-        <tr class="table-primary">
-            <td><span class="btn_ligne">240</span></td>
-            <td><b>Osthoffen Le Tilleul</b><br>Direction Strasbourg</td>
-            <td><div class="horaire" id="bus1"></div></td>
-        </tr>
-        <tr class="table-info">
-            <td><span class="btn_ligne">240</span></td>
-            <td><b>Osthoffen Le Tilleul</b><br>Direction Osthoffen/Scharrachbergheim</td>
-            <td><div class="horaire" id="bus2"></div></td>
-        </tr>
-        <tr class="table-primary">
-            <td><span class="btn_ligne">240</span></td>
-            <td><b>Osthoffen Les Vignes</b><br>Direction Osthoffen/Scharrachbergheim</td>
-            <td><div class="horaire" id="bus3"></div></td>
-        </tr>
-        <tr class="table-info">
-            <td><span class="btn_ligne">240</span>  </td>
-            <td><b>Osthoffen Mairie</b><br>Direction Strasbourg</td>
-            <td><div class="horaire" id="bus4"></div></td>
-        </tr>
-    </table>
-
-    <div class="spoiler"><br>
-      <input onclick="showSpoiler();" value="Cliquez ici en cas de non-affichage des horaires !"
-       type="button">
-      <div id="spoiler" style="display: none;">
-    <b>note :</b><br>Les prochains passages peuvent ne pas s'afficher et vous aurez sûrement cette erreur sur chrome <code>No 'Access-Control-Allow-Origin' header is present on the requested resource.</code><br>
-    J'ai trouvé une parade en installant l'extension chrome <b>Allow-Control-Allow-Origin: *</b> et en l'activant.
-    </div></div>
-</br>
-    <h4>Osthoffen, c'est juste là !</h4>
-    <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d21111.692423120927!2d7.545078981328054!3d48.59143500818271!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x4796b1a84a5721bf%3A0x51bb8de161546f5a!2sOsthoffen!5e0!3m2!1sfr!2sfr!4v1556461934852!5m2!1sfr!2sfr" width="100%" height="350" frameborder="0" style="border:0" allowfullscreen></iframe>
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
-
-
-<script>
-
-    displayProchainPassage("bus1","240","A","OSTHOFFENLeTilleul","cur");
-    displayProchainPassage("bus2","240","R","OSTHOFFENLeTilleul","cur");
-    displayProchainPassage("bus3","240","R","OSTHOFFENLesVignes","cur");
-    displayProchainPassage("bus4","240","A","OSTHOFFENMairie","cur");
-
-
-    function showSpoiler(){
-        if($('#spoiler').is(":visible")){
-            $('#spoiler').hide();
-        } else {
-            $('#spoiler').show();
-        }
-    }
-
-
-
-function displayProchainPassage(div_id,idline,sens,station,option) //ou R
-{
-
-        var input_save_ts = $('#'+div_id+" #save_ts_result");
-    	var _save_ts = input_save_ts.val();
-
-		if(station!="" && station!="default")
-		{
-			$.post(
-				"https://www.ctbr67.fr/wp-content/themes/CTBR/prochain_passage/ajax/passage.php",
-				{ mode : "displayProchainPassage", option : option,  save_ts : _save_ts, id_line : idline, sens : sens, station : station }).done(
-				function(data){
-                        $('#'+div_id).html(data);
-                        $('.subtitle-blue').hide();
-                        $('#'+div_id+' .col-results:lt(3)').hide();
-                        $('.col-results-title').hide();
-                        //$('#save_ts_result').hide();
-                        $('#'+div_id+' #btn_previous').attr("onclick",'displayProchainPassage("'+div_id+'","'+idline+'","'+sens+'","'+station+'","prev")');
-                        $('#'+div_id+' #btn_next').attr("onclick",'displayProchainPassage("'+div_id+'","'+idline+'","'+sens+'","'+station+'","next")');
-
-				   }
-			);
-
-
-		}
-}
-
-</script>
diff --git a/web/osthoffen-master/WEB/Views/categorie/delete_view.php b/web/osthoffen-master/WEB/Views/categorie/delete_view.php
deleted file mode 100644
index 2bc3a3f..0000000
--- a/web/osthoffen-master/WEB/Views/categorie/delete_view.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_forum.php";?>
-
-
-<content class="content">
-     <h3> Supprimer une catégorie </h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/categorie/delete_cat">
-        <div class="form-group row">
-          <label for="InputId" class="col-sm-2 col-form-label">Catégorie à supprimer</label>
-          <div class="col-sm-10">
-              <select class="custom-select" id="inputGroupSelect04" name="id">
-                  <option selected>--</option>
-                  <?php
-
-                  while($cat = $liste_categorie->fetch()){
-                      ?>
-                          <option value="<?php echo $cat['ID'] ?>"><?php echo $cat['Intitule'] ?></option>
-
-                  <?php }
-
-
-                   ?>
-              </select>
-          </div>
-        </div>
-
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Supprimer</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/categorie/edit_view.php b/web/osthoffen-master/WEB/Views/categorie/edit_view.php
deleted file mode 100644
index df77473..0000000
--- a/web/osthoffen-master/WEB/Views/categorie/edit_view.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_forum.php";?>
-
-
-<content class="content">
-     <h3> Editer une catégorie </h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/categorie/edit_cat">
-        <div class="form-group row">
-          <label for="InputId" class="col-sm-2 col-form-label">Catégorie à modifier</label>
-          <div class="col-sm-10">
-              <select class="custom-select" id="inputGroupSelect04" name="id">
-                  <option selected>--</option>
-                  <?php
-
-                  while($cat = $liste_categorie->fetch()){
-                      ?>
-                          <option value="<?php echo $cat['ID'] ?>"><?php echo $cat['Intitule'] ?></option>
-
-                  <?php }
-
-
-                   ?>
-              </select>
-          </div>
-        </div>
-
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Nouveau nom</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" placeholder="Nouveau nom de la catégorie" name="new_name" required>
-        </div>
-      </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Renommer</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/categorie/index_view.php b/web/osthoffen-master/WEB/Views/categorie/index_view.php
deleted file mode 100644
index 311bfef..0000000
--- a/web/osthoffen-master/WEB/Views/categorie/index_view.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_categorie.php";?>
-
-
-
-<content class="content">
-      <h3> <p style="overflow:hidden; text-overflow:ellipsis; white-space: nowrap; width:100%"><?php echo $nom_categorie; ?> </p></h3>
-
-      <div class="message">
-      <?php
-      if(isset($_SESSION['message'])){
-          echo $_SESSION['message'];
-      }
-
-      ?>
-      <br>
-      </div>
-
-      <table class="table table-striped" style="table-layout:fixed;">
-          <thead>
-              <tr>
-                  <th width="32%">Topics</th>
-                  <th width="13%">Auteur</th>
-                  <th width="10%">Note</th>
-                  <th width="15%">Réponses</th>
-                  <th width="20%" style="line-height: 80%;">Dernier commentaire</th>
-              </tr>
-          </thead>
-          <tbody>
-              <?php
-
-              $topic = new topic();
-              $topic->set_db($db);
-
-              if($liste_categorie == false){
-                  print_r($liste_categorie);
-                  ?><tr><td colspan="5  ">Il n'y a pas de topics</td></tr><?php
-              } else {
-                  while($cat = $liste_categorie->fetch()){
-                      ?>
-                      <tr>
-                      <td><p style="overflow:hidden; text-overflow:ellipsis;"><a href="<?php echo $adresse_site; ?>/topic/view/<?php echo $cat['ID']?>"><?php echo $cat['Intitule'] ?></a></p></td>
-                      <td><p style="overflow:hidden; text-overflow:ellipsis;"><?php echo $categorie->get_auteur($cat['ID']); ?></p></td>
-                      <td><?php if($cat['Note_Moyenne'] == -1) {echo "--";} else {echo $cat['Note_Moyenne'];} ?>/5</td>
-                      <td><?php echo $categorie->get_nbr_commentaire($cat['Intitule']); ?></td>
-                      <td style="line-height: 80%;"><?php $last_com = $categorie->last_com($cat['ID']);
-                        ?>
-                        <font size="1">
-                        <a href="<?php echo $adresse_site ?>/topic/view/<?php echo $cat['ID'] ?>?com=<?php echo $last_com['ID'] ?>">Le <?php echo date('d/m/Y \à H:i',$last_com['Date']); ?></a><br>
-                        Par <?php  echo $topic->get_auteur($last_com['ID']); ?><br>
-                        </font>
-                        <?php
-
-                      ?></td>
-                      </tr>
-                      <?php
-                  }
-              }
-
-               ?>
-          </tbody>
-      </table>
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/categorie/new_view.php b/web/osthoffen-master/WEB/Views/categorie/new_view.php
deleted file mode 100644
index 6a1a264..0000000
--- a/web/osthoffen-master/WEB/Views/categorie/new_view.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_forum.php";?>
-
-
-<content class="content">
-     <h3> Créer une catégorie </h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/categorie/new_cat">
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Nom</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" placeholder="Nom de la catégorie" name="name" required>
-        </div>
-      </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Création</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/commentaire/edit_view.php b/web/osthoffen-master/WEB/Views/commentaire/edit_view.php
deleted file mode 100644
index 94bff77..0000000
--- a/web/osthoffen-master/WEB/Views/commentaire/edit_view.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_topic.php";?>
-
-
-<content class="content">
-     <h3> Editer un commentaire </h3>
-    <br>
-
-
-
-
-    <?php if(isset($_SESSION['user_id'])){
-
-    $editor_mode = "edition";
-    include "WEB/PUBLIC/overall/editor.php";
-
-    } else {
-        ?>
-        <br><center>Vous devez être connecté pour pouvoir rédiger un commentaire.</center><br>
-        <?php
-    }?>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
-
-
-<script type="text/javascript">
-set_stars(<?php echo $note ?>);
-stars();
-
-
-
-// Obtenir id numérique des étoiles au format star_numero
-function idNum(id)
-{
-  var id=id.split('_');
-  var id=id[1];
-  return id;
-}
-
-function set_stars(note){
-
-    var srcIn='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_in.gif'; //image au survol
-    var srcOut='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif'; // image non survolée
-    var cross1='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif'; // image non survolée
-    var cross2='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif'; // image non survolée
-
-    var id = note;
-    var nbStars=$('.star').length; // Nombre d'étoiles de la classe .star
-    var i; // Variable d'incrémentation
-
-
-    if(id == 0){
-        $('#clear_stars').attr({src:cross1})
-    } else {
-        $('#clear_stars').attr({src:cross2})
-        for (i=1;i<=nbStars;i++)
-        {
-          if(i<=id) $('#star_'+i).attr({src:srcIn});
-          else if(i>id) $('#star_'+i).attr({src:srcOut});
-          if(i==id)$('#note').attr({value:i}); // affectation de la note au formulaire
-        }
-    }
-
-
-
-
-
-}
-
-function stars(){
-
-    var srcIn='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_in.gif'; //image au survol
-    var srcOut='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif'; // image non survolée
-    var cross1='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif'; // image non survolée
-    var cross2='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif'; // image non survolée
-
-
-
-
-
-  // Survol des étoiles
-  $('.star').hover(function(){
-
-    var id=idNum($(this).attr('id')); // id numérique de l'étoile survolée
-    var nbStars=$('.star').length; // Nombre d'étoiles de la classe .star
-    var i; // Variable d'incrémentation
-    $('#clear_stars').attr({src:cross2})
-    for (i=1;i<=nbStars;i++)
-    {
-      if(i<=id) $('#star_'+i).attr({src:srcIn});
-      else if(i>id) $('#star_'+i).attr({src:srcOut});
-      if(i==id)$('#note').attr({value:i}); // affectation de la note au formulaire
-    }
-  },function(){});
-
-  // Survol de la croix
-  $('#clear_stars').hover(function(){
-    $('.star').attr({src:srcOut});
-    $('#clear_stars').attr({src:cross1})
-    $('#note').attr({value:'0'});
-  },function(){});
-}
-</script>
diff --git a/web/osthoffen-master/WEB/Views/errors/404.php b/web/osthoffen-master/WEB/Views/errors/404.php
deleted file mode 100644
index 23f5c2a..0000000
--- a/web/osthoffen-master/WEB/Views/errors/404.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-$role_page = "all";
-require("./WEB/PUBLIC/script/check_role.php"); ?>
-
-<?php include "WEB/PUBLIC/overall/header.php";?>
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <h3>Erreur 404</h3>
-    Vous semblez sombrer vers l'inconnu<br>
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/errors/not_connected_error.php b/web/osthoffen-master/WEB/Views/errors/not_connected_error.php
deleted file mode 100644
index ab583d3..0000000
--- a/web/osthoffen-master/WEB/Views/errors/not_connected_error.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <h3>OUPS ...</h3>
-    Il semblerait que vous ne nous avez pas dit qui vous êtes.<br>
-    Venez faire connaissance en vous connectant !
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/errors/not_yours.php b/web/osthoffen-master/WEB/Views/errors/not_yours.php
deleted file mode 100644
index 1f9306e..0000000
--- a/web/osthoffen-master/WEB/Views/errors/not_yours.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <h3>OUPS ...</h3>
-    Apparement, ça vous appartient pas...<br>
-    Pas touche !
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/errors/permission_error.php b/web/osthoffen-master/WEB/Views/errors/permission_error.php
deleted file mode 100644
index f8dd30f..0000000
--- a/web/osthoffen-master/WEB/Views/errors/permission_error.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <h3>OUPS ...</h3>
-    Il semblerait que vous n'avez pas le droit d'aller là.<br>
-    Je suis si triste pour vous :'(
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/forum/index_view.php b/web/osthoffen-master/WEB/Views/forum/index_view.php
deleted file mode 100644
index ca16fda..0000000
--- a/web/osthoffen-master/WEB/Views/forum/index_view.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_forum.php";?>
-
-
-
-<content class="content">
-      <h3> Le Forum </h3>
-
-      <table class="table table-striped" style="table-layout:fixed;">
-          <thead>
-              <tr>
-                  <th width="70%">Catégories</th>
-                  <th  width="10%">Topics</th>
-                  <th  width="20%" style="line-height: 80%;">Dernier commentaire</th>
-              </tr>
-          </thead>
-          <tbody>
-              <?php
-              if($liste_categorie == false){
-                  print_r($liste_categorie);
-                  ?><tr><td colspan="3">Il n'y a pas de catégories</td></tr><?php
-              } else {
-                  while($cat = $liste_categorie->fetch()){
-                      ?>
-                      <tr>
-                      <td><p style="overflow:hidden; text-overflow:ellipsis;"><a href="<?php echo $adresse_site; ?>/categorie/list/<?php echo $cat['ID']?>"><?php echo $cat['Intitule'] ?></a></p></td>
-                      <td><?php echo $categorie->get_nbr_topic($cat['Intitule']); ?></td>
-                      <td style="line-height: 80%;"><?php $last_com = $categorie->last_cat_com($cat['ID']);
-
-                      if($last_com == false){echo "--";} else {
-                        ?>
-
-                        <font size="1">
-                        <a href="<?php echo $adresse_site ?>/topic/view/<?php echo $last_com['ID_Topic'] ?>?com=<?php echo $last_com['ID'] ?>">Le <?php echo date('d/m/Y \à H:i',$last_com['Date']); ?></a><br>
-                        Par <?php  echo $topic->get_auteur($last_com['ID']); ?><br>
-                        </font>
-                        <?php
-                        }
-                      ?></td>
-                      </tr>
-                      <?php
-                  }
-              }
-
-               ?>
-          </tbody>
-      </table>
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/topic/delete_view.php b/web/osthoffen-master/WEB/Views/topic/delete_view.php
deleted file mode 100644
index b0f6ff1..0000000
--- a/web/osthoffen-master/WEB/Views/topic/delete_view.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_categorie.php";?>
-
-
-<content class="content">
-     <h3> Supprimer un topic </h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/topic/delete_topic/<?php echo $params ?>">
-        <div class="form-group row">
-          <label for="InputId" class="col-sm-2 col-form-label">Topic à supprimer</label>
-          <div class="col-sm-10">
-              <select class="custom-select" id="inputGroupSelect04" name="id">
-                  <option selected>--</option>
-                  <?php
-
-                  while($top = $liste_topic->fetch()){
-                      ?>
-                          <option value="<?php echo $top['ID'] ?>"><?php echo $top['Intitule'] ?></option>
-
-                  <?php }
-
-
-                   ?>
-              </select>
-          </div>
-        </div>
-
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Supprimer</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/topic/edit_view.php b/web/osthoffen-master/WEB/Views/topic/edit_view.php
deleted file mode 100644
index c8295f4..0000000
--- a/web/osthoffen-master/WEB/Views/topic/edit_view.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_categorie.php";?>
-
-
-<content class="content">
-     <h3> Editer un topic</h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/topic/edit_topic/<?php echo $params ?>">
-        <div class="form-group row">
-          <label for="InputId" class="col-sm-2 col-form-label">Topic à modifier</label>
-          <div class="col-sm-10">
-              <select class="custom-select" id="inputGroupSelect04" name="id">
-                  <option selected>--</option>
-                  <?php
-
-                  while($cat = $liste_topic->fetch()){
-                      ?>
-                          <option value="<?php echo $cat['ID'] ?>"><?php echo $cat['Intitule'] ?></option>
-
-                  <?php }
-
-
-                   ?>
-              </select>
-          </div>
-        </div>
-
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Nouveau nom</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" placeholder="Nouveau nom du topic" name="new_name" required>
-        </div>
-      </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Renommer</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/topic/index_view.php b/web/osthoffen-master/WEB/Views/topic/index_view.php
deleted file mode 100644
index afeba08..0000000
--- a/web/osthoffen-master/WEB/Views/topic/index_view.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_topic.php";?>
-
-
-
-<content class="content">
-      <h3><p style="overflow:hidden; text-overflow:ellipsis;white-space: nowrap; width:100%"> <?php echo $nom_com; ?> </p></h3>
-
-       <?php if(isset($_SESSION['user_id'])){?>
-      <a href="#bbuttons1">Rédiger un commentaire</a>
-  <?php } ?>
-
-      <div class="message">
-      <?php
-      if(isset($_SESSION['message'])){
-          echo $_SESSION['message'];
-      }
-
-      ?>
-      <br>
-      </div>
-
-      <table class="table table-striped">
-
-          <tbody>
-              <?php
-              if($liste_com == false){
-
-                  ?><tr><td colspan="3">Il n'y a pas de topics</td></tr><?php
-              } else {
-                  while($cat = $liste_com->fetch()){
-
-                      $note_com = $commentaire->get_note($_SESSION['user_id'],$cat['ID']);
-
-
-                      ?>
-
-
-
-                      <?php if($_GET['com'] == $cat['ID']) {?>
-                          <tr class="commentaire_selected" id="com_<?php echo $cat['ID'] ?>">
-                      <?php } else { ?>
-                          <tr class="commentaire" id="com_<?php echo $cat['ID'] ?>">
-                      <?php } ?>
-
-
-                      <td  class="notation_commentaire">
-                          <div>
-                              <?php
-                              if($note_com == 1){ ?>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/+"><img id="haut" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/haut_vote.png"></a></div>
-                              <div><center><?php echo $cat['Note'] ?></center></div>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/-"><img id="bas" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/bas.png"></a></div>
-                                <?php } else {
-                                    if($note_com == -1){ ?>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/+"><img id="haut" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/haut.png"></a></div>
-                              <div><center><?php echo $cat['Note'] ?></center></div>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/-"><img id="bas" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/bas_vote.png"></a></div>
-                          <?php } else {
-                              ?>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/+"><img id="haut" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/haut.png"></a></div>
-                              <div><center><?php echo $cat['Note'] ?></center></div>
-                              <div><a href="<?php echo $adresse_site ?>/commentaire/noter/<?php echo $params ?>/<?php echo $cat['ID'] ?>/-"><img id="bas" width="25px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/bas.png"></a></div>
-                          <?php
-                      } }?>
-                          </div>
-                          <div style="text-align:center;">
-                              <?php if($cat['ID_User'] == $_SESSION['user_id'])
-                              {
-                                  ?>
-                                  <a href="<?php echo $adresse_site ?>/commentaire/edit/<?php echo $params ?>/<?php echo $cat['ID'] ?>"><img width="15px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/editer.png"></a>
-                                  <a href="<?php echo $adresse_site ?>/commentaire/delete/<?php echo $params ?>/<?php echo $cat['ID'] ?>"><img width="15px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/supprimer.png"></a>
-                                  <?php
-                              } else {
-                                  if($_SESSION['droit'] >= 3){
-                                        ?>
-                                        <a href="<?php echo $adresse_site ?>/commentaire/delete/<?php echo $params ?>/<?php echo $cat['ID'] ?>"><img width="15px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/supprimer.png"></a>
-                                        <?php
-                                  }
-                              }?>
-                          </div>
-                      </td>
-                      <td class="infos_commentaire">
-                            <div >
-                                <img width="40px" height="40px "src="<?php
-                                $avatar = $topic->get_avatar($cat['ID']);
-                                if($avatar == false){
-                                    echo $adresse_racine."/WEB/PUBLIC/medias/avatars/avatar_user_-1.png";
-                                } else {
-                                    echo $avatar;
-                                }  ?>"><br>
-                                <b><?php echo $topic->get_auteur($cat['ID']); ?></b><br>
-                                <font size="2"><?php echo $topic->get_role($cat['ID']); ?></font><br>
-                                <font size="1"><?php echo date('d/m/Y H:i',$cat['Date']); ?></font>
-                            </div>
-                      </td>
-
-                      <td style="width: 100%;"><?php echo $cat['Intitule'] ?></td>
-
-                      </tr>
-                      <?php
-                  }
-              }
-
-               ?>
-          </tbody>
-      </table>
-
-      <hr>
-
-      <?php if(isset($_SESSION['user_id'])){
-
-      $editor_mode = "";
-      include "WEB/PUBLIC/overall/editor.php";
-
-      } else {
-          ?>
-          <br><center>Vous devez être connecté pour pouvoir rédiger un commentaire.</center><br
-          <?php
-      }?>
-
-
-
-
-</content>
-
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
-
-
-<script type="text/javascript">
-set_stars(<?php echo $note ?>);
-stars();
-
-$(document).ready(maFonctionDeTest());
-
-function maFonctionDeTest(){
-
-    var id = '#com_<?php echo $_GET['com'];  ?>'
-
-    var offset = $(id).offset().top - 100
-
-    $('html, body').animate({scrollTop: offset}, 'slow');
-    return false;
-
-
-}
-
-
-// Obtenir id numérique des étoiles au format star_numero
-function idNum(id)
-{
-  var id=id.split('_');
-  var id=id[1];
-  return id;
-}
-
-function set_stars(note){
-
-    var srcIn='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_in.gif'; //image au survol
-    var srcOut='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif'; // image non survolée
-    var cross1='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif'; // image non survolée
-    var cross2='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif'; // image non survolée
-
-    var id = note;
-    var nbStars=$('.star').length; // Nombre d'étoiles de la classe .star
-    var i; // Variable d'incrémentation
-
-
-    if(id == 0){
-        $('#clear_stars').attr({src:cross1})
-    } else {
-        $('#clear_stars').attr({src:cross2})
-        for (i=1;i<=nbStars;i++)
-        {
-          if(i<=id) $('#star_'+i).attr({src:srcIn});
-          else if(i>id) $('#star_'+i).attr({src:srcOut});
-          if(i==id)$('#note').attr({value:i}); // affectation de la note au formulaire
-        }
-    }
-
-
-
-
-
-}
-
-function stars(){
-
-    var srcIn='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_in.gif'; //image au survol
-    var srcOut='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_out.gif'; // image non survolée
-    var cross1='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear.gif'; // image non survolée
-    var cross2='<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/etoiles/star_clear2.gif'; // image non survolée
-
-
-
-
-
-  // Survol des étoiles
-  $('.star').hover(function(){
-
-    var id=idNum($(this).attr('id')); // id numérique de l'étoile survolée
-    var nbStars=$('.star').length; // Nombre d'étoiles de la classe .star
-    var i; // Variable d'incrémentation
-    $('#clear_stars').attr({src:cross2})
-    for (i=1;i<=nbStars;i++)
-    {
-      if(i<=id) $('#star_'+i).attr({src:srcIn});
-      else if(i>id) $('#star_'+i).attr({src:srcOut});
-      if(i==id)$('#note').attr({value:i}); // affectation de la note au formulaire
-    }
-  },function(){});
-
-  // Survol de la croix
-  $('#clear_stars').hover(function(){
-    $('.star').attr({src:srcOut});
-    $('#clear_stars').attr({src:cross1})
-    $('#note').attr({value:'0'});
-  },function(){});
-}
-</script>
diff --git a/web/osthoffen-master/WEB/Views/topic/new_view.php b/web/osthoffen-master/WEB/Views/topic/new_view.php
deleted file mode 100644
index 272af43..0000000
--- a/web/osthoffen-master/WEB/Views/topic/new_view.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right_categorie.php";?>
-
-
-<content class="content">
-     <h3> Créer un topic </h3>
-    <br>
-
-    
-
-
-
-
-
-      <?php
-      $editor_mode = "creation";
-      include "WEB/PUBLIC/overall/editor.php"; ?>
-
-
-
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/delete_member_view.php b/web/osthoffen-master/WEB/Views/user/delete_member_view.php
deleted file mode 100644
index 4bffa9d..0000000
--- a/web/osthoffen-master/WEB/Views/user/delete_member_view.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-     <h3> Suppression du compte de <?php echo $user_id ?> </h3>
-    <br>
-
-
-
-    Veuillez saisir votre mot de passe pour confirmer la suppression du compte de <?php echo $user_id ?>.<br>
-    La suppression de ce compte ne supprimera pas vos commentaires de ce forum.<br><br>
-
-    <form method="post" action="<?php echo $adresse_site; ?>/user/delete_member_confirm/<?php echo $user_id ?>">
-
-      <div class="form-group row">
-        <label for="inputConfirmPassword3" class="col-sm-2 col-form-label">Mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputConfirmPassword3" placeholder="Mot de passe" name="psw" required>
-        </div>
-      </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Suppression</button>
-        </div>
-      </div>
-    </form>
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/delete_view.php b/web/osthoffen-master/WEB/Views/user/delete_view.php
deleted file mode 100644
index f59a81f..0000000
--- a/web/osthoffen-master/WEB/Views/user/delete_view.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-     <h3> Suppression du compte </h3>
-    <br>
-
-
-
-    Veuillez saisir votre mot de passe pour confirmer la suppression de votre compte.<br>
-    La suppression de votre compte ne supprimera pas vos commentaires de ce forum.<br><br>
-
-    <form method="post" action="<?php echo $adresse_site; ?>/user/delete_confirm">
-
-      <div class="form-group row">
-        <label for="inputConfirmPassword3" class="col-sm-2 col-form-label">Mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputConfirmPassword3" placeholder="Mot de passe" name="psw" required>
-        </div>
-      </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Suppression</button>
-        </div>
-      </div>
-    </form>
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/edit_psw_view.php b/web/osthoffen-master/WEB/Views/user/edit_psw_view.php
deleted file mode 100644
index 362fcb1..0000000
--- a/web/osthoffen-master/WEB/Views/user/edit_psw_view.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-
-     <h3> Editer mon mot de passe </h3>
-    <br>
-
-
-
-
-
-    <form method="post" action="<?php echo $adresse_site; ?>/user/save_psw">
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Ancien mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="InputId" value="<?php echo $infos_user['Login']?>" name="old_psw" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputEmail" class="col-sm-2 col-form-label">Nouveau mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputEmail" value="<?php echo $infos_user['Mail']?>" name="new_psw" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputPseudo" class="col-sm-2 col-form-label">Confirmation</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputPseudo" value="<?php echo $infos_user['Pseudo']?>" name="confirm_psw" required>
-        </div>
-      </div>
-
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Sauvegarder</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/edit_view.php b/web/osthoffen-master/WEB/Views/user/edit_view.php
deleted file mode 100644
index 1a2ec46..0000000
--- a/web/osthoffen-master/WEB/Views/user/edit_view.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-
-     <h3> Editer mon profil </h3>
-    <br>
-
-
-
-
-
-    <form  method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/user/save_edit">
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Identifiant</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" value="<?php echo $infos_user['Login']?>" name="user" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputPseudo" class="col-sm-2 col-form-label">Pseudo</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="inputPseudo" value="<?php echo $infos_user['Pseudo']?>" name="pseudo">
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputEmail" class="col-sm-2 col-form-label">Email</label>
-        <div class="col-sm-10">
-          <input type="email" class="form-control" id="inputEmail" value="<?php echo $infos_user['Mail']?>" name="mail" required>
-        </div>
-      </div>
-          <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <!--taille max de l'image en octet = 1Mo-->
-        <div class="form-group row">
-          <label for="inputImage" class="col-sm-2 col-form-label">Avatar</label>
-          <div class="col-sm-10">
-               <input type="text" class="form-control" id="inputImage" value="<?php echo $infos_user['Avatar']?>" name="avatar">
-              <!-- <input type="file" id="inputImage" aria-describedby="imageHelp" name="image">
-              <small id="imageHelp" class="form-text text-muted">L'upload de fichier est désactivé sur le serveur OSR, c'est triste :'(</small> -->
-          </div>
-        </div>
-
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Sauvegarder</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/infos_member_view.php b/web/osthoffen-master/WEB/Views/user/infos_member_view.php
deleted file mode 100644
index 811a7c1..0000000
--- a/web/osthoffen-master/WEB/Views/user/infos_member_view.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <div class="image_profil">
-        <img height="100px" width="100px" src="<?php echo $infos_user['Avatar']?>">
-    </div>
-     <h3> Profil de <?php echo $member_id ?></h3>
-    <br>
-
-
-    <div id="edit">
-
-
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Identifiant</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Login']?>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Pseudo</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Pseudo']?>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Email</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Mail']?>
-        </div>
-      </div>
-
-      <form method="post" action="<?php echo $adresse_site; ?>/user/save_infos_member">
-                <input type="hidden" value="<?php echo $infos_user['ID']?>" name="user_id">
-      <div class="input-group">
-          <select class="custom-select" id="inputGroupSelect04" name="new_role">
-              <?php
-
-              while($role = $liste_droits->fetch()){
-                  if($role_user['Signification'] == $role["Signification"]){?>
-                      <option value="<?php echo $role['ID'] ?>" selected><?php echo $role['Signification'] ?></option>
-                  <?php } else { ?>
-                      <option value="<?php echo $role['ID'] ?>"><?php echo $role['Signification'] ?></option>
-              <?php }
-          }
-
-               ?>
-          </select>
-          <div class="input-group-append">
-            <button class="btn btn-outline-secondary" type="submit">Mettre à jour le rôle</button>
-          </div>
-        </div>
-    </form>
-
-  </div><br><br>
-
-
-     <a href="<?php echo $adresse_site; ?>/user/delete_member/<?php echo $member_id ?>">Supprimer ce profil</a><br>
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/infos_view.php b/web/osthoffen-master/WEB/Views/user/infos_view.php
deleted file mode 100644
index 102a45e..0000000
--- a/web/osthoffen-master/WEB/Views/user/infos_view.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-    <div class="image_profil">
-        <img height="100px" width="100px" src="<?php echo $infos_user['Avatar']?>">
-    </div>
-     <h3> Votre profil </h3>
-    <br>
-
-
-    <div id="edit">
-
-
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Identifiant</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Login']?>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Pseudo</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Pseudo']?>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Email</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $infos_user['Mail']?>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label class="col-sm-2 col-form-label">Rôle</label>
-        <div class="col-sm-10 col-form-label">
-            <?php echo $role_user['Signification']?>
-        </div>
-      </div>
-  </div>
-
-
-     <a href="<?php echo $adresse_site; ?>/user/edit">Modifier mon profil</a><br>
-     <a href="<?php echo $adresse_site; ?>/user/edit_psw">Modifier mon mot de passe</a><br>
-     <a href="<?php echo $adresse_site; ?>/user/delete">Supprimer mon profil</a><br>
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/login_view.php b/web/osthoffen-master/WEB/Views/user/login_view.php
deleted file mode 100644
index 8383205..0000000
--- a/web/osthoffen-master/WEB/Views/user/login_view.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-     <h3> Votre profil </h3>
-    <br>
-
-
-
-
-    <form method="post" action="<?php echo $adresse_site; ?>/user/authentification">
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Identifiant</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" placeholder="Identifiant" name="user" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputPassword3" class="col-sm-2 col-form-label">Mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputPassword3" placeholder="Mot de passe" name="psw" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Connexion</button>
-        </div>
-      </div>
-    </form>
-
-
-
-     
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/manage_view.php b/web/osthoffen-master/WEB/Views/user/manage_view.php
deleted file mode 100644
index c86dfd2..0000000
--- a/web/osthoffen-master/WEB/Views/user/manage_view.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-     <h3> Liste des membres </h3>
-    <br>
-
-    <table class="table table-striped">
-        <thead>
-            <tr>
-                <th width="60%">Identifiant</th>
-                <th>Pseudo</th>
-                <th>Mail</th>
-                <th>Nombre de commentaires</th>
-                <th></th>
-                <th></th>
-            </tr>
-        </thead>
-        <tbody>
-            <?php
-            if($liste_users == false){
-                ?><tr><td colspan="6">Il n'y a pas d'utilisateur</td></tr><?php
-            } else {
-                while($cat = $liste_users->fetch()){
-                    ?>
-                    <tr>
-                    <td><?php echo $cat['Login'] ?></td>
-                    <td><?php echo $cat['Pseudo'] ?></td>
-                    <td><?php echo $cat['Mail'] ?></td>
-                    <td><?php echo $user-> nbr_comm_by_user($cat['ID']) ?></td>
-                    <td><a href="<?php echo $adresse_site ?>/user/delete_member/<?php echo $cat['Login'] ?>">
-                        <img height="15px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/supprimer.png" title="Supprimer <?php echo $cat['Login']; ?>">
-                        </a>
-                    </td>
-                    <td><a href="<?php echo $adresse_site ?>/user/infos_member/<?php echo $cat['Login'] ?>">
-                        <img height="15px" src="<?php echo $adresse_racine ?>/WEB/PUBLIC/medias/icones/user.png" title="Consulter le profil de <?php echo $cat['Login']; ?>">
-                        </a>
-                    </td>
-                    </tr>
-                    <?php
-                }
-            }
-
-             ?>
-        </tbody>
-    </table>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/WEB/Views/user/signup_view.php b/web/osthoffen-master/WEB/Views/user/signup_view.php
deleted file mode 100644
index 6b52b09..0000000
--- a/web/osthoffen-master/WEB/Views/user/signup_view.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php include "WEB/PUBLIC/overall/header.php";  ?>
-
-
-<?php include "WEB/PUBLIC/overall/menu.php";?>
-<?php include "WEB/PUBLIC/overall/aside_left.php";?>
-<?php include "WEB/PUBLIC/overall/aside_right.php";?>
-
-
-<content class="content">
-     <h3> Inscription </h3>
-    <br>
-
-
-
-
-    <form method="post" enctype="multipart/form-data" action="<?php echo $adresse_site; ?>/user/adduser">
-      <div class="form-group row">
-        <label for="InputId" class="col-sm-2 col-form-label">Identifiant</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="InputId" placeholder="Identifiant" name="user" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputPassword3" class="col-sm-2 col-form-label">Mot de passe</label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputPassword3" placeholder="Mot de passe" name="psw" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputConfirmPassword3" class="col-sm-2 col-form-label"></label>
-        <div class="col-sm-10">
-          <input type="password" class="form-control" id="inputConfirmPassword3" placeholder="Confirmation du mot de passe" name="confirm_psw" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputEmail" class="col-sm-2 col-form-label">Email</label>
-        <div class="col-sm-10">
-          <input type="email" class="form-control" id="inputEmail" placeholder="Email" name="mail" required>
-        </div>
-      </div>
-      <div class="form-group row">
-        <label for="inputPseudo" class="col-sm-2 col-form-label">Pseudo</label>
-        <div class="col-sm-10">
-          <input type="text" class="form-control" id="inputPseudo" aria-describedby="pseudoHelp" placeholder="Pseudo" name="pseudo">
-          <small id="pseudoHelp" class="form-text text-muted">Le pseudo sera votre nom affiché sur le forum.</small>
-        </div>
-      </div>
-        <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <!--taille max de l'image en octet = 1Mo-->
-      <div class="form-group row">
-        <label for="inputImage" class="col-sm-2 col-form-label">Avatar</label>
-        <div class="col-sm-10">
-            <input type="text" class="form-control" id="inputImage" aria-describedby="pseudoHelp" placeholder="URL d'image" name="avatar">
-            <!-- <input type="file" id="inputImage" aria-describedby="imageHelp" name="image">
-            <small id="imageHelp" class="form-text text-muted">L'upload de fichier est désactivé sur le serveur OSR, c'est triste :'(</small> -->
-        </div>
-      </div>
-      <div class="form-group row">
-        <div class="col-sm-10">
-          <button type="submit" class="btn btn-primary">Inscription</button>
-        </div>
-      </div>
-    </form>
-
-
-     Déjà un compte ? <a href="<?php echo $adresse_site; ?>/user/login">Connectez-vous</a>
-     <div class="message">
-     <?php
-     if(isset($_SESSION['message'])){
-         echo $_SESSION['message'];
-     }
-
-     ?>
-     </div>
-
-
-</content>
-
-
-
-<?php include "WEB/PUBLIC/overall/footer.php";?>
diff --git a/web/osthoffen-master/index.php b/web/osthoffen-master/index.php
deleted file mode 100644
index 24ffd80..0000000
--- a/web/osthoffen-master/index.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-$found = false;
-$args = explode('/', $_SERVER['PATH_INFO']);
-$controller = $args[1];
-$method = $args[2];
-$params = array();
-for($i=3; $i<count($args); $i++) {
- $params[] = $args[$i];
-}
-
-if(empty($method)){
-    $method = "std";
-}
-
-if(empty($controller)){
-    $controller = "accueil";
-}
-
-
-$controller_file = 'WEB/Controllers/' . $controller . '_controller.php';
-
-
-if (is_file($controller_file)) {
- require_once $controller_file;
- $controller_name = 'Controller_' . ucfirst($controller);
- if (class_exists($controller_name)) {
- $c = new $controller_name;
- if (method_exists($c, $method)) {
- call_user_func_array(array($c, $method), $params);
- $found = true;
- }
- }
-}
-if (!$found) {
- http_response_code(404);
- include "WEB/Views/errors/404.php";
-}
-
- ?>
-- 
GitLab