You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2021/02/11 21:28:29 UTC

[myfaces-tobago] branch master updated: build(themes): rebuild npm

This is an automated email from the ASF dual-hosted git repository.

bommel pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/master by this push:
     new 862104f  build(themes): rebuild npm
862104f is described below

commit 862104f78019dc863bae37d7bbc371a59c020935
Author: Bernd Bohmann <bo...@apache.org>
AuthorDate: Thu Feb 11 22:26:11 2021 +0100

    build(themes): rebuild npm
---
 .../npm/dist/css/tobago.css                        | 219 ++---
 .../npm/dist/css/tobago.css.map                    |   2 +-
 .../npm/dist/css/tobago.min.css                    |   2 +-
 .../npm/dist/css/tobago.min.css.map                |   2 +-
 .../npm/dist/css/tobago.css                        | 219 ++---
 .../npm/dist/css/tobago.css.map                    |   2 +-
 .../npm/dist/css/tobago.min.css                    |   2 +-
 .../npm/dist/css/tobago.min.css.map                |   2 +-
 .../npm/dist/css/tobago.css                        | 219 ++---
 .../npm/dist/css/tobago.css.map                    |   2 +-
 .../npm/dist/css/tobago.min.css                    |   2 +-
 .../npm/dist/css/tobago.min.css.map                |   2 +-
 .../tobago-theme-speyside/npm/dist/css/tobago.css  | 211 ++---
 .../npm/dist/css/tobago.css.map                    |   2 +-
 .../npm/dist/css/tobago.min.css                    |   2 +-
 .../npm/dist/css/tobago.min.css.map                |   2 +-
 .../tobago-theme-standard/npm/dist/css/tobago.css  | 219 ++---
 .../npm/dist/css/tobago.css.map                    |   2 +-
 .../npm/dist/css/tobago.min.css                    |   2 +-
 .../npm/dist/css/tobago.min.css.map                |   2 +-
 .../tobago-theme-standard/npm/dist/js/tobago.js    | 913 ++++++++++-----------
 .../npm/dist/js/tobago.js.map                      |   2 +-
 22 files changed, 1012 insertions(+), 1020 deletions(-)

diff --git a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css
index 6690ece..ce6848d 100644
--- a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css
+++ b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css
@@ -32,9 +32,9 @@
  * limitations under the License.
  */
 /*!
- * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors
- * Copyright 2011-2020 Twitter, Inc.
+ * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
 :root {
@@ -341,9 +341,8 @@ button {
   border-radius: 0;
 }
 
-button:focus {
-  outline: dotted 1px;
-  outline: -webkit-focus-ring-color auto 5px;
+button:focus:not(:focus-visible) {
+  outline: 0;
 }
 
 input,
@@ -1971,8 +1970,8 @@ progress {
 .table > :not(caption) > * > * {
   padding: 0.5rem 0.5rem;
   background-color: var(--bs-table-bg);
-  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
   border-bottom-width: 1px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
 }
 .table > tbody {
   vertical-align: inherit;
@@ -2366,12 +2365,11 @@ textarea.form-control-lg {
 .form-select {
   display: block;
   width: 100%;
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #a0a0a0;
-  vertical-align: middle;
   background-color: #fffbe8;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
@@ -2441,12 +2439,6 @@ textarea.form-control-lg {
   appearance: none;
   -webkit-print-color-adjust: exact;
   color-adjust: exact;
-  transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-check-input {
-    transition: none;
-  }
 }
 .form-check-input[type=checkbox] {
   border-radius: 0.25em;
@@ -2495,6 +2487,12 @@ textarea.form-control-lg {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
   background-position: left center;
   border-radius: 2em;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
 }
 .form-switch .form-check-input:focus {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23d5cfb0'/%3e%3c/svg%3e");
@@ -2530,7 +2528,7 @@ textarea.form-control-lg {
   appearance: none;
 }
 .form-range:focus {
-  outline: none;
+  outline: 0;
 }
 .form-range:focus::-webkit-slider-thumb {
   box-shadow: 0 0 0 1px #fffbe8, 0 0 0 0.25rem rgba(82, 150, 150, 0.25);
@@ -2743,7 +2741,7 @@ textarea.form-control-lg {
 
 .input-group-lg > .form-select,
 .input-group-sm > .form-select {
-  padding-right: 1.75rem;
+  padding-right: 3rem;
 }
 
 .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
@@ -2811,9 +2809,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:valid, .form-select.is-valid {
   border-color: #abf5ff;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23abf5ff' 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-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2887,9 +2885,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:invalid, .form-select.is-invalid {
   border-color: #ff00be;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff00be'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx [...]
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -3469,12 +3467,11 @@ textarea.form-control-lg {
 .dropdown-menu {
   position: absolute;
   top: 100%;
-  left: 0;
   z-index: 1000;
   display: none;
   min-width: 10rem;
   padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
+  margin: 0;
   font-size: 1rem;
   color: #b2a76d;
   text-align: left;
@@ -3484,18 +3481,23 @@ textarea.form-control-lg {
   border: 1px solid rgba(0, 0, 0, 0.15);
   border-radius: 0.25rem;
 }
-.dropdown-menu[style] {
-  right: auto !important;
+.dropdown-menu[data-bs-popper] {
+  left: 0;
+  margin-top: 0.125rem;
 }
 
 .dropdown-menu-start {
   --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
   right: auto /* rtl:ignore */;
   left: 0 /* rtl:ignore */;
 }
 
 .dropdown-menu-end {
   --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
   right: 0 /* rtl:ignore */;
   left: auto /* rtl:ignore */;
 }
