diff --git a/composer.json b/composer.json
index 4c0e72f991ca76a4a43b5aafe51a4aac2d2922b7..d72bc3da310a9cba5856d95995aab13e325de977 100644
--- a/composer.json
+++ b/composer.json
@@ -100,7 +100,7 @@
         "drupal/block_field": "1.0.0-rc4",
         "drupal/block_permissions": "1.3",
         "drupal/block_region_permissions": "1.5",
-        "drupal/bootstrap": "3.31",
+        "drupal/bootstrap": "3.32",
         "drupal/cache_control_override": "^2.0",
         "drupal/ckeditor_indentblock": "^1.0",
         "drupal/config_ignore": "3.3",
diff --git a/composer.lock b/composer.lock
index 2ee86fc903dab4fa02ad1dc3e6e1657adcccb3ad..dcb9c9ecb629e18c1151e211fa899112640e7e45 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "a8abbbcb38b5b9189862e21f9261f25f",
+    "content-hash": "3361f95e4b36eaf930e452c901778218",
     "packages": [
         {
             "name": "algolia/places",
@@ -1877,17 +1877,17 @@
         },
         {
             "name": "drupal/bootstrap",
-            "version": "3.31.0",
+            "version": "3.32.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/bootstrap.git",
-                "reference": "8.x-3.31"
+                "reference": "8.x-3.32"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.31.zip",
-                "reference": "8.x-3.31",
-                "shasum": "cf2ea2ee56e3fb98b1dc9f8af17942078f1f56bc"
+                "url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.32.zip",
+                "reference": "8.x-3.32",
+                "shasum": "978295ab3f539ef7584d898269c4f9d91aa3147d"
             },
             "require": {
                 "drupal/core": "^9.5 || ^10",
@@ -1899,8 +1899,8 @@
             "type": "drupal-theme",
             "extra": {
                 "drupal": {
-                    "version": "8.x-3.31",
-                    "datestamp": "1718994537",
+                    "version": "8.x-3.32",
+                    "datestamp": "1723065851",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index fd12b5a08d9f56bd97a1a6801afa1d90174194f3..8ba0470208dc36a6cca0b040f69b73d57033cffb 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1978,18 +1978,18 @@
         },
         {
             "name": "drupal/bootstrap",
-            "version": "3.31.0",
-            "version_normalized": "3.31.0.0",
+            "version": "3.32.0",
+            "version_normalized": "3.32.0.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/bootstrap.git",
-                "reference": "8.x-3.31"
+                "reference": "8.x-3.32"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.31.zip",
-                "reference": "8.x-3.31",
-                "shasum": "cf2ea2ee56e3fb98b1dc9f8af17942078f1f56bc"
+                "url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.32.zip",
+                "reference": "8.x-3.32",
+                "shasum": "978295ab3f539ef7584d898269c4f9d91aa3147d"
             },
             "require": {
                 "drupal/core": "^9.5 || ^10",
@@ -2001,8 +2001,8 @@
             "type": "drupal-theme",
             "extra": {
                 "drupal": {
-                    "version": "8.x-3.31",
-                    "datestamp": "1718994537",
+                    "version": "8.x-3.32",
+                    "datestamp": "1723065851",
                     "security-coverage": {
                         "status": "covered",
                         "message": "Covered by Drupal's security advisory policy"
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 71a04565c4b5382ddf5b63eabbbe38ebe05c3f04..ce916fa25689133e98331a781f72e1ceebee2268 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -3,7 +3,7 @@
         'name' => 'osu-asc-webservices/d8-upstream',
         'pretty_version' => 'dev-main',
         'version' => 'dev-main',
-        'reference' => 'de0e709f8607cf86e9f2729ef42a60fcc10ddd0f',
+        'reference' => '72763e135f8ff3f4d1ee8eab90ad0ae2dd390c58',
         'type' => 'project',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
@@ -326,9 +326,9 @@
             'dev_requirement' => false,
         ),
         'drupal/bootstrap' => array(
-            'pretty_version' => '3.31.0',
-            'version' => '3.31.0.0',
-            'reference' => '8.x-3.31',
+            'pretty_version' => '3.32.0',
+            'version' => '3.32.0.0',
+            'reference' => '8.x-3.32',
             'type' => 'drupal-theme',
             'install_path' => __DIR__ . '/../../web/themes/bootstrap',
             'aliases' => array(),
@@ -1555,7 +1555,7 @@
         'osu-asc-webservices/d8-upstream' => array(
             'pretty_version' => 'dev-main',
             'version' => 'dev-main',
-            'reference' => 'de0e709f8607cf86e9f2729ef42a60fcc10ddd0f',
+            'reference' => '72763e135f8ff3f4d1ee8eab90ad0ae2dd390c58',
             'type' => 'project',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
diff --git a/web/themes/bootstrap/bootstrap.info.yml b/web/themes/bootstrap/bootstrap.info.yml
index 00dc484eb3d24d37bb2b44d6c7f958508cb7cc2f..e97120921fb1322dc2b63ceb0f80bbbc6fe299bf 100644
--- a/web/themes/bootstrap/bootstrap.info.yml
+++ b/web/themes/bootstrap/bootstrap.info.yml
@@ -7,6 +7,11 @@ name: 'Bootstrap'
 description: 'Built to use Bootstrap, a sleek, intuitive, and powerful front-end framework for faster and easier web development.'
 package: 'Bootstrap'
 
+dependencies:
+  - jquery_ui:jquery_ui
+  - jquery_ui_draggable:jquery_ui_draggable
+  - jquery_ui_resizable:jquery_ui_resizable
+
 regions:
   navigation: 'Navigation'
   navigation_collapsible: 'Navigation (Collapsible)'
@@ -78,7 +83,7 @@ libraries-override:
       theme:
         css/node.preview.css: false
 
-# Information added by Drupal.org packaging script on 2024-06-21
-version: '8.x-3.31'
+# Information added by Drupal.org packaging script on 2024-08-07
+version: '8.x-3.32'
 project: 'bootstrap'
-datestamp: 1718994541
+datestamp: 1723065855
diff --git a/web/themes/bootstrap/bootstrap.libraries.yml b/web/themes/bootstrap/bootstrap.libraries.yml
index 15b7e8a4f267b2558485ce982d32d2dea4b2f0c0..9ae1328863d9bd9346805566a3764362918e7a93 100644
--- a/web/themes/bootstrap/bootstrap.libraries.yml
+++ b/web/themes/bootstrap/bootstrap.libraries.yml
@@ -73,6 +73,9 @@ modal.jquery.ui.bridge:
   dependencies:
     - bootstrap/modal
     - jquery_ui/core
+    - jquery_ui/mouse
+    - jquery_ui/position
+    - jquery_ui/widget
     - jquery_ui_draggable/draggable
     - jquery_ui_resizable/resizable
 
diff --git a/web/themes/bootstrap/templates/block/block--system-menu-block--account.html.twig b/web/themes/bootstrap/templates/block/block--system-menu-block--account.html.twig
deleted file mode 100644
index 5809d9835161ae363224823a1c8799903ef4ee2e..0000000000000000000000000000000000000000
--- a/web/themes/bootstrap/templates/block/block--system-menu-block--account.html.twig
+++ /dev/null
@@ -1,47 +0,0 @@
-{#
-/**
- * @file
- * Default theme implementation for a menu block.
- *
- * Available variables:
- * - plugin_id: The ID of the block implementation.
- * - label: The configured label of the block if visible.
- * - configuration: A list of the block's configuration values.
- *   - label: The configured label for the block.
- *   - label_display: The display settings for the label.
- *   - provider: The module or other provider that provided this block plugin.
- *   - Block plugin specific settings will also be stored here.
- * - content: The content of this block.
- * - attributes: HTML attributes for the containing element.
- *   - id: A valid HTML ID and guaranteed unique.
- * - title_attributes: HTML attributes for the title element.
- * - content_attributes: HTML attributes for the content element.
- * - title_prefix: Additional output populated by modules, intended to be
- *   displayed in front of the main title tag that appears in the template.
- * - title_suffix: Additional output populated by modules, intended to be
- *   displayed after the main title tag that appears in the template.
- *
- * Headings should be used on navigation menus that consistently appear on
- * multiple pages. When this menu block's label is configured to not be
- * displayed, it is automatically made invisible using the 'visually-hidden' CSS
- * class, which still keeps it visible for screen-readers and assistive
- * technology. Headings allow screen-reader and keyboard only users to navigate
- * to or skip the links.
- * See http://juicystudio.com/article/screen-readers-display-none.php and
- * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
- *
- * @ingroup templates
- */
-#}
-{% set heading_id = attributes.id ~ '-menu'|clean_id %}
-<nav role="navigation" aria-labelledby="{{ heading_id }}"{{ attributes.removeClass('clearfix')|without('role', 'aria-labelledby') }}>
-  {# Label. If not displayed, we still provide it for screen readers. #}
-  {% if not configuration.label_display %}
-    {% set title_attributes = title_attributes.addClass('sr-only') %}
-  {% endif %}
-  <h2{{ title_attributes.setAttribute('id', heading_id) }}>{{ configuration.label }}</h2>
-
-  {% block content %}
-    {{ content }}
-  {% endblock %}
-</nav>
diff --git a/web/themes/bootstrap/templates/block/block--system-menu-block--main.html.twig b/web/themes/bootstrap/templates/block/block--system-menu-block--main.html.twig
deleted file mode 100644
index 5809d9835161ae363224823a1c8799903ef4ee2e..0000000000000000000000000000000000000000
--- a/web/themes/bootstrap/templates/block/block--system-menu-block--main.html.twig
+++ /dev/null
@@ -1,47 +0,0 @@
-{#
-/**
- * @file
- * Default theme implementation for a menu block.
- *
- * Available variables:
- * - plugin_id: The ID of the block implementation.
- * - label: The configured label of the block if visible.
- * - configuration: A list of the block's configuration values.
- *   - label: The configured label for the block.
- *   - label_display: The display settings for the label.
- *   - provider: The module or other provider that provided this block plugin.
- *   - Block plugin specific settings will also be stored here.
- * - content: The content of this block.
- * - attributes: HTML attributes for the containing element.
- *   - id: A valid HTML ID and guaranteed unique.
- * - title_attributes: HTML attributes for the title element.
- * - content_attributes: HTML attributes for the content element.
- * - title_prefix: Additional output populated by modules, intended to be
- *   displayed in front of the main title tag that appears in the template.
- * - title_suffix: Additional output populated by modules, intended to be
- *   displayed after the main title tag that appears in the template.
- *
- * Headings should be used on navigation menus that consistently appear on
- * multiple pages. When this menu block's label is configured to not be
- * displayed, it is automatically made invisible using the 'visually-hidden' CSS
- * class, which still keeps it visible for screen-readers and assistive
- * technology. Headings allow screen-reader and keyboard only users to navigate
- * to or skip the links.
- * See http://juicystudio.com/article/screen-readers-display-none.php and
- * http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
- *
- * @ingroup templates
- */
-#}
-{% set heading_id = attributes.id ~ '-menu'|clean_id %}
-<nav role="navigation" aria-labelledby="{{ heading_id }}"{{ attributes.removeClass('clearfix')|without('role', 'aria-labelledby') }}>
-  {# Label. If not displayed, we still provide it for screen readers. #}
-  {% if not configuration.label_display %}
-    {% set title_attributes = title_attributes.addClass('sr-only') %}
-  {% endif %}
-  <h2{{ title_attributes.setAttribute('id', heading_id) }}>{{ configuration.label }}</h2>
-
-  {% block content %}
-    {{ content }}
-  {% endblock %}
-</nav>