@@ -3503,12 +3505,16 @@ textarea.form-control-lg {
 @media (min-width: 576px) {
   .dropdown-menu-sm-start {
     --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-sm-end {
     --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3516,12 +3522,16 @@ textarea.form-control-lg {
 @media (min-width: 768px) {
   .dropdown-menu-md-start {
     --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-md-end {
     --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3529,12 +3539,16 @@ textarea.form-control-lg {
 @media (min-width: 992px) {
   .dropdown-menu-lg-start {
     --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-lg-end {
     --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3542,12 +3556,16 @@ textarea.form-control-lg {
 @media (min-width: 1200px) {
   .dropdown-menu-xl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3555,12 +3573,16 @@ textarea.form-control-lg {
 @media (min-width: 1400px) {
   .dropdown-menu-xxl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xxl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3568,6 +3590,8 @@ textarea.form-control-lg {
 .dropup .dropdown-menu {
   top: auto;
   bottom: 100%;
+}
+.dropup .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-bottom: 0.125rem;
 }
@@ -3589,6 +3613,8 @@ textarea.form-control-lg {
   top: 0;
   right: auto;
   left: 100%;
+}
+.dropend .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-left: 0.125rem;
 }
@@ -3613,6 +3639,8 @@ textarea.form-control-lg {
   top: 0;
   right: 100%;
   left: auto;
+}
+.dropstart .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-right: 0.125rem;
 }
@@ -3663,7 +3691,7 @@ textarea.form-control-lg {
 }
 .dropdown-item:hover, .dropdown-item:focus {
   color: #1e2125;
-  background-color: #f8f9fa;
+  background-color: #d0d0d0;
 }
 .dropdown-item.active, .dropdown-item:active {
   color: #abf5ff;
@@ -3671,7 +3699,7 @@ textarea.form-control-lg {
   background-color: #529696;
 }
 .dropdown-item.disabled, .dropdown-item:disabled {
-  color: #777777;
+  color: #adb5bd;
   pointer-events: none;
   background-color: transparent;
 }
@@ -3850,12 +3878,14 @@ textarea.form-control-lg {
 }
 .nav-tabs .nav-link {
   margin-bottom: -1px;
+  background: none;
   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: #d0d0d0 #d0d0d0 #dee2e6;
+  isolation: isolate;
 }
 .nav-tabs .nav-link.disabled {
   color: #777777;
@@ -3875,6 +3905,8 @@ textarea.form-control-lg {
 }
 
 .nav-pills .nav-link {
+  background: none;
+  border: 0;
   border-radius: 0.25rem;
 }
 .nav-pills .nav-link.active,
@@ -3953,8 +3985,9 @@ textarea.form-control-lg {
 }
 
 .navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
   align-items: center;
-  width: 100%;
 }
 
 .navbar-toggler {
@@ -3990,6 +4023,11 @@ textarea.form-control-lg {
   background-size: 100%;
 }
 
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
 @media (min-width: 576px) {
   .navbar-expand-sm {
     flex-wrap: nowrap;
@@ -4005,8 +4043,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-sm .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-sm .navbar-toggler {
     display: none;
@@ -4027,8 +4069,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-md .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-md .navbar-toggler {
     display: none;
@@ -4049,8 +4095,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-lg .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-lg .navbar-toggler {
     display: none;
@@ -4071,8 +4121,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xl .navbar-toggler {
     display: none;
@@ -4093,8 +4147,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xxl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xxl .navbar-toggler {
     display: none;
@@ -4114,8 +4172,12 @@ textarea.form-control-lg {
   padding-right: 0.5rem;
   padding-left: 0.5rem;
 }
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
 .navbar-expand .navbar-collapse {
   display: flex !important;
+  flex-basis: auto;
 }
 .navbar-expand .navbar-toggler {
   display: none;
@@ -4363,6 +4425,7 @@ textarea.form-control-lg {
   padding: 1rem 1.25rem;
   font-size: 1rem;
   color: #b2a76d;
+  text-align: left;
   background-color: transparent;
   border: 1px solid rgba(0, 0, 0, 0.125);
   border-radius: 0;
@@ -5082,7 +5145,7 @@ textarea.form-control-lg {
   opacity: 0.75;
 }
 .btn-close:focus {
-  outline: none;
+  outline: 0;
   box-shadow: 0 0 0 0.25rem rgba(82, 150, 150, 0.25);
   opacity: 1;
 }
@@ -5146,6 +5209,7 @@ textarea.form-control-lg {
 
 .toast-body {
   padding: 0.75rem;
+  word-wrap: break-word;
 }
 
 .modal-open {
@@ -5578,7 +5642,6 @@ textarea.form-control-lg {
   display: block;
   width: 1rem;
   height: 0.5rem;
-  margin: 0 0.3rem;
 }
 .popover .popover-arrow::before, .popover .popover-arrow::after {
   position: absolute;
@@ -5588,9 +5651,6 @@ textarea.form-control-lg {
   border-style: solid;
 }
 
-.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
-  margin-bottom: 0.5rem !important;
-}
 .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
   bottom: calc(-0.5rem - 1px);
 }
@@ -5605,14 +5665,10 @@ textarea.form-control-lg {
   border-top-color: #ffffff;
 }
 
-.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
-  margin-left: 0.5rem !important;
-}
 .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
   left: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
   left: 0;
@@ -5625,9 +5681,6 @@ textarea.form-control-lg {
   border-right-color: #ffffff;
 }
 
-.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
-  margin-top: 0.5rem !important;
-}
 .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
   top: calc(-0.5rem - 1px);
 }
@@ -5652,14 +5705,10 @@ textarea.form-control-lg {
   border-bottom: 1px solid #f0f0f0;
 }
 
-.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
-  margin-right: 0.5rem !important;
-}
 .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
   right: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
   right: 0;
@@ -5777,8 +5826,11 @@ textarea.form-control-lg {
   align-items: center;
   justify-content: center;
   width: 15%;
+  padding: 0;
   color: #ffffff;
   text-align: center;
+  background: none;
+  border: 0;
   opacity: 0.5;
   transition: opacity 0.15s ease;
 }
@@ -5839,29 +5891,32 @@ textarea.form-control-lg {
   z-index: 2;
   display: flex;
   justify-content: center;
-  padding-left: 0;
+  padding: 0;
   margin-right: 15%;
+  margin-bottom: 1rem;
   margin-left: 15%;
   list-style: none;
 }
-.carousel-indicators li {
+.carousel-indicators [data-bs-target] {
   box-sizing: content-box;
   flex: 0 1 auto;
   width: 30px;
   height: 3px;
+  padding: 0;
   margin-right: 3px;
   margin-left: 3px;
   text-indent: -999px;
   cursor: pointer;
   background-color: #ffffff;
   background-clip: padding-box;
+  border: 0;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   opacity: 0.5;
   transition: opacity 0.6s ease;
 }
 @media (prefers-reduced-motion: reduce) {
-  .carousel-indicators li {
+  .carousel-indicators [data-bs-target] {
     transition: none;
   }
 }
@@ -5884,7 +5939,7 @@ textarea.form-control-lg {
 .carousel-dark .carousel-control-next-icon {
   filter: invert(1) grayscale(100);
 }
-.carousel-dark .carousel-indicators li {
+.carousel-dark .carousel-indicators [data-bs-target] {
   background-color: #000000;
 }
 .carousel-dark .carousel-caption {
@@ -6031,7 +6086,7 @@ textarea.form-control-lg {
 }
 .ratio::before {
   display: block;
-  padding-top: var(--aspect-ratio);
+  padding-top: var(--bs-aspect-ratio);
   content: "";
 }
 .ratio > * {
@@ -6043,19 +6098,19 @@ textarea.form-control-lg {
 }
 
 .ratio-1x1 {
-  --aspect-ratio: 100%;
+  --bs-aspect-ratio: 100%;
 }
 
 .ratio-4x3 {
-  --aspect-ratio: calc(3 / 4 * 100%);
+  --bs-aspect-ratio: calc(3 / 4 * 100%);
 }
 
 .ratio-16x9 {
-  --aspect-ratio: calc(9 / 16 * 100%);
+  --bs-aspect-ratio: calc(9 / 16 * 100%);
 }
 
 .ratio-21x9 {
-  --aspect-ratio: calc(9 / 21 * 100%);
+  --bs-aspect-ratio: calc(9 / 21 * 100%);
 }
 
 .fixed-top {
@@ -6122,7 +6177,7 @@ textarea.form-control-lg {
   }
 }
 .visually-hidden,
-.visually-hidden-focusable:not(:focus) {
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
@@ -10672,54 +10727,6 @@ textarea.form-control-lg {
   .fs-4 {
     font-size: 1.5rem !important;
   }
-
-  .fs-sm-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-sm-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-sm-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-sm-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-md-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-md-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-md-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-md-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-lg-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-lg-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-lg-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-lg-4 {
-    font-size: 1.5rem !important;
-  }
 }
 @media print {
   .d-print-inline {
@@ -10943,7 +10950,7 @@ textarea.form-control-lg {
   cursor: pointer;
 }
 .datepicker-cell.focused:not(.selected) {
-  background-color: #f1f3f5;
+  background-color: #cacaca;
 }
 .datepicker-cell.selected, .datepicker-cell.selected:hover {
   background-color: #529696;
@@ -10951,7 +10958,7 @@ textarea.form-control-lg {
   font-weight: 600;
 }
 .datepicker-cell.disabled {
-  color: #777777;
+  color: #adb5bd;
 }
 .datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
   color: color("gray");
@@ -10967,7 +10974,7 @@ textarea.form-control-lg {
   background-color: #f1f3f5;
 }
 .datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
-  background-color: #f1f3f5;
+  background-color: #cacaca;
 }
 .datepicker-cell.today:not(.selected) {
   background-color: #20c997;
@@ -11191,7 +11198,7 @@ tobago-dropdown.tobago-dropdown-submenu {
   float: right;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover {
-  background-color: #f8f9fa;
+  background-color: #d0d0d0;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover > .dropdown-menu {
   display: block;
diff --git a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css.map b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css.map
index a896d7a..5d85510 100644
--- a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/m [...]
\ No newline at end of file
+{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/m [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css
index 353bc2f..c705a43 100644
--- a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#ff00be;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#ffffff;--bs-gray:#777777;--bs-gray-dark:#323232;--bs-primary:#529696;--bs-secondary:#b2a76d;--bs-success:#abf5ff;--bs-info:#389c30;--bs-warning:#ff00be;--bs-danger:#ff00be;--bs-light:#ffffff;--bs-dark:#529696;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Robo [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#ff00be;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#ffffff;--bs-gray:#777777;--bs-gray-dark:#323232;--bs-primary:#529696;--bs-secondary:#b2a76d;--bs-success:#abf5ff;--bs-info:#389c30;--bs-warning:#ff00be;--bs-danger:#ff00be;--bs-light:#ffffff;--bs-dark:#529696;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Robo [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css.map b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css.map
index 3f53358..a16c9a9 100644
--- a/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-charlotteville/npm/dist/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
+{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css
index ab14066..c5be199 100644
--- a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css
+++ b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css
@@ -59,9 +59,9 @@
 }
 
 /*!
- * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors
- * Copyright 2011-2020 Twitter, Inc.
+ * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
 :root {
@@ -368,9 +368,8 @@ button {
   border-radius: 0;
 }
 
-button:focus {
-  outline: dotted 1px;
-  outline: -webkit-focus-ring-color auto 5px;
+button:focus:not(:focus-visible) {
+  outline: 0;
 }
 
 input,
@@ -1998,8 +1997,8 @@ progress {
 .table > :not(caption) > * > * {
   padding: 0.5rem 0.5rem;
   background-color: var(--bs-table-bg);
-  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
   border-bottom-width: 2px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
 }
 .table > tbody {
   vertical-align: inherit;
@@ -2393,12 +2392,11 @@ textarea.form-control-lg {
 .form-select {
   display: block;
   width: 100%;
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #a0a0a0;
-  vertical-align: middle;
   background-color: #000000;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
@@ -2468,12 +2466,6 @@ textarea.form-control-lg {
   appearance: none;
   -webkit-print-color-adjust: exact;
   color-adjust: exact;
-  transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-check-input {
-    transition: none;
-  }
 }
 .form-check-input[type=checkbox] {
   border-radius: 0.25em;
@@ -2522,6 +2514,12 @@ textarea.form-control-lg {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
   background-position: left center;
   border-radius: 2em;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
 }
 .form-switch .form-check-input:focus {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffbd57'/%3e%3c/svg%3e");
@@ -2557,7 +2555,7 @@ textarea.form-control-lg {
   appearance: none;
 }
 .form-range:focus {
-  outline: none;
+  outline: 0;
 }
 .form-range:focus::-webkit-slider-thumb {
   box-shadow: 0 0 0 1px #000000, 0 0 0 0.25rem rgba(214, 130, 0, 0.25);
@@ -2770,7 +2768,7 @@ textarea.form-control-lg {
 
 .input-group-lg > .form-select,
 .input-group-sm > .form-select {
-  padding-right: 1.75rem;
+  padding-right: 3rem;
 }
 
 .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
@@ -2838,9 +2836,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:valid, .form-select.is-valid {
   border-color: #1C690A;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231C690A' 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-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2914,9 +2912,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:invalid, .form-select.is-invalid {
   border-color: #ffb243;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ffb243'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx [...]
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -3496,12 +3494,11 @@ textarea.form-control-lg {
 .dropdown-menu {
   position: absolute;
   top: 100%;
-  left: 0;
   z-index: 1000;
   display: none;
   min-width: 10rem;
   padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
+  margin: 0;
   font-size: 1rem;
   color: #777777;
   text-align: left;
@@ -3511,18 +3508,23 @@ textarea.form-control-lg {
   border: 2px solid rgba(0, 0, 0, 0.15);
   border-radius: 0.25rem;
 }
-.dropdown-menu[style] {
-  right: auto !important;
+.dropdown-menu[data-bs-popper] {
+  left: 0;
+  margin-top: 0.125rem;
 }
 
 .dropdown-menu-start {
   --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
   right: auto /* rtl:ignore */;
   left: 0 /* rtl:ignore */;
 }
 
 .dropdown-menu-end {
   --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
   right: 0 /* rtl:ignore */;
   left: auto /* rtl:ignore */;
 }
@@ -3530,12 +3532,16 @@ textarea.form-control-lg {
 @media (min-width: 576px) {
   .dropdown-menu-sm-start {
     --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-sm-end {
     --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3543,12 +3549,16 @@ textarea.form-control-lg {
 @media (min-width: 768px) {
   .dropdown-menu-md-start {
     --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-md-end {
     --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3556,12 +3566,16 @@ textarea.form-control-lg {
 @media (min-width: 992px) {
   .dropdown-menu-lg-start {
     --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-lg-end {
     --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3569,12 +3583,16 @@ textarea.form-control-lg {
 @media (min-width: 1200px) {
   .dropdown-menu-xl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3582,12 +3600,16 @@ textarea.form-control-lg {
 @media (min-width: 1400px) {
   .dropdown-menu-xxl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xxl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3595,6 +3617,8 @@ textarea.form-control-lg {
 .dropup .dropdown-menu {
   top: auto;
   bottom: 100%;
+}
+.dropup .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-bottom: 0.125rem;
 }
@@ -3616,6 +3640,8 @@ textarea.form-control-lg {
   top: 0;
   right: auto;
   left: 100%;
+}
+.dropend .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-left: 0.125rem;
 }
@@ -3640,6 +3666,8 @@ textarea.form-control-lg {
   top: 0;
   right: 100%;
   left: auto;
+}
+.dropstart .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-right: 0.125rem;
 }
@@ -3690,7 +3718,7 @@ textarea.form-control-lg {
 }
 .dropdown-item:hover, .dropdown-item:focus {
   color: #1e2125;
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 .dropdown-item.active, .dropdown-item:active {
   color: #ffb243;
@@ -3698,7 +3726,7 @@ textarea.form-control-lg {
   background-color: #d68200;
 }
 .dropdown-item.disabled, .dropdown-item:disabled {
-  color: #777777;
+  color: #adb5bd;
   pointer-events: none;
   background-color: transparent;
 }
@@ -3877,12 +3905,14 @@ textarea.form-control-lg {
 }
 .nav-tabs .nav-link {
   margin-bottom: -2px;
+  background: none;
   border: 2px 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;
+  isolation: isolate;
 }
 .nav-tabs .nav-link.disabled {
   color: #777777;
@@ -3902,6 +3932,8 @@ textarea.form-control-lg {
 }
 
 .nav-pills .nav-link {
+  background: none;
+  border: 0;
   border-radius: 0.25rem;
 }
 .nav-pills .nav-link.active,
@@ -3980,8 +4012,9 @@ textarea.form-control-lg {
 }
 
 .navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
   align-items: center;
-  width: 100%;
 }
 
 .navbar-toggler {
@@ -4017,6 +4050,11 @@ textarea.form-control-lg {
   background-size: 100%;
 }
 
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
 @media (min-width: 576px) {
   .navbar-expand-sm {
     flex-wrap: nowrap;
@@ -4032,8 +4070,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-sm .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-sm .navbar-toggler {
     display: none;
@@ -4054,8 +4096,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-md .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-md .navbar-toggler {
     display: none;
@@ -4076,8 +4122,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-lg .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-lg .navbar-toggler {
     display: none;
@@ -4098,8 +4148,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xl .navbar-toggler {
     display: none;
@@ -4120,8 +4174,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xxl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xxl .navbar-toggler {
     display: none;
@@ -4141,8 +4199,12 @@ textarea.form-control-lg {
   padding-right: 0.5rem;
   padding-left: 0.5rem;
 }
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
 .navbar-expand .navbar-collapse {
   display: flex !important;
+  flex-basis: auto;
 }
 .navbar-expand .navbar-toggler {
   display: none;
@@ -4386,6 +4448,7 @@ textarea.form-control-lg {
   padding: 1rem 1.25rem;
   font-size: 1rem;
   color: #777777;
+  text-align: left;
   background-color: transparent;
   border: 2px solid rgba(0, 0, 0, 0.125);
   border-radius: 0;
@@ -5105,7 +5168,7 @@ textarea.form-control-lg {
   opacity: 0.75;
 }
 .btn-close:focus {
-  outline: none;
+  outline: 0;
   box-shadow: 0 0 0 0.25rem rgba(214, 130, 0, 0.25);
   opacity: 1;
 }
@@ -5169,6 +5232,7 @@ textarea.form-control-lg {
 
 .toast-body {
   padding: 0.75rem;
+  word-wrap: break-word;
 }
 
 .modal-open {
@@ -5601,7 +5665,6 @@ textarea.form-control-lg {
   display: block;
   width: 1rem;
   height: 0.5rem;
-  margin: 0 0.3rem;
 }
 .popover .popover-arrow::before, .popover .popover-arrow::after {
   position: absolute;
@@ -5611,9 +5674,6 @@ textarea.form-control-lg {
   border-style: solid;
 }
 
-.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
-  margin-bottom: 0.5rem !important;
-}
 .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
   bottom: calc(-0.5rem - 2px);
 }
@@ -5628,14 +5688,10 @@ textarea.form-control-lg {
   border-top-color: #fff;
 }
 
-.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
-  margin-left: 0.5rem !important;
-}
 .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
   left: calc(-0.5rem - 2px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
   left: 0;
@@ -5648,9 +5704,6 @@ textarea.form-control-lg {
   border-right-color: #fff;
 }
 
-.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
-  margin-top: 0.5rem !important;
-}
 .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
   top: calc(-0.5rem - 2px);
 }
@@ -5675,14 +5728,10 @@ textarea.form-control-lg {
   border-bottom: 2px solid #f0f0f0;
 }
 
-.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
-  margin-right: 0.5rem !important;
-}
 .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
   right: calc(-0.5rem - 2px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
   right: 0;
@@ -5800,8 +5849,11 @@ textarea.form-control-lg {
   align-items: center;
   justify-content: center;
   width: 15%;
+  padding: 0;
   color: #fff;
   text-align: center;
+  background: none;
+  border: 0;
   opacity: 0.5;
   transition: opacity 0.15s ease;
 }
@@ -5862,29 +5914,32 @@ textarea.form-control-lg {
   z-index: 2;
   display: flex;
   justify-content: center;
-  padding-left: 0;
+  padding: 0;
   margin-right: 15%;
+  margin-bottom: 1rem;
   margin-left: 15%;
   list-style: none;
 }
-.carousel-indicators li {
+.carousel-indicators [data-bs-target] {
   box-sizing: content-box;
   flex: 0 1 auto;
   width: 30px;
   height: 3px;
+  padding: 0;
   margin-right: 3px;
   margin-left: 3px;
   text-indent: -999px;
   cursor: pointer;
   background-color: #fff;
   background-clip: padding-box;
+  border: 0;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   opacity: 0.5;
   transition: opacity 0.6s ease;
 }
 @media (prefers-reduced-motion: reduce) {
-  .carousel-indicators li {
+  .carousel-indicators [data-bs-target] {
     transition: none;
   }
 }
@@ -5907,7 +5962,7 @@ textarea.form-control-lg {
 .carousel-dark .carousel-control-next-icon {
   filter: invert(1) grayscale(100);
 }
-.carousel-dark .carousel-indicators li {
+.carousel-dark .carousel-indicators [data-bs-target] {
   background-color: #000000;
 }
 .carousel-dark .carousel-caption {
@@ -6054,7 +6109,7 @@ textarea.form-control-lg {
 }
 .ratio::before {
   display: block;
-  padding-top: var(--aspect-ratio);
+  padding-top: var(--bs-aspect-ratio);
   content: "";
 }
 .ratio > * {
@@ -6066,19 +6121,19 @@ textarea.form-control-lg {
 }
 
 .ratio-1x1 {
-  --aspect-ratio: 100%;
+  --bs-aspect-ratio: 100%;
 }
 
 .ratio-4x3 {
-  --aspect-ratio: calc(3 / 4 * 100%);
+  --bs-aspect-ratio: calc(3 / 4 * 100%);
 }
 
 .ratio-16x9 {
-  --aspect-ratio: calc(9 / 16 * 100%);
+  --bs-aspect-ratio: calc(9 / 16 * 100%);
 }
 
 .ratio-21x9 {
-  --aspect-ratio: calc(9 / 21 * 100%);
+  --bs-aspect-ratio: calc(9 / 21 * 100%);
 }
 
 .fixed-top {
@@ -6145,7 +6200,7 @@ textarea.form-control-lg {
   }
 }
 .visually-hidden,
-.visually-hidden-focusable:not(:focus) {
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
@@ -10695,54 +10750,6 @@ textarea.form-control-lg {
   .fs-4 {
     font-size: 1.5rem !important;
   }
-
-  .fs-sm-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-sm-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-sm-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-sm-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-md-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-md-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-md-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-md-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-lg-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-lg-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-lg-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-lg-4 {
-    font-size: 1.5rem !important;
-  }
 }
 @media print {
   .d-print-inline {
@@ -10966,7 +10973,7 @@ textarea.form-control-lg {
   cursor: pointer;
 }
 .datepicker-cell.focused:not(.selected) {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.selected, .datepicker-cell.selected:hover {
   background-color: #d68200;
@@ -10974,7 +10981,7 @@ textarea.form-control-lg {
   font-weight: 600;
 }
 .datepicker-cell.disabled {
-  color: #777777;
+  color: #adb5bd;
 }
 .datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
   color: color("gray");
@@ -10990,7 +10997,7 @@ textarea.form-control-lg {
   background-color: #f1f3f5;
 }
 .datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.today:not(.selected) {
   background-color: #20c997;
@@ -11214,7 +11221,7 @@ tobago-dropdown.tobago-dropdown-submenu {
   float: right;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover {
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover > .dropdown-menu {
   display: block;
diff --git a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css.map b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css.map
index 71de58d..088cc61 100644
--- a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/m [...]
\ No newline at end of file
+{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/m [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css
index cee371b..1937138 100644
--- a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";@font-face{font-family:Amaranth;font-style:normal;font-weight:400;src:url(../fonts/Amaranth-Regular.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:normal;font-weight:700;src:url(../fonts/Amaranth-Bold.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:italic;src:url(../fonts/Amaranth-Italic.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:italic;font-weight:700;src:url(../fonts/Amaranth-BoldItalic.otf) format("opentyp [...]
+@charset "UTF-8";@font-face{font-family:Amaranth;font-style:normal;font-weight:400;src:url(../fonts/Amaranth-Regular.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:normal;font-weight:700;src:url(../fonts/Amaranth-Bold.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:italic;src:url(../fonts/Amaranth-Italic.otf) format("opentype")}@font-face{font-family:Amaranth;font-style:italic;font-weight:700;src:url(../fonts/Amaranth-BoldItalic.otf) format("opentyp [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css.map b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css.map
index e5950eb..404dc21 100644
--- a/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-roxborough/npm/dist/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_custom.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss",". [...]
\ No newline at end of file
+{"version":3,"sources":["../../scss/_custom.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss",". [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css
index d573437..baef160 100644
--- a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css
+++ b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 /*!
- * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors
- * Copyright 2011-2020 Twitter, Inc.
+ * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
 :root {
@@ -325,9 +325,8 @@ button {
   border-radius: 0;
 }
 
-button:focus {
-  outline: dotted 1px;
-  outline: -webkit-focus-ring-color auto 5px;
+button:focus:not(:focus-visible) {
+  outline: 0;
 }
 
 input,
@@ -1955,8 +1954,8 @@ progress {
 .table > :not(caption) > * > * {
   padding: 0.5rem 0.5rem;
   background-color: var(--bs-table-bg);
-  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
   border-bottom-width: 1px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
 }
 .table > tbody {
   vertical-align: inherit;
@@ -2350,12 +2349,11 @@ textarea.form-control-lg {
 .form-select {
   display: block;
   width: 100%;
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #212529;
-  vertical-align: middle;
   background-color: #fff;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
@@ -2425,12 +2423,6 @@ textarea.form-control-lg {
   appearance: none;
   -webkit-print-color-adjust: exact;
   color-adjust: exact;
-  transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-check-input {
-    transition: none;
-  }
 }
 .form-check-input[type=checkbox] {
   border-radius: 0.25em;
@@ -2479,6 +2471,12 @@ textarea.form-control-lg {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
   background-position: left center;
   border-radius: 2em;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
 }
 .form-switch .form-check-input:focus {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
@@ -2514,7 +2512,7 @@ textarea.form-control-lg {
   appearance: none;
 }
 .form-range:focus {
-  outline: none;
+  outline: 0;
 }
 .form-range:focus::-webkit-slider-thumb {
   box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
@@ -2727,7 +2725,7 @@ textarea.form-control-lg {
 
 .input-group-lg > .form-select,
 .input-group-sm > .form-select {
-  padding-right: 1.75rem;
+  padding-right: 3rem;
 }
 
 .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
@@ -2795,9 +2793,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:valid, .form-select.is-valid {
   border-color: #198754;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2871,9 +2869,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:invalid, .form-select.is-invalid {
   border-color: #dc3545;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx [...]
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -3453,12 +3451,11 @@ textarea.form-control-lg {
 .dropdown-menu {
   position: absolute;
   top: 100%;
-  left: 0;
   z-index: 1000;
   display: none;
   min-width: 10rem;
   padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
+  margin: 0;
   font-size: 1rem;
   color: #212529;
   text-align: left;
@@ -3468,18 +3465,23 @@ textarea.form-control-lg {
   border: 1px solid rgba(0, 0, 0, 0.15);
   border-radius: 0.25rem;
 }
-.dropdown-menu[style] {
-  right: auto !important;
+.dropdown-menu[data-bs-popper] {
+  left: 0;
+  margin-top: 0.125rem;
 }
 
 .dropdown-menu-start {
   --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
   right: auto /* rtl:ignore */;
   left: 0 /* rtl:ignore */;
 }
 
 .dropdown-menu-end {
   --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
   right: 0 /* rtl:ignore */;
   left: auto /* rtl:ignore */;
 }
@@ -3487,12 +3489,16 @@ textarea.form-control-lg {
 @media (min-width: 576px) {
   .dropdown-menu-sm-start {
     --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-sm-end {
     --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3500,12 +3506,16 @@ textarea.form-control-lg {
 @media (min-width: 768px) {
   .dropdown-menu-md-start {
     --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-md-end {
     --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3513,12 +3523,16 @@ textarea.form-control-lg {
 @media (min-width: 992px) {
   .dropdown-menu-lg-start {
     --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-lg-end {
     --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3526,12 +3540,16 @@ textarea.form-control-lg {
 @media (min-width: 1200px) {
   .dropdown-menu-xl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3539,12 +3557,16 @@ textarea.form-control-lg {
 @media (min-width: 1400px) {
   .dropdown-menu-xxl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xxl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3552,6 +3574,8 @@ textarea.form-control-lg {
 .dropup .dropdown-menu {
   top: auto;
   bottom: 100%;
+}
+.dropup .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-bottom: 0.125rem;
 }
@@ -3573,6 +3597,8 @@ textarea.form-control-lg {
   top: 0;
   right: auto;
   left: 100%;
+}
+.dropend .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-left: 0.125rem;
 }
@@ -3597,6 +3623,8 @@ textarea.form-control-lg {
   top: 0;
   right: 100%;
   left: auto;
+}
+.dropstart .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-right: 0.125rem;
 }
@@ -3647,7 +3675,7 @@ textarea.form-control-lg {
 }
 .dropdown-item:hover, .dropdown-item:focus {
   color: #1e2125;
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 .dropdown-item.active, .dropdown-item:active {
   color: #fff;
@@ -3655,7 +3683,7 @@ textarea.form-control-lg {
   background-color: #0d6efd;
 }
 .dropdown-item.disabled, .dropdown-item:disabled {
-  color: #6c757d;
+  color: #adb5bd;
   pointer-events: none;
   background-color: transparent;
 }
@@ -3834,12 +3862,14 @@ textarea.form-control-lg {
 }
 .nav-tabs .nav-link {
   margin-bottom: -1px;
+  background: none;
   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;
+  isolation: isolate;
 }
 .nav-tabs .nav-link.disabled {
   color: #6c757d;
@@ -3859,6 +3889,8 @@ textarea.form-control-lg {
 }
 
 .nav-pills .nav-link {
+  background: none;
+  border: 0;
   border-radius: 0.25rem;
 }
 .nav-pills .nav-link.active,
@@ -3937,8 +3969,9 @@ textarea.form-control-lg {
 }
 
 .navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
   align-items: center;
-  width: 100%;
 }
 
 .navbar-toggler {
@@ -3974,6 +4007,11 @@ textarea.form-control-lg {
   background-size: 100%;
 }
 
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
 @media (min-width: 576px) {
   .navbar-expand-sm {
     flex-wrap: nowrap;
@@ -3989,8 +4027,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-sm .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-sm .navbar-toggler {
     display: none;
@@ -4011,8 +4053,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-md .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-md .navbar-toggler {
     display: none;
@@ -4033,8 +4079,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-lg .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-lg .navbar-toggler {
     display: none;
@@ -4055,8 +4105,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xl .navbar-toggler {
     display: none;
@@ -4077,8 +4131,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xxl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xxl .navbar-toggler {
     display: none;
@@ -4098,8 +4156,12 @@ textarea.form-control-lg {
   padding-right: 0.5rem;
   padding-left: 0.5rem;
 }
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
 .navbar-expand .navbar-collapse {
   display: flex !important;
+  flex-basis: auto;
 }
 .navbar-expand .navbar-toggler {
   display: none;
@@ -4343,6 +4405,7 @@ textarea.form-control-lg {
   padding: 1rem 1.25rem;
   font-size: 1rem;
   color: #212529;
+  text-align: left;
   background-color: transparent;
   border: 1px solid rgba(0, 0, 0, 0.125);
   border-radius: 0;
@@ -5062,7 +5125,7 @@ textarea.form-control-lg {
   opacity: 0.75;
 }
 .btn-close:focus {
-  outline: none;
+  outline: 0;
   box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
   opacity: 1;
 }
@@ -5126,6 +5189,7 @@ textarea.form-control-lg {
 
 .toast-body {
   padding: 0.75rem;
+  word-wrap: break-word;
 }
 
 .modal-open {
@@ -5558,7 +5622,6 @@ textarea.form-control-lg {
   display: block;
   width: 1rem;
   height: 0.5rem;
-  margin: 0 0.3rem;
 }
 .popover .popover-arrow::before, .popover .popover-arrow::after {
   position: absolute;
@@ -5568,9 +5631,6 @@ textarea.form-control-lg {
   border-style: solid;
 }
 
-.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
-  margin-bottom: 0.5rem !important;
-}
 .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
   bottom: calc(-0.5rem - 1px);
 }
@@ -5585,14 +5645,10 @@ textarea.form-control-lg {
   border-top-color: #fff;
 }
 
-.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
-  margin-left: 0.5rem !important;
-}
 .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
   left: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
   left: 0;
@@ -5605,9 +5661,6 @@ textarea.form-control-lg {
   border-right-color: #fff;
 }
 
-.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
-  margin-top: 0.5rem !important;
-}
 .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
   top: calc(-0.5rem - 1px);
 }
@@ -5632,14 +5685,10 @@ textarea.form-control-lg {
   border-bottom: 1px solid #f0f0f0;
 }
 
-.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
-  margin-right: 0.5rem !important;
-}
 .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
   right: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
   right: 0;
@@ -5757,8 +5806,11 @@ textarea.form-control-lg {
   align-items: center;
   justify-content: center;
   width: 15%;
+  padding: 0;
   color: #fff;
   text-align: center;
+  background: none;
+  border: 0;
   opacity: 0.5;
   transition: opacity 0.15s ease;
 }
@@ -5819,29 +5871,32 @@ textarea.form-control-lg {
   z-index: 2;
   display: flex;
   justify-content: center;
-  padding-left: 0;
+  padding: 0;
   margin-right: 15%;
+  margin-bottom: 1rem;
   margin-left: 15%;
   list-style: none;
 }
-.carousel-indicators li {
+.carousel-indicators [data-bs-target] {
   box-sizing: content-box;
   flex: 0 1 auto;
   width: 30px;
   height: 3px;
+  padding: 0;
   margin-right: 3px;
   margin-left: 3px;
   text-indent: -999px;
   cursor: pointer;
   background-color: #fff;
   background-clip: padding-box;
+  border: 0;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   opacity: 0.5;
   transition: opacity 0.6s ease;
 }
 @media (prefers-reduced-motion: reduce) {
-  .carousel-indicators li {
+  .carousel-indicators [data-bs-target] {
     transition: none;
   }
 }
@@ -5864,7 +5919,7 @@ textarea.form-control-lg {
 .carousel-dark .carousel-control-next-icon {
   filter: invert(1) grayscale(100);
 }
-.carousel-dark .carousel-indicators li {
+.carousel-dark .carousel-indicators [data-bs-target] {
   background-color: #000;
 }
 .carousel-dark .carousel-caption {
@@ -6011,7 +6066,7 @@ textarea.form-control-lg {
 }
 .ratio::before {
   display: block;
-  padding-top: var(--aspect-ratio);
+  padding-top: var(--bs-aspect-ratio);
   content: "";
 }
 .ratio > * {
@@ -6023,19 +6078,19 @@ textarea.form-control-lg {
 }
 
 .ratio-1x1 {
-  --aspect-ratio: 100%;
+  --bs-aspect-ratio: 100%;
 }
 
 .ratio-4x3 {
-  --aspect-ratio: calc(3 / 4 * 100%);
+  --bs-aspect-ratio: calc(3 / 4 * 100%);
 }
 
 .ratio-16x9 {
-  --aspect-ratio: calc(9 / 16 * 100%);
+  --bs-aspect-ratio: calc(9 / 16 * 100%);
 }
 
 .ratio-21x9 {
-  --aspect-ratio: calc(9 / 21 * 100%);
+  --bs-aspect-ratio: calc(9 / 21 * 100%);
 }
 
 .fixed-top {
@@ -6102,7 +6157,7 @@ textarea.form-control-lg {
   }
 }
 .visually-hidden,
-.visually-hidden-focusable:not(:focus) {
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
@@ -10652,54 +10707,6 @@ textarea.form-control-lg {
   .fs-4 {
     font-size: 1.5rem !important;
   }
-
-  .fs-sm-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-sm-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-sm-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-sm-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-md-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-md-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-md-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-md-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-lg-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-lg-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-lg-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-lg-4 {
-    font-size: 1.5rem !important;
-  }
 }
 @media print {
   .d-print-inline {
@@ -10923,7 +10930,7 @@ textarea.form-control-lg {
   cursor: pointer;
 }
 .datepicker-cell.focused:not(.selected) {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.selected, .datepicker-cell.selected:hover {
   background-color: #0d6efd;
@@ -10931,7 +10938,7 @@ textarea.form-control-lg {
   font-weight: 600;
 }
 .datepicker-cell.disabled {
-  color: #6c757d;
+  color: #adb5bd;
 }
 .datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
   color: color("gray");
@@ -10947,7 +10954,7 @@ textarea.form-control-lg {
   background-color: #f1f3f5;
 }
 .datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.today:not(.selected) {
   background-color: #20c997;
@@ -11201,7 +11208,7 @@ tobago-dropdown.tobago-dropdown-submenu {
   float: right;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover {
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover > .dropdown-menu {
   display: block;
diff --git a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css.map b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css.map
index fc917f1..814b255 100644
--- a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../ [...]
\ No newline at end of file
+{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../ [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css
index ec637d1..ebb4c8c 100644
--- a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto, [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto, [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css.map b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css.map
index 84a00ec..d594f25 100644
--- a/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-scarborough/npm/dist/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
+{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css
index aab8ccf..580479d 100644
--- a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css
+++ b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css
@@ -32,9 +32,9 @@
  * limitations under the License.
  */
 /*!
- * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors
- * Copyright 2011-2020 Twitter, Inc.
+ * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
 :root {
@@ -339,9 +339,8 @@ button {
   border-radius: 0;
 }
 
-button:focus {
-  outline: dotted 1px;
-  outline: -webkit-focus-ring-color auto 5px;
+button:focus:not(:focus-visible) {
+  outline: 0;
 }
 
 input,
@@ -1968,8 +1967,8 @@ progress {
 .table > :not(caption) > * > * {
   padding: 0.5rem 0.5rem;
   background-color: var(--bs-table-bg);
-  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
   border-bottom-width: 1px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
 }
 .table > tbody {
   vertical-align: inherit;
@@ -2359,12 +2358,11 @@ textarea.form-control-lg {
 .form-select {
   display: block;
   width: 100%;
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #212529;
-  vertical-align: middle;
   background-color: #fff;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
@@ -2424,7 +2422,7 @@ textarea.form-control-lg {
   height: 1em;
   margin-top: 0.25em;
   vertical-align: top;
-  background-color: white;
+  background-color: #fff;
   background-repeat: no-repeat;
   background-position: center;
   background-size: contain;
@@ -2434,12 +2432,6 @@ textarea.form-control-lg {
   appearance: none;
   -webkit-print-color-adjust: exact;
   color-adjust: exact;
-  transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-check-input {
-    transition: none;
-  }
 }
 .form-check-input[type=radio] {
   border-radius: 50%;
@@ -2484,6 +2476,12 @@ textarea.form-control-lg {
   margin-left: -2.5em;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
   background-position: left center;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
 }
 .form-switch .form-check-input:focus {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238cab91'/%3e%3c/svg%3e");
@@ -2519,7 +2517,7 @@ textarea.form-control-lg {
   appearance: none;
 }
 .form-range:focus {
-  outline: none;
+  outline: 0;
 }
 .form-range:focus::-webkit-slider-thumb {
   box-shadow: 0 0 0 1px white, 0 0 0 0.25rem rgba(24, 87, 34, 0.25);
@@ -2725,7 +2723,7 @@ textarea.form-control-lg {
 
 .input-group-lg > .form-select,
 .input-group-sm > .form-select {
-  padding-right: 1.75rem;
+  padding-right: 3rem;
 }
 
 .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
@@ -2780,9 +2778,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:valid, .form-select.is-valid {
   border-color: #1da332;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231da332' 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-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2855,9 +2853,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:invalid, .form-select.is-invalid {
   border-color: #d30040;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23323232' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d30040'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx [...]
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -3441,12 +3439,11 @@ textarea.form-control-lg {
 .dropdown-menu {
   position: absolute;
   top: 100%;
-  left: 0;
   z-index: 1000;
   display: none;
   min-width: 10rem;
   padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
+  margin: 0;
   font-size: 1rem;
   color: #212529;
   text-align: left;
@@ -3455,18 +3452,23 @@ textarea.form-control-lg {
   background-clip: padding-box;
   border: 1px solid rgba(0, 0, 0, 0.15);
 }
-.dropdown-menu[style] {
-  right: auto !important;
+.dropdown-menu[data-bs-popper] {
+  left: 0;
+  margin-top: 0.125rem;
 }
 
 .dropdown-menu-start {
   --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
   right: auto /* rtl:ignore */;
   left: 0 /* rtl:ignore */;
 }
 
 .dropdown-menu-end {
   --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
   right: 0 /* rtl:ignore */;
   left: auto /* rtl:ignore */;
 }
@@ -3474,12 +3476,16 @@ textarea.form-control-lg {
 @media (min-width: 576px) {
   .dropdown-menu-sm-start {
     --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-sm-end {
     --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3487,12 +3493,16 @@ textarea.form-control-lg {
 @media (min-width: 768px) {
   .dropdown-menu-md-start {
     --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-md-end {
     --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3500,12 +3510,16 @@ textarea.form-control-lg {
 @media (min-width: 992px) {
   .dropdown-menu-lg-start {
     --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-lg-end {
     --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3513,12 +3527,16 @@ textarea.form-control-lg {
 @media (min-width: 1200px) {
   .dropdown-menu-xl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3526,12 +3544,16 @@ textarea.form-control-lg {
 @media (min-width: 1400px) {
   .dropdown-menu-xxl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xxl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3539,6 +3561,8 @@ textarea.form-control-lg {
 .dropup .dropdown-menu {
   top: auto;
   bottom: 100%;
+}
+.dropup .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-bottom: 0.125rem;
 }
@@ -3560,6 +3584,8 @@ textarea.form-control-lg {
   top: 0;
   right: auto;
   left: 100%;
+}
+.dropend .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-left: 0.125rem;
 }
@@ -3584,6 +3610,8 @@ textarea.form-control-lg {
   top: 0;
   right: 100%;
   left: auto;
+}
+.dropstart .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-right: 0.125rem;
 }
@@ -3634,7 +3662,7 @@ textarea.form-control-lg {
 }
 .dropdown-item:hover, .dropdown-item:focus {
   color: #1e2125;
-  background-color: #f7f7f7;
+  background-color: #e3e4e5;
 }
 .dropdown-item.active, .dropdown-item:active {
   color: #fff;
@@ -3642,7 +3670,7 @@ textarea.form-control-lg {
   background-color: #a36725;
 }
 .dropdown-item.disabled, .dropdown-item:disabled {
-  color: #788c94;
+  color: #acacac;
   pointer-events: none;
   background-color: transparent;
 }
@@ -3798,10 +3826,12 @@ textarea.form-control-lg {
 }
 .nav-tabs .nav-link {
   margin-bottom: -white;
+  background: none;
   border: white solid transparent;
 }
 .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
   border-color: #e3e4e5 #e3e4e5 white;
+  isolation: isolate;
 }
 .nav-tabs .nav-link.disabled {
   color: #d7d7d7;
@@ -3818,6 +3848,10 @@ textarea.form-control-lg {
   margin-top: -white;
 }
 
+.nav-pills .nav-link {
+  background: none;
+  border: 0;
+}
 .nav-pills .nav-link.active,
 .nav-pills .show > .nav-link {
   color: #185722;
@@ -3894,8 +3928,9 @@ textarea.form-control-lg {
 }
 
 .navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
   align-items: center;
-  width: 100%;
 }
 
 .navbar-toggler {
@@ -3930,6 +3965,11 @@ textarea.form-control-lg {
   background-size: 100%;
 }
 
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
 @media (min-width: 576px) {
   .navbar-expand-sm {
     flex-wrap: nowrap;
@@ -3945,8 +3985,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-sm .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-sm .navbar-toggler {
     display: none;
@@ -3967,8 +4011,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-md .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-md .navbar-toggler {
     display: none;
@@ -3989,8 +4037,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-lg .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-lg .navbar-toggler {
     display: none;
@@ -4011,8 +4063,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xl .navbar-toggler {
     display: none;
@@ -4033,8 +4089,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xxl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xxl .navbar-toggler {
     display: none;
@@ -4054,8 +4114,12 @@ textarea.form-control-lg {
   padding-right: 0.5rem;
   padding-left: 0.5rem;
 }
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
 .navbar-expand .navbar-collapse {
   display: flex !important;
+  flex-basis: auto;
 }
 .navbar-expand .navbar-toggler {
   display: none;
@@ -4249,6 +4313,7 @@ textarea.form-control-lg {
   padding: 1rem 1.25rem;
   font-size: 1rem;
   color: #212529;
+  text-align: left;
   background-color: transparent;
   border: 1px solid rgba(0, 0, 0, 0.125);
   overflow-anchor: none;
@@ -4863,7 +4928,7 @@ textarea.form-control-lg {
   opacity: 0.75;
 }
 .btn-close:focus {
-  outline: none;
+  outline: 0;
   box-shadow: 0 0 0 0.25rem rgba(24, 87, 34, 0.25);
   opacity: 1;
 }
@@ -4924,6 +4989,7 @@ textarea.form-control-lg {
 
 .toast-body {
   padding: 0.75rem;
+  word-wrap: break-word;
 }
 
 .modal-open {
@@ -5306,7 +5372,6 @@ textarea.form-control-lg {
   display: block;
   width: 1rem;
   height: 0.5rem;
-  margin: 0 0.3rem;
 }
 .popover .popover-arrow::before, .popover .popover-arrow::after {
   position: absolute;
@@ -5316,9 +5381,6 @@ textarea.form-control-lg {
   border-style: solid;
 }
 
-.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
-  margin-bottom: 0.5rem !important;
-}
 .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
   bottom: calc(-0.5rem - 1px);
 }
@@ -5333,14 +5395,10 @@ textarea.form-control-lg {
   border-top-color: #fff;
 }
 
-.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
-  margin-left: 0.5rem !important;
-}
 .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
   left: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
   left: 0;
@@ -5353,9 +5411,6 @@ textarea.form-control-lg {
   border-right-color: #fff;
 }
 
-.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
-  margin-top: 0.5rem !important;
-}
 .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
   top: calc(-0.5rem - 1px);
 }
@@ -5380,14 +5435,10 @@ textarea.form-control-lg {
   border-bottom: 1px solid #f0f0f0;
 }
 
-.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
-  margin-right: 0.5rem !important;
-}
 .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
   right: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
   right: 0;
@@ -5503,8 +5554,11 @@ textarea.form-control-lg {
   align-items: center;
   justify-content: center;
   width: 15%;
+  padding: 0;
   color: #fff;
   text-align: center;
+  background: none;
+  border: 0;
   opacity: 0.5;
   transition: opacity 0.15s ease;
 }
@@ -5565,29 +5619,32 @@ textarea.form-control-lg {
   z-index: 2;
   display: flex;
   justify-content: center;
-  padding-left: 0;
+  padding: 0;
   margin-right: 15%;
+  margin-bottom: 1rem;
   margin-left: 15%;
   list-style: none;
 }
-.carousel-indicators li {
+.carousel-indicators [data-bs-target] {
   box-sizing: content-box;
   flex: 0 1 auto;
   width: 30px;
   height: 3px;
+  padding: 0;
   margin-right: 3px;
   margin-left: 3px;
   text-indent: -999px;
   cursor: pointer;
   background-color: #fff;
   background-clip: padding-box;
+  border: 0;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   opacity: 0.5;
   transition: opacity 0.6s ease;
 }
 @media (prefers-reduced-motion: reduce) {
-  .carousel-indicators li {
+  .carousel-indicators [data-bs-target] {
     transition: none;
   }
 }
@@ -5610,7 +5667,7 @@ textarea.form-control-lg {
 .carousel-dark .carousel-control-next-icon {
   filter: invert(1) grayscale(100);
 }
-.carousel-dark .carousel-indicators li {
+.carousel-dark .carousel-indicators [data-bs-target] {
   background-color: #000;
 }
 .carousel-dark .carousel-caption {
@@ -5757,7 +5814,7 @@ textarea.form-control-lg {
 }
 .ratio::before {
   display: block;
-  padding-top: var(--aspect-ratio);
+  padding-top: var(--bs-aspect-ratio);
   content: "";
 }
 .ratio > * {
@@ -5769,19 +5826,19 @@ textarea.form-control-lg {
 }
 
 .ratio-1x1 {
-  --aspect-ratio: 100%;
+  --bs-aspect-ratio: 100%;
 }
 
 .ratio-4x3 {
-  --aspect-ratio: calc(3 / 4 * 100%);
+  --bs-aspect-ratio: calc(3 / 4 * 100%);
 }
 
 .ratio-16x9 {
-  --aspect-ratio: calc(9 / 16 * 100%);
+  --bs-aspect-ratio: calc(9 / 16 * 100%);
 }
 
 .ratio-21x9 {
-  --aspect-ratio: calc(9 / 21 * 100%);
+  --bs-aspect-ratio: calc(9 / 21 * 100%);
 }
 
 .fixed-top {
@@ -5848,7 +5905,7 @@ textarea.form-control-lg {
   }
 }
 .visually-hidden,
-.visually-hidden-focusable:not(:focus) {
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
@@ -10394,42 +10451,6 @@ textarea.form-control-lg {
   .fs-3 {
     font-size: 1.4rem !important;
   }
-
-  .fs-sm-1 {
-    font-size: 1.7rem !important;
-  }
-
-  .fs-sm-2 {
-    font-size: 1.55rem !important;
-  }
-
-  .fs-sm-3 {
-    font-size: 1.4rem !important;
-  }
-
-  .fs-md-1 {
-    font-size: 1.7rem !important;
-  }
-
-  .fs-md-2 {
-    font-size: 1.55rem !important;
-  }
-
-  .fs-md-3 {
-    font-size: 1.4rem !important;
-  }
-
-  .fs-lg-1 {
-    font-size: 1.7rem !important;
-  }
-
-  .fs-lg-2 {
-    font-size: 1.55rem !important;
-  }
-
-  .fs-lg-3 {
-    font-size: 1.4rem !important;
-  }
 }
 @media print {
   .d-print-inline {
@@ -10653,7 +10674,7 @@ textarea.form-control-lg {
   cursor: pointer;
 }
 .datepicker-cell.focused:not(.selected) {
-  background-color: #f1f1f1;
+  background-color: #dcdedf;
 }
 .datepicker-cell.selected, .datepicker-cell.selected:hover {
   background-color: #a36725;
@@ -10661,7 +10682,7 @@ textarea.form-control-lg {
   font-weight: 600;
 }
 .datepicker-cell.disabled {
-  color: #788c94;
+  color: #acacac;
 }
 .datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
   color: color("gray");
@@ -10677,7 +10698,7 @@ textarea.form-control-lg {
   background-color: #f1f1f1;
 }
 .datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
-  background-color: #f1f1f1;
+  background-color: #dcdedf;
 }
 .datepicker-cell.today:not(.selected) {
   background-color: #20c997;
@@ -10901,7 +10922,7 @@ tobago-dropdown.tobago-dropdown-submenu {
   float: right;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover {
-  background-color: #f7f7f7;
+  background-color: #e3e4e5;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover > .dropdown-menu {
   display: block;
diff --git a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css.map b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css.map
index c91b120..f116eb3 100644
--- a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.s [...]
\ No newline at end of file
+{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../scss/_custom.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.s [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css
index f9b4e25..657214a 100644
--- a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#3a2564;--bs-pink:#d63384;--bs-red:#d30040;--bs-orange:#d90;--bs-yellow:#ffc107;--bs-green:#1da332;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#788c94;--bs-gray-dark:#323232;--bs-primary:#185722;--bs-secondary:#d7d7d7;--bs-success:#1da332;--bs-info:#5bc0de;--bs-warning:#f0ad4e;--bs-danger:#d30040;--bs-light:#f7f7f7;--bs-dark:#323232;--bs-font-sans-serif:verdana,sans-serif;--bs-font-monospace:SFMono [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#3a2564;--bs-pink:#d63384;--bs-red:#d30040;--bs-orange:#d90;--bs-yellow:#ffc107;--bs-green:#1da332;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#788c94;--bs-gray-dark:#323232;--bs-primary:#185722;--bs-secondary:#d7d7d7;--bs-success:#1da332;--bs-info:#5bc0de;--bs-warning:#f0ad4e;--bs-danger:#d30040;--bs-light:#f7f7f7;--bs-dark:#323232;--bs-font-sans-serif:verdana,sans-serif;--bs-font-monospace:SFMono [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css.map b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css.map
index 7e24a7c..9aa208f 100644
--- a/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-speyside/npm/dist/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstrap/scss/_containers.scss","../../node_modules/bootstrap/scss/mix [...]
\ No newline at end of file
+{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstrap/scss/_containers.scss","../../node_modules/bootstrap/scss/mix [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css
index c518670..432764f 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css
+++ b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css
@@ -16,9 +16,9 @@
  * limitations under the License.
  */
 /*!
- * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
- * Copyright 2011-2020 The Bootstrap Authors
- * Copyright 2011-2020 Twitter, Inc.
+ * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+ * Copyright 2011-2021 The Bootstrap Authors
+ * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
 :root {
@@ -325,9 +325,8 @@ button {
   border-radius: 0;
 }
 
-button:focus {
-  outline: dotted 1px;
-  outline: -webkit-focus-ring-color auto 5px;
+button:focus:not(:focus-visible) {
+  outline: 0;
 }
 
 input,
@@ -1955,8 +1954,8 @@ progress {
 .table > :not(caption) > * > * {
   padding: 0.5rem 0.5rem;
   background-color: var(--bs-table-bg);
-  background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
   border-bottom-width: 1px;
+  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
 }
 .table > tbody {
   vertical-align: inherit;
@@ -2350,12 +2349,11 @@ textarea.form-control-lg {
 .form-select {
   display: block;
   width: 100%;
-  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
+  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #212529;
-  vertical-align: middle;
   background-color: #fff;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
@@ -2425,12 +2423,6 @@ textarea.form-control-lg {
   appearance: none;
   -webkit-print-color-adjust: exact;
   color-adjust: exact;
-  transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-check-input {
-    transition: none;
-  }
 }
 .form-check-input[type=checkbox] {
   border-radius: 0.25em;
@@ -2479,6 +2471,12 @@ textarea.form-control-lg {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
   background-position: left center;
   border-radius: 2em;
+  transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+  .form-switch .form-check-input {
+    transition: none;
+  }
 }
 .form-switch .form-check-input:focus {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
@@ -2514,7 +2512,7 @@ textarea.form-control-lg {
   appearance: none;
 }
 .form-range:focus {
-  outline: none;
+  outline: 0;
 }
 .form-range:focus::-webkit-slider-thumb {
   box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
@@ -2727,7 +2725,7 @@ textarea.form-control-lg {
 
 .input-group-lg > .form-select,
 .input-group-sm > .form-select {
-  padding-right: 1.75rem;
+  padding-right: 3rem;
 }
 
 .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
@@ -2795,9 +2793,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:valid, .form-select.is-valid {
   border-color: #198754;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
@@ -2871,9 +2869,9 @@ textarea.form-control-lg {
 
 .was-validated .form-select:invalid, .form-select.is-invalid {
   border-color: #dc3545;
-  padding-right: calc(0.75em + 2.3125rem);
+  padding-right: 4.125rem;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx [...]
-  background-position: right 0.75rem center, center right 1.75rem;
+  background-position: right 0.75rem center, center right 2.25rem;
   background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
 }
 .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
@@ -3453,12 +3451,11 @@ textarea.form-control-lg {
 .dropdown-menu {
   position: absolute;
   top: 100%;
-  left: 0;
   z-index: 1000;
   display: none;
   min-width: 10rem;
   padding: 0.5rem 0;
-  margin: 0.125rem 0 0;
+  margin: 0;
   font-size: 1rem;
   color: #212529;
   text-align: left;
@@ -3468,18 +3465,23 @@ textarea.form-control-lg {
   border: 1px solid rgba(0, 0, 0, 0.15);
   border-radius: 0.25rem;
 }
-.dropdown-menu[style] {
-  right: auto !important;
+.dropdown-menu[data-bs-popper] {
+  left: 0;
+  margin-top: 0.125rem;
 }
 
 .dropdown-menu-start {
   --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
   right: auto /* rtl:ignore */;
   left: 0 /* rtl:ignore */;
 }
 
 .dropdown-menu-end {
   --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
   right: 0 /* rtl:ignore */;
   left: auto /* rtl:ignore */;
 }
@@ -3487,12 +3489,16 @@ textarea.form-control-lg {
 @media (min-width: 576px) {
   .dropdown-menu-sm-start {
     --bs-position: start;
+  }
+  .dropdown-menu-sm-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-sm-end {
     --bs-position: end;
+  }
+  .dropdown-menu-sm-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3500,12 +3506,16 @@ textarea.form-control-lg {
 @media (min-width: 768px) {
   .dropdown-menu-md-start {
     --bs-position: start;
+  }
+  .dropdown-menu-md-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-md-end {
     --bs-position: end;
+  }
+  .dropdown-menu-md-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3513,12 +3523,16 @@ textarea.form-control-lg {
 @media (min-width: 992px) {
   .dropdown-menu-lg-start {
     --bs-position: start;
+  }
+  .dropdown-menu-lg-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-lg-end {
     --bs-position: end;
+  }
+  .dropdown-menu-lg-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3526,12 +3540,16 @@ textarea.form-control-lg {
 @media (min-width: 1200px) {
   .dropdown-menu-xl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3539,12 +3557,16 @@ textarea.form-control-lg {
 @media (min-width: 1400px) {
   .dropdown-menu-xxl-start {
     --bs-position: start;
+  }
+  .dropdown-menu-xxl-start[data-bs-popper] {
     right: auto /* rtl:ignore */;
     left: 0 /* rtl:ignore */;
   }
 
   .dropdown-menu-xxl-end {
     --bs-position: end;
+  }
+  .dropdown-menu-xxl-end[data-bs-popper] {
     right: 0 /* rtl:ignore */;
     left: auto /* rtl:ignore */;
   }
@@ -3552,6 +3574,8 @@ textarea.form-control-lg {
 .dropup .dropdown-menu {
   top: auto;
   bottom: 100%;
+}
+.dropup .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-bottom: 0.125rem;
 }
@@ -3573,6 +3597,8 @@ textarea.form-control-lg {
   top: 0;
   right: auto;
   left: 100%;
+}
+.dropend .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-left: 0.125rem;
 }
@@ -3597,6 +3623,8 @@ textarea.form-control-lg {
   top: 0;
   right: 100%;
   left: auto;
+}
+.dropstart .dropdown-menu[data-bs-popper] {
   margin-top: 0;
   margin-right: 0.125rem;
 }
@@ -3647,7 +3675,7 @@ textarea.form-control-lg {
 }
 .dropdown-item:hover, .dropdown-item:focus {
   color: #1e2125;
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 .dropdown-item.active, .dropdown-item:active {
   color: #fff;
@@ -3655,7 +3683,7 @@ textarea.form-control-lg {
   background-color: #0d6efd;
 }
 .dropdown-item.disabled, .dropdown-item:disabled {
-  color: #6c757d;
+  color: #adb5bd;
   pointer-events: none;
   background-color: transparent;
 }
@@ -3834,12 +3862,14 @@ textarea.form-control-lg {
 }
 .nav-tabs .nav-link {
   margin-bottom: -1px;
+  background: none;
   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;
+  isolation: isolate;
 }
 .nav-tabs .nav-link.disabled {
   color: #6c757d;
@@ -3859,6 +3889,8 @@ textarea.form-control-lg {
 }
 
 .nav-pills .nav-link {
+  background: none;
+  border: 0;
   border-radius: 0.25rem;
 }
 .nav-pills .nav-link.active,
@@ -3937,8 +3969,9 @@ textarea.form-control-lg {
 }
 
 .navbar-collapse {
+  flex-basis: 100%;
+  flex-grow: 1;
   align-items: center;
-  width: 100%;
 }
 
 .navbar-toggler {
@@ -3974,6 +4007,11 @@ textarea.form-control-lg {
   background-size: 100%;
 }
 
+.navbar-nav-scroll {
+  max-height: var(--bs-scroll-height, 75vh);
+  overflow-y: auto;
+}
+
 @media (min-width: 576px) {
   .navbar-expand-sm {
     flex-wrap: nowrap;
@@ -3989,8 +4027,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-sm .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-sm .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-sm .navbar-toggler {
     display: none;
@@ -4011,8 +4053,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-md .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-md .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-md .navbar-toggler {
     display: none;
@@ -4033,8 +4079,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-lg .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-lg .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-lg .navbar-toggler {
     display: none;
@@ -4055,8 +4105,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xl .navbar-toggler {
     display: none;
@@ -4077,8 +4131,12 @@ textarea.form-control-lg {
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }
+  .navbar-expand-xxl .navbar-nav-scroll {
+    overflow: visible;
+  }
   .navbar-expand-xxl .navbar-collapse {
     display: flex !important;
+    flex-basis: auto;
   }
   .navbar-expand-xxl .navbar-toggler {
     display: none;
@@ -4098,8 +4156,12 @@ textarea.form-control-lg {
   padding-right: 0.5rem;
   padding-left: 0.5rem;
 }
+.navbar-expand .navbar-nav-scroll {
+  overflow: visible;
+}
 .navbar-expand .navbar-collapse {
   display: flex !important;
+  flex-basis: auto;
 }
 .navbar-expand .navbar-toggler {
   display: none;
@@ -4343,6 +4405,7 @@ textarea.form-control-lg {
   padding: 1rem 1.25rem;
   font-size: 1rem;
   color: #212529;
+  text-align: left;
   background-color: transparent;
   border: 1px solid rgba(0, 0, 0, 0.125);
   border-radius: 0;
@@ -5062,7 +5125,7 @@ textarea.form-control-lg {
   opacity: 0.75;
 }
 .btn-close:focus {
-  outline: none;
+  outline: 0;
   box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
   opacity: 1;
 }
@@ -5126,6 +5189,7 @@ textarea.form-control-lg {
 
 .toast-body {
   padding: 0.75rem;
+  word-wrap: break-word;
 }
 
 .modal-open {
@@ -5558,7 +5622,6 @@ textarea.form-control-lg {
   display: block;
   width: 1rem;
   height: 0.5rem;
-  margin: 0 0.3rem;
 }
 .popover .popover-arrow::before, .popover .popover-arrow::after {
   position: absolute;
@@ -5568,9 +5631,6 @@ textarea.form-control-lg {
   border-style: solid;
 }
 
-.bs-popover-top, .bs-popover-auto[data-popper-placement^=top] {
-  margin-bottom: 0.5rem !important;
-}
 .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
   bottom: calc(-0.5rem - 1px);
 }
@@ -5585,14 +5645,10 @@ textarea.form-control-lg {
   border-top-color: #fff;
 }
 
-.bs-popover-end, .bs-popover-auto[data-popper-placement^=right] {
-  margin-left: 0.5rem !important;
-}
 .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
   left: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
   left: 0;
@@ -5605,9 +5661,6 @@ textarea.form-control-lg {
   border-right-color: #fff;
 }
 
-.bs-popover-bottom, .bs-popover-auto[data-popper-placement^=bottom] {
-  margin-top: 0.5rem !important;
-}
 .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
   top: calc(-0.5rem - 1px);
 }
@@ -5632,14 +5685,10 @@ textarea.form-control-lg {
   border-bottom: 1px solid #f0f0f0;
 }
 
-.bs-popover-start, .bs-popover-auto[data-popper-placement^=left] {
-  margin-right: 0.5rem !important;
-}
 .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
   right: calc(-0.5rem - 1px);
   width: 0.5rem;
   height: 1rem;
-  margin: 0.3rem 0;
 }
 .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
   right: 0;
@@ -5757,8 +5806,11 @@ textarea.form-control-lg {
   align-items: center;
   justify-content: center;
   width: 15%;
+  padding: 0;
   color: #fff;
   text-align: center;
+  background: none;
+  border: 0;
   opacity: 0.5;
   transition: opacity 0.15s ease;
 }
@@ -5819,29 +5871,32 @@ textarea.form-control-lg {
   z-index: 2;
   display: flex;
   justify-content: center;
-  padding-left: 0;
+  padding: 0;
   margin-right: 15%;
+  margin-bottom: 1rem;
   margin-left: 15%;
   list-style: none;
 }
-.carousel-indicators li {
+.carousel-indicators [data-bs-target] {
   box-sizing: content-box;
   flex: 0 1 auto;
   width: 30px;
   height: 3px;
+  padding: 0;
   margin-right: 3px;
   margin-left: 3px;
   text-indent: -999px;
   cursor: pointer;
   background-color: #fff;
   background-clip: padding-box;
+  border: 0;
   border-top: 10px solid transparent;
   border-bottom: 10px solid transparent;
   opacity: 0.5;
   transition: opacity 0.6s ease;
 }
 @media (prefers-reduced-motion: reduce) {
-  .carousel-indicators li {
+  .carousel-indicators [data-bs-target] {
     transition: none;
   }
 }
@@ -5864,7 +5919,7 @@ textarea.form-control-lg {
 .carousel-dark .carousel-control-next-icon {
   filter: invert(1) grayscale(100);
 }
-.carousel-dark .carousel-indicators li {
+.carousel-dark .carousel-indicators [data-bs-target] {
   background-color: #000;
 }
 .carousel-dark .carousel-caption {
@@ -6011,7 +6066,7 @@ textarea.form-control-lg {
 }
 .ratio::before {
   display: block;
-  padding-top: var(--aspect-ratio);
+  padding-top: var(--bs-aspect-ratio);
   content: "";
 }
 .ratio > * {
@@ -6023,19 +6078,19 @@ textarea.form-control-lg {
 }
 
 .ratio-1x1 {
-  --aspect-ratio: 100%;
+  --bs-aspect-ratio: 100%;
 }
 
 .ratio-4x3 {
-  --aspect-ratio: calc(3 / 4 * 100%);
+  --bs-aspect-ratio: calc(3 / 4 * 100%);
 }
 
 .ratio-16x9 {
-  --aspect-ratio: calc(9 / 16 * 100%);
+  --bs-aspect-ratio: calc(9 / 16 * 100%);
 }
 
 .ratio-21x9 {
-  --aspect-ratio: calc(9 / 21 * 100%);
+  --bs-aspect-ratio: calc(9 / 21 * 100%);
 }
 
 .fixed-top {
@@ -6102,7 +6157,7 @@ textarea.form-control-lg {
   }
 }
 .visually-hidden,
-.visually-hidden-focusable:not(:focus) {
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
@@ -10652,54 +10707,6 @@ textarea.form-control-lg {
   .fs-4 {
     font-size: 1.5rem !important;
   }
-
-  .fs-sm-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-sm-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-sm-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-sm-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-md-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-md-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-md-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-md-4 {
-    font-size: 1.5rem !important;
-  }
-
-  .fs-lg-1 {
-    font-size: 2.5rem !important;
-  }
-
-  .fs-lg-2 {
-    font-size: 2rem !important;
-  }
-
-  .fs-lg-3 {
-    font-size: 1.75rem !important;
-  }
-
-  .fs-lg-4 {
-    font-size: 1.5rem !important;
-  }
 }
 @media print {
   .d-print-inline {
@@ -10923,7 +10930,7 @@ textarea.form-control-lg {
   cursor: pointer;
 }
 .datepicker-cell.focused:not(.selected) {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.selected, .datepicker-cell.selected:hover {
   background-color: #0d6efd;
@@ -10931,7 +10938,7 @@ textarea.form-control-lg {
   font-weight: 600;
 }
 .datepicker-cell.disabled {
-  color: #6c757d;
+  color: #adb5bd;
 }
 .datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
   color: color("gray");
@@ -10947,7 +10954,7 @@ textarea.form-control-lg {
   background-color: #f1f3f5;
 }
 .datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
-  background-color: #f1f3f5;
+  background-color: #e2e6ea;
 }
 .datepicker-cell.today:not(.selected) {
   background-color: #20c997;
@@ -11171,7 +11178,7 @@ tobago-dropdown.tobago-dropdown-submenu {
   float: right;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover {
-  background-color: #f8f9fa;
+  background-color: #e9ecef;
 }
 tobago-dropdown.tobago-dropdown-submenu:hover > .dropdown-menu {
   display: block;
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css.map b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css.map
index 7edcf2f..2dd00fb 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css.map
+++ b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.css.map
@@ -1 +1 @@
-{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../ [...]
\ No newline at end of file
+{"version":3,"sources":["tobago.css","../../scss/tobago-theme.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../ [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css
index 6f17052..9fa6973 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css
+++ b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css
@@ -1,2 +1,2 @@
-@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto, [...]
+@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto, [...]
 /*# sourceMappingURL=tobago.min.css.map */
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css.map b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css.map
index d3e0d80..2180594 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css.map
+++ b/tobago-theme/tobago-theme-standard/npm/dist/css/tobago.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
+{"version":3,"sources":["../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","dist/css/tobago.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstra [...]
\ No newline at end of file
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js b/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js
index bf37ee0..0177a22 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js
+++ b/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js
@@ -4803,8 +4803,8 @@
     });
 
     /*!
-      * Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
-      * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+      * Bootstrap v5.0.0-beta2 (https://getbootstrap.com/)
+      * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
       * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
       */
 
@@ -4845,12 +4845,22 @@
     function _inheritsLoose(subClass, superClass) {
       subClass.prototype = Object.create(superClass.prototype);
       subClass.prototype.constructor = subClass;
-      subClass.__proto__ = superClass;
+
+      _setPrototypeOf(subClass, superClass);
+    }
+
+    function _setPrototypeOf(o, p) {
+      _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+        o.__proto__ = p;
+        return o;
+      };
+
+      return _setPrototypeOf(o, p);
     }
 
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): util/index.js
+     * Bootstrap (v5.0.0-beta2): util/index.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -4884,7 +4894,20 @@
       var selector = element.getAttribute('data-bs-target');
 
       if (!selector || selector === '#') {
-        var hrefAttr = element.getAttribute('href');
+        var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
+        // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
+        // `document.querySelector` will rightfully complain it is invalid.
+        // See https://github.com/twbs/bootstrap/issues/32273
+
+        if (!hrefAttr || !hrefAttr.includes('#') && !hrefAttr.startsWith('.')) {
+          return null;
+        } // Just in case some CMS puts out a full URL with the anchor appended
+
+
+        if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
+          hrefAttr = '#' + hrefAttr.split('#')[1];
+        }
+
         selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
       }
 
@@ -4962,7 +4985,7 @@
         var valueType = value && isElement$1(value) ? 'element' : toType(value);
 
         if (!new RegExp(expectedTypes).test(valueType)) {
-          throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
+          throw new TypeError(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
         }
       });
     };
@@ -5033,9 +5056,27 @@
 
     var isRTL = document.documentElement.dir === 'rtl';
 
+    var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) {
+      onDOMContentLoaded(function () {
+        var $ = getjQuery();
+        /* istanbul ignore if */
+
+        if ($) {
+          var JQUERY_NO_CONFLICT = $.fn[name];
+          $.fn[name] = plugin.jQueryInterface;
+          $.fn[name].Constructor = plugin;
+
+          $.fn[name].noConflict = function () {
+            $.fn[name] = JQUERY_NO_CONFLICT;
+            return plugin.jQueryInterface;
+          };
+        }
+      });
+    };
+
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): dom/data.js
+     * Bootstrap (v5.0.0-beta2): dom/data.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -5102,7 +5143,7 @@
 
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): dom/event-handler.js
+     * Bootstrap (v5.0.0-beta2): dom/event-handler.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -5162,6 +5203,7 @@
               event.delegateTarget = target;
 
               if (handler.oneOff) {
+                // eslint-disable-next-line unicorn/consistent-destructuring
                 EventHandler.off(element, event.type, fn);
               }
 
@@ -5381,7 +5423,7 @@
      * ------------------------------------------------------------------------
      */
 
-    var VERSION = '5.0.0-beta1';
+    var VERSION = '5.0.0-beta2';
 
     var BaseComponent = /*#__PURE__*/function () {
       function BaseComponent(element) {
@@ -5430,9 +5472,9 @@
     var EVENT_CLOSE = "close" + EVENT_KEY;
     var EVENT_CLOSED = "closed" + EVENT_KEY;
     var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
-    var CLASSNAME_ALERT = 'alert';
-    var CLASSNAME_FADE = 'fade';
-    var CLASSNAME_SHOW = 'show';
+    var CLASS_NAME_ALERT = 'alert';
+    var CLASS_NAME_FADE = 'fade';
+    var CLASS_NAME_SHOW = 'show';
     /**
      * ------------------------------------------------------------------------
      * Class Definition
@@ -5463,7 +5505,7 @@
       ;
 
       _proto._getRootElement = function _getRootElement(element) {
-        return getElementFromSelector(element) || element.closest("." + CLASSNAME_ALERT);
+        return getElementFromSelector(element) || element.closest("." + CLASS_NAME_ALERT);
       };
 
       _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
@@ -5473,16 +5515,16 @@
       _proto._removeElement = function _removeElement(element) {
         var _this = this;
 
-        element.classList.remove(CLASSNAME_SHOW);
+        element.classList.remove(CLASS_NAME_SHOW);
 
-        if (!element.classList.contains(CLASSNAME_FADE)) {
+        if (!element.classList.contains(CLASS_NAME_FADE)) {
           this._destroyElement(element);
 
           return;
         }
 
         var transitionDuration = getTransitionDurationFromElement(element);
-        EventHandler.one(element, TRANSITION_END, function () {
+        EventHandler.one(element, 'transitionend', function () {
           return _this._destroyElement(element);
         });
         emulateTransitionEnd(element, transitionDuration);
@@ -5523,8 +5565,8 @@
 
       _createClass(Alert, null, [{
         key: "DATA_KEY",
-        // Getters
-        get: function get() {
+        get: // Getters
+        function get() {
           return DATA_KEY;
         }
       }]);
@@ -5546,21 +5588,7 @@
      * add .Alert to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME];
-        $.fn[NAME] = Alert.jQueryInterface;
-        $.fn[NAME].Constructor = Alert;
-
-        $.fn[NAME].noConflict = function () {
-          $.fn[NAME] = JQUERY_NO_CONFLICT;
-          return Alert.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME, Alert);
 
     /**
      * ------------------------------------------------------------------------
@@ -5613,8 +5641,8 @@
 
       _createClass(Button, null, [{
         key: "DATA_KEY",
-        // Getters
-        get: function get() {
+        get: // Getters
+        function get() {
           return DATA_KEY$1;
         }
       }]);
@@ -5646,25 +5674,11 @@
      * add .Button to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$1];
-        $.fn[NAME$1] = Button.jQueryInterface;
-        $.fn[NAME$1].Constructor = Button;
-
-        $.fn[NAME$1].noConflict = function () {
-          $.fn[NAME$1] = JQUERY_NO_CONFLICT;
-          return Button.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$1, Button);
 
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): dom/manipulator.js
+     * Bootstrap (v5.0.0-beta2): dom/manipulator.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -5736,7 +5750,7 @@
 
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): dom/selector-engine.js
+     * Bootstrap (v5.0.0-beta2): dom/selector-engine.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -5748,9 +5762,6 @@
      */
     var NODE_TEXT = 3;
     var SelectorEngine = {
-      matches: function matches(element, selector) {
-        return element.matches(selector);
-      },
       find: function find(selector, element) {
         var _ref;
 
@@ -5770,9 +5781,7 @@
       children: function children(element, selector) {
         var _ref2;
 
-        var children = (_ref2 = []).concat.apply(_ref2, element.children);
-
-        return children.filter(function (child) {
+        return (_ref2 = []).concat.apply(_ref2, element.children).filter(function (child) {
           return child.matches(selector);
         });
       },
@@ -5781,7 +5790,7 @@
         var ancestor = element.parentNode;
 
         while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
-          if (this.matches(ancestor, selector)) {
+          if (ancestor.matches(selector)) {
             parents.push(ancestor);
           }
 
@@ -5807,7 +5816,7 @@
         var next = element.nextElementSibling;
 
         while (next) {
-          if (this.matches(next, selector)) {
+          if (next.matches(selector)) {
             return [next];
           }
 
@@ -5880,12 +5889,11 @@
     var SELECTOR_ITEM_IMG = '.carousel-item img';
     var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
     var SELECTOR_INDICATORS = '.carousel-indicators';
+    var SELECTOR_INDICATOR = '[data-bs-target]';
     var SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';
     var SELECTOR_DATA_RIDE = '[data-bs-ride="carousel"]';
-    var PointerType = {
-      TOUCH: 'touch',
-      PEN: 'pen'
-    };
+    var POINTER_TYPE_TOUCH = 'touch';
+    var POINTER_TYPE_PEN = 'pen';
     /**
      * ------------------------------------------------------------------------
      * Class Definition
@@ -6032,12 +6040,20 @@
         this.touchDeltaX = 0; // swipe left
 
         if (direction > 0) {
-          this.prev();
+          if (isRTL) {
+            this.next();
+          } else {
+            this.prev();
+          }
         } // swipe right
 
 
         if (direction < 0) {
-          this.next();
+          if (isRTL) {
+            this.prev();
+          } else {
+            this.next();
+          }
         }
       };
 
@@ -6068,7 +6084,7 @@
         var _this4 = this;
 
         var start = function start(event) {
-          if (_this4._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
+          if (_this4._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
             _this4.touchStartX = event.clientX;
           } else if (!_this4._pointerEvent) {
             _this4.touchStartX = event.touches[0].clientX;
@@ -6085,7 +6101,7 @@
         };
 
         var end = function end(event) {
-          if (_this4._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {
+          if (_this4._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
             _this4.touchDeltaX = event.clientX - _this4.touchStartX;
           }
 
@@ -6144,16 +6160,22 @@
           return;
         }
 
-        switch (event.key) {
-          case ARROW_LEFT_KEY:
-            event.preventDefault();
+        if (event.key === ARROW_LEFT_KEY) {
+          event.preventDefault();
+
+          if (isRTL) {
+            this.next();
+          } else {
             this.prev();
-            break;
+          }
+        } else if (event.key === ARROW_RIGHT_KEY) {
+          event.preventDefault();
 
-          case ARROW_RIGHT_KEY:
-            event.preventDefault();
+          if (isRTL) {
+            this.prev();
+          } else {
             this.next();
-            break;
+          }
         }
       };
 
@@ -6195,16 +6217,17 @@
 
       _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
         if (this._indicatorsElement) {
-          var indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);
+          var activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
+          activeIndicator.classList.remove(CLASS_NAME_ACTIVE$1);
+          activeIndicator.removeAttribute('aria-current');
+          var indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement);
 
           for (var i = 0; i < indicators.length; i++) {
-            indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
-          }
-
-          var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
-
-          if (nextIndicator) {
-            nextIndicator.classList.add(CLASS_NAME_ACTIVE$1);
+            if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {
+              indicators[i].classList.add(CLASS_NAME_ACTIVE$1);
+              indicators[i].setAttribute('aria-current', 'true');
+              break;
+            }
           }
         }
       };
@@ -6238,19 +6261,9 @@
         var nextElementIndex = this._getItemIndex(nextElement);
 
         var isCycling = Boolean(this._interval);
-        var directionalClassName;
-        var orderClassName;
-        var eventDirectionName;
-
-        if (direction === DIRECTION_NEXT) {
-          directionalClassName = CLASS_NAME_START;
-          orderClassName = CLASS_NAME_NEXT;
-          eventDirectionName = DIRECTION_LEFT;
-        } else {
-          directionalClassName = CLASS_NAME_END;
-          orderClassName = CLASS_NAME_PREV;
-          eventDirectionName = DIRECTION_RIGHT;
-        }
+        var directionalClassName = direction === DIRECTION_NEXT ? CLASS_NAME_START : CLASS_NAME_END;
+        var orderClassName = direction === DIRECTION_NEXT ? CLASS_NAME_NEXT : CLASS_NAME_PREV;
+        var eventDirectionName = direction === DIRECTION_NEXT ? DIRECTION_LEFT : DIRECTION_RIGHT;
 
         if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE$1)) {
           this._isSliding = false;
@@ -6284,7 +6297,7 @@
           activeElement.classList.add(directionalClassName);
           nextElement.classList.add(directionalClassName);
           var transitionDuration = getTransitionDurationFromElement(activeElement);
-          EventHandler.one(activeElement, TRANSITION_END, function () {
+          EventHandler.one(activeElement, 'transitionend', function () {
             nextElement.classList.remove(directionalClassName, orderClassName);
             nextElement.classList.add(CLASS_NAME_ACTIVE$1);
             activeElement.classList.remove(CLASS_NAME_ACTIVE$1, orderClassName, directionalClassName);
@@ -6412,21 +6425,7 @@
      * add .Carousel to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$2];
-        $.fn[NAME$2] = Carousel.jQueryInterface;
-        $.fn[NAME$2].Constructor = Carousel;
-
-        $.fn[NAME$2].noConflict = function () {
-          $.fn[NAME$2] = JQUERY_NO_CONFLICT;
-          return Carousel.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$2, Carousel);
 
     /**
      * ------------------------------------------------------------------------
@@ -6451,7 +6450,7 @@
     var EVENT_HIDE = "hide" + EVENT_KEY$3;
     var EVENT_HIDDEN = "hidden" + EVENT_KEY$3;
     var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$3 + DATA_API_KEY$3;
-    var CLASS_NAME_SHOW = 'show';
+    var CLASS_NAME_SHOW$1 = 'show';
     var CLASS_NAME_COLLAPSE = 'collapse';
     var CLASS_NAME_COLLAPSING = 'collapsing';
     var CLASS_NAME_COLLAPSED = 'collapsed';
@@ -6509,7 +6508,7 @@
 
       // Public
       _proto.toggle = function toggle() {
-        if (this._element.classList.contains(CLASS_NAME_SHOW)) {
+        if (this._element.classList.contains(CLASS_NAME_SHOW$1)) {
           this.hide();
         } else {
           this.show();
@@ -6519,7 +6518,7 @@
       _proto.show = function show() {
         var _this2 = this;
 
-        if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
+        if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW$1)) {
           return;
         }
 
@@ -6591,7 +6590,7 @@
         var complete = function complete() {
           _this2._element.classList.remove(CLASS_NAME_COLLAPSING);
 
-          _this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
+          _this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$1);
 
           _this2._element.style[dimension] = '';
 
@@ -6603,7 +6602,7 @@
         var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
         var scrollSize = "scroll" + capitalizedDimension;
         var transitionDuration = getTransitionDurationFromElement(this._element);
-        EventHandler.one(this._element, TRANSITION_END, complete);
+        EventHandler.one(this._element, 'transitionend', complete);
         emulateTransitionEnd(this._element, transitionDuration);
         this._element.style[dimension] = this._element[scrollSize] + "px";
       };
@@ -6611,7 +6610,7 @@
       _proto.hide = function hide() {
         var _this3 = this;
 
-        if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
+        if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW$1)) {
           return;
         }
 
@@ -6628,7 +6627,7 @@
 
         this._element.classList.add(CLASS_NAME_COLLAPSING);
 
-        this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
+        this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$1);
 
         var triggerArrayLength = this._triggerArray.length;
 
@@ -6637,7 +6636,7 @@
             var trigger = this._triggerArray[i];
             var elem = getElementFromSelector(trigger);
 
-            if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
+            if (elem && !elem.classList.contains(CLASS_NAME_SHOW$1)) {
               trigger.classList.add(CLASS_NAME_COLLAPSED);
               trigger.setAttribute('aria-expanded', false);
             }
@@ -6658,7 +6657,7 @@
 
         this._element.style[dimension] = '';
         var transitionDuration = getTransitionDurationFromElement(this._element);
-        EventHandler.one(this._element, TRANSITION_END, complete);
+        EventHandler.one(this._element, 'transitionend', complete);
         emulateTransitionEnd(this._element, transitionDuration);
       };
 
@@ -6716,7 +6715,7 @@
           return;
         }
 
-        var isOpen = element.classList.contains(CLASS_NAME_SHOW);
+        var isOpen = element.classList.contains(CLASS_NAME_SHOW$1);
         triggerArray.forEach(function (elem) {
           if (isOpen) {
             elem.classList.remove(CLASS_NAME_COLLAPSED);
@@ -6780,7 +6779,7 @@
 
     EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
       // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
-      if (event.target.tagName === 'A') {
+      if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
         event.preventDefault();
       }
 
@@ -6813,21 +6812,7 @@
      * add .Collapse to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$3];
-        $.fn[NAME$3] = Collapse.jQueryInterface;
-        $.fn[NAME$3].Constructor = Collapse;
-
-        $.fn[NAME$3].noConflict = function () {
-          $.fn[NAME$3] = JQUERY_NO_CONFLICT;
-          return Collapse.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$3, Collapse);
 
     /**
      * ------------------------------------------------------------------------
@@ -6856,7 +6841,7 @@
     var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
     var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
     var CLASS_NAME_DISABLED = 'disabled';
-    var CLASS_NAME_SHOW$1 = 'show';
+    var CLASS_NAME_SHOW$2 = 'show';
     var CLASS_NAME_DROPUP = 'dropup';
     var CLASS_NAME_DROPEND = 'dropend';
     var CLASS_NAME_DROPSTART = 'dropstart';
@@ -6873,7 +6858,7 @@
     var PLACEMENT_RIGHT = isRTL ? 'left-start' : 'right-start';
     var PLACEMENT_LEFT = isRTL ? 'right-start' : 'left-start';
     var Default$2 = {
-      offset: 0,
+      offset: [0, 2],
       flip: true,
       boundary: 'clippingParents',
       reference: 'toggle',
@@ -6881,12 +6866,12 @@
       popperConfig: null
     };
     var DefaultType$2 = {
-      offset: '(number|string|function)',
+      offset: '(array|string|function)',
       flip: 'boolean',
       boundary: '(string|element)',
-      reference: '(string|element)',
+      reference: '(string|element|object)',
       display: 'string',
-      popperConfig: '(null|object)'
+      popperConfig: '(null|object|function)'
     };
     /**
      * ------------------------------------------------------------------------
@@ -6920,7 +6905,7 @@
           return;
         }
 
-        var isActive = this._element.classList.contains(CLASS_NAME_SHOW$1);
+        var isActive = this._element.classList.contains(CLASS_NAME_SHOW$2);
 
         Dropdown.clearMenus();
 
@@ -6932,7 +6917,7 @@
       };
 
       _proto.show = function show() {
-        if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+        if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$2)) {
           return;
         }
 
@@ -6947,7 +6932,9 @@
         } // Totally disable Popper for Dropdowns in Navbar
 
 
-        if (!this._inNavbar) {
+        if (this._inNavbar) {
+          Manipulator.setDataAttribute(this._menu, 'popper', 'none');
+        } else {
           if (typeof Popper === 'undefined') {
             throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
           }
@@ -6962,9 +6949,20 @@
             if (typeof this._config.reference.jquery !== 'undefined') {
               referenceElement = this._config.reference[0];
             }
+          } else if (typeof this._config.reference === 'object') {
+            referenceElement = this._config.reference;
           }
 
-          this._popper = createPopper$2(referenceElement, this._menu, this._getPopperConfig());
+          var popperConfig = this._getPopperConfig();
+
+          var isDisplayStatic = popperConfig.modifiers.find(function (modifier) {
+            return modifier.name === 'applyStyles' && modifier.enabled === false;
+          });
+          this._popper = createPopper$2(referenceElement, this._menu, popperConfig);
+
+          if (isDisplayStatic) {
+            Manipulator.setDataAttribute(this._menu, 'popper', 'static');
+          }
         } // 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
@@ -6983,23 +6981,22 @@
 
         this._element.setAttribute('aria-expanded', true);
 
-        this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+        this._menu.classList.toggle(CLASS_NAME_SHOW$2);
 
-        this._element.classList.toggle(CLASS_NAME_SHOW$1);
+        this._element.classList.toggle(CLASS_NAME_SHOW$2);
 
-        EventHandler.trigger(parent, EVENT_SHOWN$1, relatedTarget);
+        EventHandler.trigger(this._element, EVENT_SHOWN$1, relatedTarget);
       };
 
       _proto.hide = function hide() {
-        if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+        if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$2)) {
           return;
         }
 
-        var parent = Dropdown.getParentFromElement(this._element);
         var relatedTarget = {
           relatedTarget: this._element
         };
-        var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
+        var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$1, relatedTarget);
 
         if (hideEvent.defaultPrevented) {
           return;
@@ -7009,11 +7006,12 @@
           this._popper.destroy();
         }
 
-        this._menu.classList.toggle(CLASS_NAME_SHOW$1);
+        this._menu.classList.toggle(CLASS_NAME_SHOW$2);
 
-        this._element.classList.toggle(CLASS_NAME_SHOW$1);
+        this._element.classList.toggle(CLASS_NAME_SHOW$2);
 
-        EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
+        Manipulator.removeDataAttribute(this._menu, 'popper');
+        EventHandler.trigger(this._element, EVENT_HIDDEN$1, relatedTarget);
       };
 
       _proto.dispose = function dispose() {
@@ -7052,6 +7050,12 @@
       _proto._getConfig = function _getConfig(config) {
         config = _extends({}, this.constructor.Default, Manipulator.getDataAttributes(this._element), config);
         typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
+
+        if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
+          // Popper virtual elements require a getBoundingClientRect method
+          throw new TypeError(NAME$4.toUpperCase() + ": Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.");
+        }
+
         return config;
       };
 
@@ -7084,26 +7088,51 @@
         return this._element.closest("." + CLASS_NAME_NAVBAR) !== null;
       };
 
+      _proto._getOffset = function _getOffset() {
+        var _this3 = this;
+
+        var offset = this._config.offset;
+
+        if (typeof offset === 'string') {
+          return offset.split(',').map(function (val) {
+            return Number.parseInt(val, 10);
+          });
+        }
+
+        if (typeof offset === 'function') {
+          return function (popperData) {
+            return offset(popperData, _this3._element);
+          };
+        }
+
+        return offset;
+      };
+
       _proto._getPopperConfig = function _getPopperConfig() {
-        var popperConfig = {
+        var defaultBsPopperConfig = {
           placement: this._getPlacement(),
           modifiers: [{
             name: 'preventOverflow',
             options: {
               altBoundary: this._config.flip,
-              rootBoundary: this._config.boundary
+              boundary: this._config.boundary
+            }
+          }, {
+            name: 'offset',
+            options: {
+              offset: this._getOffset()
             }
           }]
         }; // Disable Popper if we have a static display
 
         if (this._config.display === 'static') {
-          popperConfig.modifiers = [{
+          defaultBsPopperConfig.modifiers = [{
             name: 'applyStyles',
             enabled: false
           }];
         }
 
-        return _extends({}, popperConfig, this._config.popperConfig);
+        return _extends({}, defaultBsPopperConfig, typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);
       } // Static
       ;
 
@@ -7139,7 +7168,6 @@
         var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$2);
 
         for (var i = 0, len = toggles.length; i < len; i++) {
-          var parent = Dropdown.getParentFromElement(toggles[i]);
           var context = Data.getData(toggles[i], DATA_KEY$4);
           var relatedTarget = {
             relatedTarget: toggles[i]
@@ -7155,7 +7183,7 @@
 
           var dropdownMenu = context._menu;
 
-          if (!toggles[i].classList.contains(CLASS_NAME_SHOW$1)) {
+          if (!toggles[i].classList.contains(CLASS_NAME_SHOW$2)) {
             continue;
           }
 
@@ -7163,7 +7191,7 @@
             continue;
           }
 
-          var hideEvent = EventHandler.trigger(parent, EVENT_HIDE$1, relatedTarget);
+          var hideEvent = EventHandler.trigger(toggles[i], EVENT_HIDE$1, relatedTarget);
 
           if (hideEvent.defaultPrevented) {
             continue;
@@ -7185,9 +7213,10 @@
             context._popper.destroy();
           }
 
-          dropdownMenu.classList.remove(CLASS_NAME_SHOW$1);
-          toggles[i].classList.remove(CLASS_NAME_SHOW$1);
-          EventHandler.trigger(parent, EVENT_HIDDEN$1, relatedTarget);
+          dropdownMenu.classList.remove(CLASS_NAME_SHOW$2);
+          toggles[i].classList.remove(CLASS_NAME_SHOW$2);
+          Manipulator.removeDataAttribute(dropdownMenu, 'popper');
+          EventHandler.trigger(toggles[i], EVENT_HIDDEN$1, relatedTarget);
         }
       };
 
@@ -7215,7 +7244,7 @@
         }
 
         var parent = Dropdown.getParentFromElement(this);
-        var isActive = this.classList.contains(CLASS_NAME_SHOW$1);
+        var isActive = this.classList.contains(CLASS_NAME_SHOW$2);
 
         if (event.key === ESCAPE_KEY) {
           var button = this.matches(SELECTOR_DATA_TOGGLE$2) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$2)[0];
@@ -7224,6 +7253,14 @@
           return;
         }
 
+        if (!isActive && (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
+          var _button = this.matches(SELECTOR_DATA_TOGGLE$2) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$2)[0];
+
+          _button.click();
+
+          return;
+        }
+
         if (!isActive || event.key === SPACE_KEY) {
           Dropdown.clearMenus();
           return;
@@ -7296,21 +7333,7 @@
      * add .Dropdown to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$4];
-        $.fn[NAME$4] = Dropdown$1.jQueryInterface;
-        $.fn[NAME$4].Constructor = Dropdown$1;
-
-        $.fn[NAME$4].noConflict = function () {
-          $.fn[NAME$4] = JQUERY_NO_CONFLICT;
-          return Dropdown$1.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$4, Dropdown$1);
 
     /**
      * ------------------------------------------------------------------------
@@ -7348,8 +7371,8 @@
     var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
     var CLASS_NAME_BACKDROP = 'modal-backdrop';
     var CLASS_NAME_OPEN = 'modal-open';
-    var CLASS_NAME_FADE = 'fade';
-    var CLASS_NAME_SHOW$2 = 'show';
+    var CLASS_NAME_FADE$1 = 'fade';
+    var CLASS_NAME_SHOW$3 = 'show';
     var CLASS_NAME_STATIC = 'modal-static';
     var SELECTOR_DIALOG = '.modal-dialog';
     var SELECTOR_MODAL_BODY = '.modal-body';
@@ -7396,7 +7419,7 @@
           return;
         }
 
-        if (this._element.classList.contains(CLASS_NAME_FADE)) {
+        if (this._element.classList.contains(CLASS_NAME_FADE$1)) {
           this._isTransitioning = true;
         }
 
@@ -7455,7 +7478,7 @@
 
         this._isShown = false;
 
-        var transition = this._element.classList.contains(CLASS_NAME_FADE);
+        var transition = this._element.classList.contains(CLASS_NAME_FADE$1);
 
         if (transition) {
           this._isTransitioning = true;
@@ -7467,14 +7490,14 @@
 
         EventHandler.off(document, EVENT_FOCUSIN);
 
-        this._element.classList.remove(CLASS_NAME_SHOW$2);
+        this._element.classList.remove(CLASS_NAME_SHOW$3);
 
         EventHandler.off(this._element, EVENT_CLICK_DISMISS);
         EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
 
         if (transition) {
           var transitionDuration = getTransitionDurationFromElement(this._element);
-          EventHandler.one(this._element, TRANSITION_END, function (event) {
+          EventHandler.one(this._element, 'transitionend', function (event) {
             return _this3._hideModal(event);
           });
           emulateTransitionEnd(this._element, transitionDuration);
@@ -7521,7 +7544,7 @@
       _proto._showElement = function _showElement(relatedTarget) {
         var _this4 = this;
 
-        var transition = this._element.classList.contains(CLASS_NAME_FADE);
+        var transition = this._element.classList.contains(CLASS_NAME_FADE$1);
 
         var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
 
@@ -7548,7 +7571,7 @@
           reflow(this._element);
         }
 
-        this._element.classList.add(CLASS_NAME_SHOW$2);
+        this._element.classList.add(CLASS_NAME_SHOW$3);
 
         if (this._config.focus) {
           this._enforceFocus();
@@ -7567,7 +7590,7 @@
 
         if (transition) {
           var transitionDuration = getTransitionDurationFromElement(this._dialog);
-          EventHandler.one(this._dialog, TRANSITION_END, transitionComplete);
+          EventHandler.one(this._dialog, 'transitionend', transitionComplete);
           emulateTransitionEnd(this._dialog, transitionDuration);
         } else {
           transitionComplete();
@@ -7649,7 +7672,7 @@
       _proto._showBackdrop = function _showBackdrop(callback) {
         var _this9 = this;
 
-        var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
+        var animate = this._element.classList.contains(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';
 
         if (this._isShown && this._config.backdrop) {
           this._backdrop = document.createElement('div');
@@ -7681,7 +7704,7 @@
             reflow(this._backdrop);
           }
 
-          this._backdrop.classList.add(CLASS_NAME_SHOW$2);
+          this._backdrop.classList.add(CLASS_NAME_SHOW$3);
 
           if (!animate) {
             callback();
@@ -7689,10 +7712,10 @@
           }
 
           var backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
-          EventHandler.one(this._backdrop, TRANSITION_END, callback);
+          EventHandler.one(this._backdrop, 'transitionend', callback);
           emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
         } else if (!this._isShown && this._backdrop) {
-          this._backdrop.classList.remove(CLASS_NAME_SHOW$2);
+          this._backdrop.classList.remove(CLASS_NAME_SHOW$3);
 
           var callbackRemove = function callbackRemove() {
             _this9._removeBackdrop();
@@ -7700,10 +7723,10 @@
             callback();
           };
 
-          if (this._element.classList.contains(CLASS_NAME_FADE)) {
+          if (this._element.classList.contains(CLASS_NAME_FADE$1)) {
             var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
 
-            EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);
+            EventHandler.one(this._backdrop, 'transitionend', callbackRemove);
             emulateTransitionEnd(this._backdrop, _backdropTransitionDuration);
           } else {
             callbackRemove();
@@ -7731,12 +7754,12 @@
         this._element.classList.add(CLASS_NAME_STATIC);
 
         var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
-        EventHandler.off(this._element, TRANSITION_END);
-        EventHandler.one(this._element, TRANSITION_END, function () {
+        EventHandler.off(this._element, 'transitionend');
+        EventHandler.one(this._element, 'transitionend', function () {
           _this10._element.classList.remove(CLASS_NAME_STATIC);
 
           if (!isModalOverflowing) {
-            EventHandler.one(_this10._element, TRANSITION_END, function () {
+            EventHandler.one(_this10._element, 'transitionend', function () {
               _this10._element.style.overflowY = '';
             });
             emulateTransitionEnd(_this10._element, modalTransitionDuration);
@@ -7777,60 +7800,50 @@
         var _this11 = 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
-          // Adjust fixed content padding
-          SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
-            var actualPadding = element.style.paddingRight;
-            var calculatedPadding = window.getComputedStyle(element)['padding-right'];
-            Manipulator.setDataAttribute(element, 'padding-right', actualPadding);
-            element.style.paddingRight = Number.parseFloat(calculatedPadding) + _this11._scrollbarWidth + "px";
-          }); // Adjust sticky content margin
-
-          SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
-            var actualMargin = element.style.marginRight;
-            var calculatedMargin = window.getComputedStyle(element)['margin-right'];
-            Manipulator.setDataAttribute(element, 'margin-right', actualMargin);
-            element.style.marginRight = Number.parseFloat(calculatedMargin) - _this11._scrollbarWidth + "px";
-          }); // Adjust body padding
-
-          var actualPadding = document.body.style.paddingRight;
-          var calculatedPadding = window.getComputedStyle(document.body)['padding-right'];
-          Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding);
-          document.body.style.paddingRight = Number.parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
+          this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', function (calculatedValue) {
+            return calculatedValue + _this11._scrollbarWidth;
+          });
+
+          this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', function (calculatedValue) {
+            return calculatedValue - _this11._scrollbarWidth;
+          });
+
+          this._setElementAttributes('body', 'paddingRight', function (calculatedValue) {
+            return calculatedValue + _this11._scrollbarWidth;
+          });
         }
 
         document.body.classList.add(CLASS_NAME_OPEN);
       };
 
-      _proto._resetScrollbar = function _resetScrollbar() {
-        // Restore fixed content padding
-        SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
-          var padding = Manipulator.getDataAttribute(element, 'padding-right');
+      _proto._setElementAttributes = function _setElementAttributes(selector, styleProp, callback) {
+        SelectorEngine.find(selector).forEach(function (element) {
+          var actualValue = element.style[styleProp];
+          var calculatedValue = window.getComputedStyle(element)[styleProp];
+          Manipulator.setDataAttribute(element, styleProp, actualValue);
+          element.style[styleProp] = callback(Number.parseFloat(calculatedValue)) + 'px';
+        });
+      };
 
-          if (typeof padding !== 'undefined') {
-            Manipulator.removeDataAttribute(element, 'padding-right');
-            element.style.paddingRight = padding;
-          }
-        }); // Restore sticky content and navbar-toggler margin
+      _proto._resetScrollbar = function _resetScrollbar() {
+        this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
 
-        SelectorEngine.find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
-          var margin = Manipulator.getDataAttribute(element, 'margin-right');
+        this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
 
-          if (typeof margin !== 'undefined') {
-            Manipulator.removeDataAttribute(element, 'margin-right');
-            element.style.marginRight = margin;
-          }
-        }); // Restore body padding
+        this._resetElementAttributes('body', 'paddingRight');
+      };
 
-        var padding = Manipulator.getDataAttribute(document.body, 'padding-right');
+      _proto._resetElementAttributes = function _resetElementAttributes(selector, styleProp) {
+        SelectorEngine.find(selector).forEach(function (element) {
+          var value = Manipulator.getDataAttribute(element, styleProp);
 
-        if (typeof padding === 'undefined') {
-          document.body.style.paddingRight = '';
-        } else {
-          Manipulator.removeDataAttribute(document.body, 'padding-right');
-          document.body.style.paddingRight = padding;
-        }
+          if (typeof value === 'undefined' && element === document.body) {
+            element.style[styleProp] = '';
+          } else {
+            Manipulator.removeDataAttribute(element, styleProp);
+            element.style[styleProp] = value;
+          }
+        });
       };
 
       _proto._getScrollbarWidth = function _getScrollbarWidth() {
@@ -7914,7 +7927,7 @@
         data = new Modal(target, config);
       }
 
-      data.show(this);
+      data.toggle(this);
     });
     /**
      * ------------------------------------------------------------------------
@@ -7923,25 +7936,11 @@
      * add .Modal to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$5];
-        $.fn[NAME$5] = Modal.jQueryInterface;
-        $.fn[NAME$5].Constructor = Modal;
-
-        $.fn[NAME$5].noConflict = function () {
-          $.fn[NAME$5] = JQUERY_NO_CONFLICT;
-          return Modal.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$5, Modal);
 
     /**
      * --------------------------------------------------------------------------
-     * Bootstrap (v5.0.0-beta1): util/sanitizer.js
+     * Bootstrap (v5.0.0-beta2): util/sanitizer.js
      * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
      * --------------------------------------------------------------------------
      */
@@ -7967,7 +7966,7 @@
 
       if (allowedAttributeList.includes(attrName)) {
         if (uriAttrs.has(attrName)) {
-          return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
+          return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
         }
 
         return true;
@@ -7978,7 +7977,7 @@
       }); // Check if a regular expression validates the attribute.
 
       for (var i = 0, len = regExp.length; i < len; i++) {
-        if (attrName.match(regExp[i])) {
+        if (regExp[i].test(attrName)) {
           return true;
         }
       }
@@ -8087,14 +8086,15 @@
       html: 'boolean',
       selector: '(string|boolean)',
       placement: '(string|function)',
+      offset: '(array|string|function)',
       container: '(string|element|boolean)',
-      fallbackPlacements: '(null|array)',
+      fallbackPlacements: 'array',
       boundary: '(string|element)',
       customClass: '(string|function)',
       sanitize: 'boolean',
       sanitizeFn: '(null|function)',
       allowList: 'object',
-      popperConfig: '(null|object)'
+      popperConfig: '(null|object|function)'
     };
     var AttachmentMap = {
       AUTO: 'auto',
@@ -8112,8 +8112,9 @@
       html: false,
       selector: false,
       placement: 'top',
+      offset: [0, 0],
       container: false,
-      fallbackPlacements: null,
+      fallbackPlacements: ['top', 'right', 'bottom', 'left'],
       boundary: 'clippingParents',
       customClass: '',
       sanitize: true,
@@ -8133,9 +8134,9 @@
       MOUSEENTER: "mouseenter" + EVENT_KEY$6,
       MOUSELEAVE: "mouseleave" + EVENT_KEY$6
     };
-    var CLASS_NAME_FADE$1 = 'fade';
+    var CLASS_NAME_FADE$2 = 'fade';
     var CLASS_NAME_MODAL = 'modal';
-    var CLASS_NAME_SHOW$3 = 'show';
+    var CLASS_NAME_SHOW$4 = 'show';
     var HOVER_STATE_SHOW = 'show';
     var HOVER_STATE_OUT = 'out';
     var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
@@ -8197,13 +8198,7 @@
         }
 
         if (event) {
-          var dataKey = this.constructor.DATA_KEY;
-          var context = Data.getData(event.delegateTarget, dataKey);
-
-          if (!context) {
-            context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
-            Data.setData(event.delegateTarget, dataKey, context);
-          }
+          var context = this._initializeOnDelegatedTarget(event);
 
           context._activeTrigger.click = !context._activeTrigger.click;
 
@@ -8213,7 +8208,7 @@
             context._leave(null, context);
           }
         } else {
-          if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
+          if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$4)) {
             this._leave(null, this);
 
             return;
@@ -8228,7 +8223,7 @@
         EventHandler.off(this._element, this.constructor.EVENT_KEY);
         EventHandler.off(this._element.closest("." + CLASS_NAME_MODAL), 'hide.bs.modal', this._hideModalHandler);
 
-        if (this.tip) {
+        if (this.tip && this.tip.parentNode) {
           this.tip.parentNode.removeChild(this.tip);
         }
 
@@ -8255,81 +8250,83 @@
           throw new Error('Please use show on visible elements');
         }
 
-        if (this.isWithContent() && this._isEnabled) {
-          var showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);
-          var shadowRoot = findShadowRoot(this._element);
-          var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);
+        if (!(this.isWithContent() && this._isEnabled)) {
+          return;
+        }
 
-          if (showEvent.defaultPrevented || !isInTheDom) {
-            return;
-          }
+        var showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);
+        var shadowRoot = findShadowRoot(this._element);
+        var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);
 
-          var tip = this.getTipElement();
-          var tipId = getUID(this.constructor.NAME);
-          tip.setAttribute('id', tipId);
+        if (showEvent.defaultPrevented || !isInTheDom) {
+          return;
+        }
 
-          this._element.setAttribute('aria-describedby', tipId);
+        var tip = this.getTipElement();
+        var tipId = getUID(this.constructor.NAME);
+        tip.setAttribute('id', tipId);
 
-          this.setContent();
+        this._element.setAttribute('aria-describedby', tipId);
 
-          if (this.config.animation) {
-            tip.classList.add(CLASS_NAME_FADE$1);
-          }
+        this.setContent();
 
-          var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
+        if (this.config.animation) {
+          tip.classList.add(CLASS_NAME_FADE$2);
+        }
 
-          var attachment = this._getAttachment(placement);
+        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
 
-          this._addAttachmentClass(attachment);
+        var attachment = this._getAttachment(placement);
 
-          var container = this._getContainer();
+        this._addAttachmentClass(attachment);
 
-          Data.setData(tip, this.constructor.DATA_KEY, this);
+        var container = this._getContainer();
 
-          if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
-            container.appendChild(tip);
-          }
+        Data.setData(tip, this.constructor.DATA_KEY, this);
 
-          EventHandler.trigger(this._element, this.constructor.Event.INSERTED);
-          this._popper = createPopper$2(this._element, tip, this._getPopperConfig(attachment));
-          tip.classList.add(CLASS_NAME_SHOW$3);
-          var customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
+        if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
+          container.appendChild(tip);
+        }
 
-          if (customClass) {
-            var _tip$classList;
+        EventHandler.trigger(this._element, this.constructor.Event.INSERTED);
+        this._popper = createPopper$2(this._element, tip, this._getPopperConfig(attachment));
+        tip.classList.add(CLASS_NAME_SHOW$4);
+        var customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
 
-            (_tip$classList = tip.classList).add.apply(_tip$classList, customClass.split(' '));
-          } // 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 (customClass) {
+          var _tip$classList;
 
+          (_tip$classList = tip.classList).add.apply(_tip$classList, customClass.split(' '));
+        } // 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) {
-            var _ref;
 
-            (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
-              EventHandler.on(element, 'mouseover', noop());
-            });
-          }
+        if ('ontouchstart' in document.documentElement) {
+          var _ref;
 
-          var complete = function complete() {
-            var prevHoverState = _this2._hoverState;
-            _this2._hoverState = null;
-            EventHandler.trigger(_this2._element, _this2.constructor.Event.SHOWN);
+          (_ref = []).concat.apply(_ref, document.body.children).forEach(function (element) {
+            EventHandler.on(element, 'mouseover', noop());
+          });
+        }
 
-            if (prevHoverState === HOVER_STATE_OUT) {
-              _this2._leave(null, _this2);
-            }
-          };
+        var complete = function complete() {
+          var prevHoverState = _this2._hoverState;
+          _this2._hoverState = null;
+          EventHandler.trigger(_this2._element, _this2.constructor.Event.SHOWN);
 
-          if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
-            var transitionDuration = getTransitionDurationFromElement(this.tip);
-            EventHandler.one(this.tip, TRANSITION_END, complete);
-            emulateTransitionEnd(this.tip, transitionDuration);
-          } else {
-            complete();
+          if (prevHoverState === HOVER_STATE_OUT) {
+            _this2._leave(null, _this2);
           }
+        };
+
+        if (this.tip.classList.contains(CLASS_NAME_FADE$2)) {
+          var transitionDuration = getTransitionDurationFromElement(this.tip);
+          EventHandler.one(this.tip, 'transitionend', complete);
+          emulateTransitionEnd(this.tip, transitionDuration);
+        } else {
+          complete();
         }
       };
 
@@ -8366,7 +8363,7 @@
           return;
         }
 
-        tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
+        tip.classList.remove(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra
         // empty mouseover listeners we added for iOS support
 
         if ('ontouchstart' in document.documentElement) {
@@ -8381,9 +8378,9 @@
         this._activeTrigger[TRIGGER_FOCUS] = false;
         this._activeTrigger[TRIGGER_HOVER] = false;
 
-        if (this.tip.classList.contains(CLASS_NAME_FADE$1)) {
+        if (this.tip.classList.contains(CLASS_NAME_FADE$2)) {
           var transitionDuration = getTransitionDurationFromElement(tip);
-          EventHandler.one(tip, TRANSITION_END, complete);
+          EventHandler.one(tip, 'transitionend', complete);
           emulateTransitionEnd(tip, transitionDuration);
         } else {
           complete();
@@ -8417,7 +8414,7 @@
       _proto.setContent = function setContent() {
         var tip = this.getTipElement();
         this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
-        tip.classList.remove(CLASS_NAME_FADE$1, CLASS_NAME_SHOW$3);
+        tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$4);
       };
 
       _proto.setElementContent = function setElementContent(element, content) {
@@ -8477,26 +8474,58 @@
       } // Private
       ;
 
-      _proto._getPopperConfig = function _getPopperConfig(attachment) {
+      _proto._initializeOnDelegatedTarget = function _initializeOnDelegatedTarget(event, context) {
+        var dataKey = this.constructor.DATA_KEY;
+        context = context || Data.getData(event.delegateTarget, dataKey);
+
+        if (!context) {
+          context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
+          Data.setData(event.delegateTarget, dataKey, context);
+        }
+
+        return context;
+      };
+
+      _proto._getOffset = function _getOffset() {
         var _this4 = this;
 
-        var flipModifier = {
-          name: 'flip',
-          options: {
-            altBoundary: true
-          }
-        };
+        var offset = this.config.offset;
+
+        if (typeof offset === 'string') {
+          return offset.split(',').map(function (val) {
+            return Number.parseInt(val, 10);
+          });
+        }
 
-        if (this.config.fallbackPlacements) {
-          flipModifier.options.fallbackPlacements = this.config.fallbackPlacements;
+        if (typeof offset === 'function') {
+          return function (popperData) {
+            return offset(popperData, _this4._element);
+          };
         }
 
-        var defaultBsConfig = {
+        return offset;
+      };
+
+      _proto._getPopperConfig = function _getPopperConfig(attachment) {
+        var _this5 = this;
+
+        var defaultBsPopperConfig = {
           placement: attachment,
-          modifiers: [flipModifier, {
+          modifiers: [{
+            name: 'flip',
+            options: {
+              altBoundary: true,
+              fallbackPlacements: this.config.fallbackPlacements
+            }
+          }, {
+            name: 'offset',
+            options: {
+              offset: this._getOffset()
+            }
+          }, {
             name: 'preventOverflow',
             options: {
-              rootBoundary: this.config.boundary
+              boundary: this.config.boundary
             }
           }, {
             name: 'arrow',
@@ -8508,16 +8537,16 @@
             enabled: true,
             phase: 'afterWrite',
             fn: function fn(data) {
-              return _this4._handlePopperPlacementChange(data);
+              return _this5._handlePopperPlacementChange(data);
             }
           }],
           onFirstUpdate: function onFirstUpdate(data) {
             if (data.options.placement !== data.placement) {
-              _this4._handlePopperPlacementChange(data);
+              _this5._handlePopperPlacementChange(data);
             }
           }
         };
-        return _extends({}, defaultBsConfig, this.config.popperConfig);
+        return _extends({}, defaultBsPopperConfig, typeof this.config.popperConfig === 'function' ? this.config.popperConfig(defaultBsPopperConfig) : this.config.popperConfig);
       };
 
       _proto._addAttachmentClass = function _addAttachmentClass(attachment) {
@@ -8541,29 +8570,29 @@
       };
 
       _proto._setListeners = function _setListeners() {
-        var _this5 = this;
+        var _this6 = this;
 
         var triggers = this.config.trigger.split(' ');
         triggers.forEach(function (trigger) {
           if (trigger === 'click') {
-            EventHandler.on(_this5._element, _this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
-              return _this5.toggle(event);
+            EventHandler.on(_this6._element, _this6.constructor.Event.CLICK, _this6.config.selector, function (event) {
+              return _this6.toggle(event);
             });
           } else if (trigger !== TRIGGER_MANUAL) {
-            var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
-            var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
-            EventHandler.on(_this5._element, eventIn, _this5.config.selector, function (event) {
-              return _this5._enter(event);
+            var eventIn = trigger === TRIGGER_HOVER ? _this6.constructor.Event.MOUSEENTER : _this6.constructor.Event.FOCUSIN;
+            var eventOut = trigger === TRIGGER_HOVER ? _this6.constructor.Event.MOUSELEAVE : _this6.constructor.Event.FOCUSOUT;
+            EventHandler.on(_this6._element, eventIn, _this6.config.selector, function (event) {
+              return _this6._enter(event);
             });
-            EventHandler.on(_this5._element, eventOut, _this5.config.selector, function (event) {
-              return _this5._leave(event);
+            EventHandler.on(_this6._element, eventOut, _this6.config.selector, function (event) {
+              return _this6._leave(event);
             });
           }
         });
 
         this._hideModalHandler = function () {
-          if (_this5._element) {
-            _this5.hide();
+          if (_this6._element) {
+            _this6.hide();
           }
         };
 
@@ -8596,19 +8625,13 @@
       };
 
       _proto._enter = function _enter(event, context) {
-        var dataKey = this.constructor.DATA_KEY;
-        context = context || Data.getData(event.delegateTarget, dataKey);
-
-        if (!context) {
-          context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
-          Data.setData(event.delegateTarget, dataKey, context);
-        }
+        context = this._initializeOnDelegatedTarget(event, context);
 
         if (event) {
           context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
         }
 
-        if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
+        if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
           context._hoverState = HOVER_STATE_SHOW;
           return;
         }
@@ -8629,13 +8652,7 @@
       };
 
       _proto._leave = function _leave(event, context) {
-        var dataKey = this.constructor.DATA_KEY;
-        context = context || Data.getData(event.delegateTarget, dataKey);
-
-        if (!context) {
-          context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
-          Data.setData(event.delegateTarget, dataKey, context);
-        }
+        context = this._initializeOnDelegatedTarget(event, context);
 
         if (event) {
           context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
@@ -8816,21 +8833,7 @@
      */
 
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$6];
-        $.fn[NAME$6] = Tooltip.jQueryInterface;
-        $.fn[NAME$6].Constructor = Tooltip;
-
-        $.fn[NAME$6].noConflict = function () {
-          $.fn[NAME$6] = JQUERY_NO_CONFLICT;
-          return Tooltip.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$6, Tooltip);
 
     /**
      * ------------------------------------------------------------------------
@@ -8846,6 +8849,7 @@
 
     var Default$5 = _extends({}, Tooltip.Default, {
       placement: 'right',
+      offset: [0, 8],
       trigger: 'click',
       content: '',
       template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
@@ -8867,8 +8871,8 @@
       MOUSEENTER: "mouseenter" + EVENT_KEY$7,
       MOUSELEAVE: "mouseleave" + EVENT_KEY$7
     };
-    var CLASS_NAME_FADE$2 = 'fade';
-    var CLASS_NAME_SHOW$4 = 'show';
+    var CLASS_NAME_FADE$3 = 'fade';
+    var CLASS_NAME_SHOW$5 = 'show';
     var SELECTOR_TITLE = '.popover-header';
     var SELECTOR_CONTENT = '.popover-body';
     /**
@@ -8903,7 +8907,7 @@
         }
 
         this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
-        tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$4);
+        tip.classList.remove(CLASS_NAME_FADE$3, CLASS_NAME_SHOW$5);
       } // Private
       ;
 
@@ -8956,8 +8960,8 @@
 
       _createClass(Popover, null, [{
         key: "Default",
-        // Getters
-        get: function get() {
+        get: // Getters
+        function get() {
           return Default$5;
         }
       }, {
@@ -8997,21 +9001,7 @@
      */
 
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$7];
-        $.fn[NAME$7] = Popover.jQueryInterface;
-        $.fn[NAME$7].Constructor = Popover;
-
-        $.fn[NAME$7].noConflict = function () {
-          $.fn[NAME$7] = JQUERY_NO_CONFLICT;
-          return Popover.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$7, Popover);
 
     /**
      * ------------------------------------------------------------------------
@@ -9067,8 +9057,8 @@
         _this._targets = [];
         _this._activeTarget = null;
         _this._scrollHeight = 0;
-        EventHandler.on(_this._scrollElement, EVENT_SCROLL, function (event) {
-          return _this._process(event);
+        EventHandler.on(_this._scrollElement, EVENT_SCROLL, function () {
+          return _this._process();
         });
 
         _this.refresh();
@@ -9297,21 +9287,7 @@
      * add .ScrollSpy to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$8];
-        $.fn[NAME$8] = ScrollSpy.jQueryInterface;
-        $.fn[NAME$8].Constructor = ScrollSpy;
-
-        $.fn[NAME$8].noConflict = function () {
-          $.fn[NAME$8] = JQUERY_NO_CONFLICT;
-          return ScrollSpy.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$8, ScrollSpy);
 
     /**
      * ------------------------------------------------------------------------
@@ -9331,8 +9307,8 @@
     var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
     var CLASS_NAME_ACTIVE$3 = 'active';
     var CLASS_NAME_DISABLED$1 = 'disabled';
-    var CLASS_NAME_FADE$3 = 'fade';
-    var CLASS_NAME_SHOW$5 = 'show';
+    var CLASS_NAME_FADE$4 = 'fade';
+    var CLASS_NAME_SHOW$6 = 'show';
     var SELECTOR_DROPDOWN$1 = '.dropdown';
     var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
     var SELECTOR_ACTIVE$1 = '.active';
@@ -9374,14 +9350,9 @@
           previous = previous[previous.length - 1];
         }
 
-        var hideEvent = null;
-
-        if (previous) {
-          hideEvent = EventHandler.trigger(previous, EVENT_HIDE$3, {
-            relatedTarget: this._element
-          });
-        }
-
+        var hideEvent = previous ? EventHandler.trigger(previous, EVENT_HIDE$3, {
+          relatedTarget: this._element
+        }) : null;
         var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
           relatedTarget: previous
         });
@@ -9414,7 +9385,7 @@
 
         var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$1);
         var active = activeElements[0];
-        var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
+        var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$4);
 
         var complete = function complete() {
           return _this2._transitionComplete(element, active, callback);
@@ -9422,8 +9393,8 @@
 
         if (active && isTransitioning) {
           var transitionDuration = getTransitionDurationFromElement(active);
-          active.classList.remove(CLASS_NAME_SHOW$5);
-          EventHandler.one(active, TRANSITION_END, complete);
+          active.classList.remove(CLASS_NAME_SHOW$6);
+          EventHandler.one(active, 'transitionend', complete);
           emulateTransitionEnd(active, transitionDuration);
         } else {
           complete();
@@ -9452,8 +9423,8 @@
 
         reflow(element);
 
-        if (element.classList.contains(CLASS_NAME_FADE$3)) {
-          element.classList.add(CLASS_NAME_SHOW$5);
+        if (element.classList.contains(CLASS_NAME_FADE$4)) {
+          element.classList.add(CLASS_NAME_SHOW$6);
         }
 
         if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
@@ -9490,8 +9461,8 @@
 
       _createClass(Tab, null, [{
         key: "DATA_KEY",
-        // Getters
-        get: function get() {
+        get: // Getters
+        function get() {
           return DATA_KEY$9;
         }
       }]);
@@ -9517,21 +9488,7 @@
      * add .Tab to jQuery only if jQuery is present
      */
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$9];
-        $.fn[NAME$9] = Tab.jQueryInterface;
-        $.fn[NAME$9].Constructor = Tab;
-
-        $.fn[NAME$9].noConflict = function () {
-          $.fn[NAME$9] = JQUERY_NO_CONFLICT;
-          return Tab.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$9, Tab);
 
     /**
      * ------------------------------------------------------------------------
@@ -9547,9 +9504,9 @@
     var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$a;
     var EVENT_SHOW$4 = "show" + EVENT_KEY$a;
     var EVENT_SHOWN$4 = "shown" + EVENT_KEY$a;
-    var CLASS_NAME_FADE$4 = 'fade';
+    var CLASS_NAME_FADE$5 = 'fade';
     var CLASS_NAME_HIDE = 'hide';
-    var CLASS_NAME_SHOW$6 = 'show';
+    var CLASS_NAME_SHOW$7 = 'show';
     var CLASS_NAME_SHOWING = 'showing';
     var DefaultType$7 = {
       animation: 'boolean',
@@ -9599,13 +9556,13 @@
         this._clearTimeout();
 
         if (this._config.animation) {
-          this._element.classList.add(CLASS_NAME_FADE$4);
+          this._element.classList.add(CLASS_NAME_FADE$5);
         }
 
         var complete = function complete() {
           _this2._element.classList.remove(CLASS_NAME_SHOWING);
 
-          _this2._element.classList.add(CLASS_NAME_SHOW$6);
+          _this2._element.classList.add(CLASS_NAME_SHOW$7);
 
           EventHandler.trigger(_this2._element, EVENT_SHOWN$4);
 
@@ -9624,7 +9581,7 @@
 
         if (this._config.animation) {
           var transitionDuration = getTransitionDurationFromElement(this._element);
-          EventHandler.one(this._element, TRANSITION_END, complete);
+          EventHandler.one(this._element, 'transitionend', complete);
           emulateTransitionEnd(this._element, transitionDuration);
         } else {
           complete();
@@ -9634,7 +9591,7 @@
       _proto.hide = function hide() {
         var _this3 = this;
 
-        if (!this._element.classList.contains(CLASS_NAME_SHOW$6)) {
+        if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {
           return;
         }
 
@@ -9650,11 +9607,11 @@
           EventHandler.trigger(_this3._element, EVENT_HIDDEN$4);
         };
 
-        this._element.classList.remove(CLASS_NAME_SHOW$6);
+        this._element.classList.remove(CLASS_NAME_SHOW$7);
 
         if (this._config.animation) {
           var transitionDuration = getTransitionDurationFromElement(this._element);
-          EventHandler.one(this._element, TRANSITION_END, complete);
+          EventHandler.one(this._element, 'transitionend', complete);
           emulateTransitionEnd(this._element, transitionDuration);
         } else {
           complete();
@@ -9664,8 +9621,8 @@
       _proto.dispose = function dispose() {
         this._clearTimeout();
 
-        if (this._element.classList.contains(CLASS_NAME_SHOW$6)) {
-          this._element.classList.remove(CLASS_NAME_SHOW$6);
+        if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
+          this._element.classList.remove(CLASS_NAME_SHOW$7);
         }
 
         EventHandler.off(this._element, EVENT_CLICK_DISMISS$1);
@@ -9743,21 +9700,7 @@
      */
 
 
-    onDOMContentLoaded(function () {
-      var $ = getjQuery();
-      /* istanbul ignore if */
-
-      if ($) {
-        var JQUERY_NO_CONFLICT = $.fn[NAME$a];
-        $.fn[NAME$a] = Toast.jQueryInterface;
-        $.fn[NAME$a].Constructor = Toast;
-
-        $.fn[NAME$a].noConflict = function () {
-          $.fn[NAME$a] = JQUERY_NO_CONFLICT;
-          return Toast.jQueryInterface;
-        };
-      }
-    });
+    defineJQueryPlugin(NAME$a, Toast);
 
     /*
      * Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js.map b/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js.map
index 492bcd5..3dc0052 100644
--- a/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js.map
+++ b/tobago-theme/tobago-theme-standard/npm/dist/js/tobago.js.map
@@ -1 +1 @@
-{"version":3,"file":"tobago.js","sources":["tobago-listener.js","tobago-utils.js","tobago-bar.js","tobago-dropdown.js","../../node_modules/vanillajs-datepicker/js/lib/utils.js","../../node_modules/vanillajs-datepicker/js/lib/date.js","../../node_modules/vanillajs-datepicker/js/lib/date-format.js","../../node_modules/vanillajs-datepicker/js/lib/event.js","../../node_modules/vanillajs-datepicker/js/i18n/base-locales.js","../../node_modules/vanillajs-datepicker/js/options/defaultOptions.js" [...]
\ No newline at end of file
+{"version":3,"file":"tobago.js","sources":["tobago-listener.js","tobago-utils.js","tobago-bar.js","tobago-dropdown.js","../../node_modules/vanillajs-datepicker/js/lib/utils.js","../../node_modules/vanillajs-datepicker/js/lib/date.js","../../node_modules/vanillajs-datepicker/js/lib/date-format.js","../../node_modules/vanillajs-datepicker/js/lib/event.js","../../node_modules/vanillajs-datepicker/js/i18n/base-locales.js","../../node_modules/vanillajs-datepicker/js/options/defaultOptions.js" [...]
\ No newline at end of file