diff --git a/composer.json b/composer.json
index 3ab95dc2ff9c9b6f80e8984f67e3b6ea39052d75..950907ebf6bc9fdb7c127835119d140bb47e4d2c 100644
--- a/composer.json
+++ b/composer.json
@@ -87,7 +87,7 @@
         "desandro/masonry": "4.2",
         "dimsemenov/magnific-popup": "1.1",
         "drupal/addtocalendar": "3.2",
-        "drupal/admin_toolbar": "3.0.2",
+        "drupal/admin_toolbar": "3.0.3",
         "drupal/administerusersbyrole": "3.0",
         "drupal/allowed_formats": "1.3",
         "drupal/anchor_link": "1.7",
diff --git a/composer.lock b/composer.lock
index 2e4118d494a5620e6f190fdca6e12d06fffbe3aa..248927e2e47c18076deaf22a788412933f3c1353 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": "dee17df1727a8fa0b885fa33c86cafba",
+    "content-hash": "b3430fd1898aad2ea9ce59a0741c5924",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -1710,17 +1710,17 @@
         },
         {
             "name": "drupal/admin_toolbar",
-            "version": "3.0.2",
+            "version": "3.0.3",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/admin_toolbar.git",
-                "reference": "3.0.2"
+                "reference": "3.0.3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.0.2.zip",
-                "reference": "3.0.2",
-                "shasum": "a3b7a8030695d0c1d49ec57786321e2dd142184a"
+                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.0.3.zip",
+                "reference": "3.0.3",
+                "shasum": "ce735c931c0bd6da79bd8e45ca459d61015bbe44"
             },
             "require": {
                 "drupal/core": "^8.8.0 || ^9.0"
@@ -1731,8 +1731,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "3.0.2",
-                    "datestamp": "1629907124",
+                    "version": "3.0.3",
+                    "datestamp": "1632322497",
                     "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 c3d3fbae53f5db3b3205afd9251efd7cf7131e8f..242322e56fd760bf38d2cbbff0e8af9b2d50cfd4 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1751,18 +1751,18 @@
         },
         {
             "name": "drupal/admin_toolbar",
-            "version": "3.0.2",
-            "version_normalized": "3.0.2.0",
+            "version": "3.0.3",
+            "version_normalized": "3.0.3.0",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/admin_toolbar.git",
-                "reference": "3.0.2"
+                "reference": "3.0.3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.0.2.zip",
-                "reference": "3.0.2",
-                "shasum": "a3b7a8030695d0c1d49ec57786321e2dd142184a"
+                "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.0.3.zip",
+                "reference": "3.0.3",
+                "shasum": "ce735c931c0bd6da79bd8e45ca459d61015bbe44"
             },
             "require": {
                 "drupal/core": "^8.8.0 || ^9.0"
@@ -1773,8 +1773,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "3.0.2",
-                    "datestamp": "1629907124",
+                    "version": "3.0.3",
+                    "datestamp": "1632322497",
                     "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 ddc65fc6a3bbd8b9aa0b61b9f468a5381a77d3f8..5efa072f95a129e25343637121d6bbe7b63d7e8f 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -5,7 +5,7 @@
         'type' => 'project',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
-        'reference' => 'df61ac4c80357a6ff9e6e56957f55630f42d3212',
+        'reference' => 'b1aa9db618db05fa20645711143c5efd92e8829d',
         'name' => 'osu-asc-webservices/d8-upstream',
         'dev' => true,
     ),
@@ -284,12 +284,12 @@
             'dev_requirement' => false,
         ),
         'drupal/admin_toolbar' => array(
-            'pretty_version' => '3.0.2',
-            'version' => '3.0.2.0',
+            'pretty_version' => '3.0.3',
+            'version' => '3.0.3.0',
             'type' => 'drupal-module',
             'install_path' => __DIR__ . '/../../web/modules/admin_toolbar',
             'aliases' => array(),
-            'reference' => '3.0.2',
+            'reference' => '3.0.3',
             'dev_requirement' => false,
         ),
         'drupal/administerusersbyrole' => array(
@@ -2104,7 +2104,7 @@
             'type' => 'project',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
-            'reference' => 'df61ac4c80357a6ff9e6e56957f55630f42d3212',
+            'reference' => 'b1aa9db618db05fa20645711143c5efd92e8829d',
             'dev_requirement' => false,
         ),
         'pantheon-systems/quicksilver-pushback' => array(
diff --git a/web/modules/admin_toolbar/admin_toolbar.info.yml b/web/modules/admin_toolbar/admin_toolbar.info.yml
index 6d6b70d1deb9ede2dee714a6360635085b5b3841..5f7085cfee2124af65380ea8a9727ff21d25071e 100644
--- a/web/modules/admin_toolbar/admin_toolbar.info.yml
+++ b/web/modules/admin_toolbar/admin_toolbar.info.yml
@@ -6,7 +6,7 @@ core_version_requirement: ^8.8.0 || ^9
 dependencies:
   - drupal:toolbar
 
-# Information added by Drupal.org packaging script on 2021-08-25
-version: '3.0.2'
+# Information added by Drupal.org packaging script on 2021-09-22
+version: '3.0.3'
 project: 'admin_toolbar'
-datestamp: 1629882676
+datestamp: 1632322070
diff --git a/web/modules/admin_toolbar/admin_toolbar.install b/web/modules/admin_toolbar/admin_toolbar.install
index bd80e9a06852a012aa375fd61918a93ac15fb8c2..862cee8dea70d843145a627eb16f9189c34f09e5 100755
--- a/web/modules/admin_toolbar/admin_toolbar.install
+++ b/web/modules/admin_toolbar/admin_toolbar.install
@@ -14,3 +14,17 @@ function admin_toolbar_update_8001() {
   // Rebuilding the route cache.
   \Drupal::service("router.builder")->rebuild();
 }
+
+/**
+ * Add menu_depth param into the config.
+ *
+ * @see https://www.drupal.org/project/admin_toolbar/issues/3200542
+ */
+function admin_toolbar_update_8002() {
+  $config_factory = \Drupal::configFactory();
+  $config = $config_factory->getEditable('admin_toolbar.settings');
+  if (empty($config->get('menu_depth'))) {
+    $config->set('menu_depth', 4);
+    $config->save(TRUE);
+  }
+}
diff --git a/web/modules/admin_toolbar/admin_toolbar.links.menu.yml b/web/modules/admin_toolbar/admin_toolbar.links.menu.yml
new file mode 100644
index 0000000000000000000000000000000000000000..904c8eae83e9cf4dbab4fa404da2c905a33e5d8f
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar.links.menu.yml
@@ -0,0 +1,5 @@
+admin_toolbar.settings:
+  title: 'Admin Toolbar'
+  description: 'Configure the Admin Toolbar module.'
+  route_name: admin_toolbar.settings
+  parent: system.admin_config_ui
diff --git a/web/modules/admin_toolbar/admin_toolbar.routing.yml b/web/modules/admin_toolbar/admin_toolbar.routing.yml
new file mode 100644
index 0000000000000000000000000000000000000000..42ecfd40734d74b2404f68912aca405eaa752347
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar.routing.yml
@@ -0,0 +1,7 @@
+admin_toolbar.settings:
+  path: '/admin/config/user-interface/admin-toolbar'
+  defaults:
+    _form: '\Drupal\admin_toolbar\Form\AdminToolbarSettingsForm'
+    _title: 'Admin Toolbar settings'
+  requirements:
+    _permission: 'administer site configuration'
diff --git a/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.info.yml b/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.info.yml
index 3751d83ac004c63c9aab270cace565a6881d2116..55b4877dbb1bcc59d5c92ec0cd95df0aed0ed394 100644
--- a/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.info.yml
+++ b/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.info.yml
@@ -8,7 +8,7 @@ core_version_requirement: ^8.8.0 || ^9.0
 dependencies:
   - admin_toolbar:admin_toolbar
 
-# Information added by Drupal.org packaging script on 2021-08-25
-version: '3.0.2'
+# Information added by Drupal.org packaging script on 2021-09-22
+version: '3.0.3'
 project: 'admin_toolbar'
-datestamp: 1629882676
+datestamp: 1632322070
diff --git a/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module b/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module
index a415d136208f73aa7f04b6b9e67b2799fb85e033..cec6a7c71fa797b2f4ef407ad4431d1d9f36d451 100755
--- a/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module
+++ b/web/modules/admin_toolbar/admin_toolbar_links_access_filter/admin_toolbar_links_access_filter.module
@@ -58,6 +58,7 @@ function admin_toolbar_links_access_filter_preprocess_menu(&$variables) {
  * Hides links from admin menu, if user doesn't have access rights.
  */
 function admin_toolbar_links_access_filter_filter_non_accessible_links(array &$items) {
+  $access_manager = \Drupal::accessManager();
   foreach ($items as $menu_id => &$item) {
     $route_name = NULL;
     $route_params = [];
@@ -83,8 +84,7 @@ function admin_toolbar_links_access_filter_filter_non_accessible_links(array &$i
     }
 
     // Check, if user has access rights to the route.
-    if (!\Drupal::accessManager()
-      ->checkNamedRoute($route_name, $route_params)) {
+    if (!$access_manager->checkNamedRoute($route_name, $route_params)) {
       unset($items[$menu_id]);
     }
     else {
@@ -92,8 +92,7 @@ function admin_toolbar_links_access_filter_filter_non_accessible_links(array &$i
         // Recursively call this function for the child items.
         admin_toolbar_links_access_filter_filter_non_accessible_links($items[$menu_id]['below']);
       }
-      if (empty($items[$menu_id]['below']) && \Drupal::moduleHandler()
-        ->moduleExists('admin_toolbar')) {
+      if (empty($items[$menu_id]['below'])) {
 
         // Every child item has been cleared out.
         // Now check, if the given route represents an overview page only,
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.info.yml b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.info.yml
index 2536e7a0c1b7714570a07509a0a027a0d88c95f8..7ae3778224a93138159fb65463b3e19ad7394e55 100644
--- a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.info.yml
+++ b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.info.yml
@@ -3,10 +3,11 @@ description: Provides search of Admin Toolbar items.
 package: Administration
 type: module
 core_version_requirement: ^8.8.0 || ^9.0
+configure: admin_toolbar_search.settings
 dependencies:
   - admin_toolbar:admin_toolbar_tools
 
-# Information added by Drupal.org packaging script on 2021-08-25
-version: '3.0.2'
+# Information added by Drupal.org packaging script on 2021-09-22
+version: '3.0.3'
 project: 'admin_toolbar'
-datestamp: 1629882676
+datestamp: 1632322070
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.links.menu.yml b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.links.menu.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4a39951d61ad7fb0819b4e7a94cace78f3390dd2
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.links.menu.yml
@@ -0,0 +1,5 @@
+admin_toolbar_search.settings:
+  title: 'Admin Toolbar Search'
+  description: 'Configure the Admin Toolbar Search module.'
+  route_name: admin_toolbar_search.settings
+  parent: system.admin_config_ui
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.module b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.module
index dcdb4a699070fa04cd6c349b293f5da5b09db981..047e485f6cfe5735834b0c1ec16643a91ff39c5b 100755
--- a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.module
+++ b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.module
@@ -7,6 +7,7 @@
 
 use Drupal\Core\StringTranslation\TranslatableMarkup;
 use Drupal\Core\Routing\RouteMatchInterface;
+use Drupal\Core\Url;
 
 /**
  * Implements hook_help().
@@ -33,38 +34,91 @@ function admin_toolbar_search_toolbar_alter(&$items) {
   $admin_toolbar_tools_enabled = \Drupal::service('module_handler')
     ->moduleExists('admin_toolbar_tools');
 
-  $items['administration_search'] = [
-    "#type" => "toolbar_item",
-    '#weight' => 100,
-    'tab' => [
-      'search' => [
-        '#type' => 'textfield',
-        '#size' => 30,
+  $config = \Drupal::config('admin_toolbar_search.settings');
+  $display_menu_item = $config->get('display_menu_item');
+
+  if (!$display_menu_item) {
+    $items['administration_search'] = [
+      "#type" => "toolbar_item",
+      '#weight' => 100,
+      'tab' => [
+        'search' => [
+          '#title' => t('Search'),
+          '#title_display' => 'invisible',
+          '#type' => 'search',
+          '#size' => 30,
+          '#attributes' => [
+            'placeholder' => new TranslatableMarkup('Admin Toolbar quick search'),
+          ],
+          '#id' => 'admin-toolbar-search-input',
+        ],
+      ],
+      '#attached' => [
+        'library' => [
+          'admin_toolbar_search/search',
+        ],
+        'drupalSettings' => [
+          'adminToolbarSearch' => [
+            'loadExtraLinks' => $admin_toolbar_tools_enabled,
+          ],
+        ],
+      ],
+      '#wrapper_attributes' => [
+        'id' => 'admin-toolbar-search-tab',
+      ],
+      '#cache' => [
+        'contexts' => [
+          'user.permissions',
+        ],
+        'tags' => [
+          'config:admin_toolbar_search.settings',
+        ],
+      ],
+    ];
+  }
+  else {
+    $items['administration_search'] = [
+      "#type" => "toolbar_item",
+      'tab' => [
+        '#type' => 'link',
+        '#title' => new TranslatableMarkup('Search'),
+        '#url' => URL::fromRoute('system.admin'),
         '#attributes' => [
-          'id' => 'admin-toolbar-search-input',
-          'aria-labelledby' => 'toolbar-item-administration-search',
-          'placeholder' => new TranslatableMarkup('Admin Toolbar quick search'),
+          'class' => [
+            'toolbar-icon',
+          ],
         ],
       ],
-    ],
-    '#attached' => [
-      'library' => [
-        'admin_toolbar_search/search',
+      'tray' => [
+        'search' => [
+          '#title' => t('Search'),
+          '#type' => 'search',
+          '#size' => 60,
+          '#id' => 'admin-toolbar-search-input',
+        ],
       ],
-      'drupalSettings' => [
-        'adminToolbarSearch' => [
-          'loadExtraLinks' => $admin_toolbar_tools_enabled,
+      '#attached' => [
+        'library' => [
+          'admin_toolbar_search/search',
+        ],
+        'drupalSettings' => [
+          'adminToolbarSearch' => [
+            'loadExtraLinks' => $admin_toolbar_tools_enabled,
+          ],
         ],
       ],
-    ],
-    '#wrapper_attributes' => [
-      'id' => 'admin-toolbar-search-tab',
-    ],
-    '#cache' => [
-      'contexts' => [
-        'user.permissions',
+      '#wrapper_attributes' => [
+        "id" => "admin-toolbar-search-tab",
       ],
-    ],
-  ];
+      '#cache' => [
+        'contexts' => [
+          'user.permissions',
+        ],
+        'tags' => [
+          'config:admin_toolbar_search.settings',
+        ],
+      ],
+    ];
+  }
 
 }
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.routing.yml b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.routing.yml
index 14adc551599cc40ab387c0ee68b7efadd407f115..d9210101f2732471763d9475b5620c2a0562ca69 100755
--- a/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.routing.yml
+++ b/web/modules/admin_toolbar/admin_toolbar_search/admin_toolbar_search.routing.yml
@@ -4,3 +4,11 @@ admin_toolbar.search:
     _controller: '\Drupal\admin_toolbar_search\Controller\AdminToolbarSearchController::search'
   requirements:
     _permission: 'use admin toolbar search'
+
+admin_toolbar_search.settings:
+  path: '/admin/config/user-interface/admin-toolbar-search-settings'
+  defaults:
+    _title: 'Admin toolbar search settings'
+    _form: 'Drupal\admin_toolbar_search\Form\AdminToolbarSearchSettingsForm'
+  requirements:
+    _permission: 'administer site configuration'
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/config/install/admin_toolbar_search.settings.yml b/web/modules/admin_toolbar/admin_toolbar_search/config/install/admin_toolbar_search.settings.yml
new file mode 100644
index 0000000000000000000000000000000000000000..00d03ac1f676264832c93ef2578a24c0a0f14b26
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar_search/config/install/admin_toolbar_search.settings.yml
@@ -0,0 +1 @@
+display_menu_item: 0
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/config/schema/admin_toolbar_search.schema.yml b/web/modules/admin_toolbar/admin_toolbar_search/config/schema/admin_toolbar_search.schema.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cd398e7474d8388d5e3719defebbb596cbf3a091
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar_search/config/schema/admin_toolbar_search.schema.yml
@@ -0,0 +1,7 @@
+admin_toolbar_search.settings:
+  type: config_object
+  label: 'Admin Toolbar Search settings'
+  mapping:
+    display_menu_item:
+      type: integer
+      label: 'How the serach input will be displayed'
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/css/admin.toolbar_search.css b/web/modules/admin_toolbar/admin_toolbar_search/css/admin.toolbar_search.css
index 4e7b028d0d3ddd79012df3ee5224e3cd0d4dfcbf..62e965503275dc87237536a6bfaebcae40e937f0 100755
--- a/web/modules/admin_toolbar/admin_toolbar_search/css/admin.toolbar_search.css
+++ b/web/modules/admin_toolbar/admin_toolbar_search/css/admin.toolbar_search.css
@@ -17,7 +17,7 @@
 }
 
 .ui-autocomplete .ui-menu-item span.admin-toolbar-search-url {
-  color: rgba(0, 0, 0, 0.50);
+  display: none;
 }
 
 .admin-toolbar-search-autocomplete-list {
@@ -28,3 +28,32 @@
 .admin-toolbar-search-autocomplete-list .ui-menu-item .ui-state-active {
   margin: 0;
 }
+
+#toolbar-item-administration-search-tray label {
+  display: inline-block;
+  color: #000000;
+  margin-right: .5em;
+  font-weight: bold;
+}
+
+#toolbar-item-administration-search-tray div.form-item {
+  margin: 0.75em 0;
+}
+
+#toolbar-item-administration-search-tray input {
+  display: inline-block;
+  padding: 0.3em 0.4em 0.3em 0.5em;
+  font-size: 1em;
+}
+
+#admin-toolbar-search-tab .toolbar-item:before {
+  background-image: url('../../misc/icons/bebebe/loupe.svg');
+}
+
+#admin-toolbar-search-tab .toolbar-item:active:before,
+#admin-toolbar-search-tab .toolbar-item.is-active:before {
+  background-image: url('../../misc/icons/ffffff/loupe.svg');
+}
+#toolbar-item-administration-search-tray div.form-item.js-form-type-textfield {
+  margin: 0.75em 0;
+}
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/js/admin_toolbar_search.js b/web/modules/admin_toolbar/admin_toolbar_search/js/admin_toolbar_search.js
index 721da1f7c4f35cae44fc2760269e64228ec05f00..877272fbfe67410e38190d6425575b8ee134c7d4 100755
--- a/web/modules/admin_toolbar/admin_toolbar_search/js/admin_toolbar_search.js
+++ b/web/modules/admin_toolbar/admin_toolbar_search/js/admin_toolbar_search.js
@@ -58,7 +58,7 @@
       }).data("ui-autocomplete")._renderItem = (function (ul, item) {
         ul.addClass('admin-toolbar-search-autocomplete-list');
         return $("<li>")
-          .append('<div>' + item.labelRaw + '<span class="admin-toolbar-search-url">' + '</span></div>')
+          .append('<div>' + item.labelRaw + '<span class="admin-toolbar-search-url">' + item.value + '</span></div>')
           .appendTo(ul);
       });
 
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/src/Form/AdminToolbarSearchSettingsForm.php b/web/modules/admin_toolbar/admin_toolbar_search/src/Form/AdminToolbarSearchSettingsForm.php
new file mode 100644
index 0000000000000000000000000000000000000000..1ffb3ea07961217040defb314b28856e991f817a
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar_search/src/Form/AdminToolbarSearchSettingsForm.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Drupal\admin_toolbar_search\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Configure Admin Toolbar Search settings for this site.
+ */
+class AdminToolbarSearchSettingsForm extends ConfigFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'admin_toolbar_search_admin_toolbar_search_settings';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEditableConfigNames() {
+    return ['admin_toolbar_search.settings'];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $form['display_menu_item'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Display the search input as a menu item.'),
+      '#description' => $this->t("if set, instead of display a text input field, it's displayed a menu item in the toolbar so the user has to click on it to toggle the search input."),
+      '#default_value' => $this->config('admin_toolbar_search.settings')->get('display_menu_item'),
+    ];
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $this->config('admin_toolbar_search.settings')
+      ->set('display_menu_item', $form_state->getValue('display_menu_item'))
+      ->save();
+    parent::submitForm($form, $form_state);
+  }
+
+}
diff --git a/web/modules/admin_toolbar/admin_toolbar_search/tests/src/Functional/AdminToolbarSearchSettingTest.php b/web/modules/admin_toolbar/admin_toolbar_search/tests/src/Functional/AdminToolbarSearchSettingTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..71ad1257b231e745534521c4e1e88e441847c017
--- /dev/null
+++ b/web/modules/admin_toolbar/admin_toolbar_search/tests/src/Functional/AdminToolbarSearchSettingTest.php
@@ -0,0 +1,82 @@
+<?php
+
+namespace Drupal\Tests\admin_toolbar_search\Functional;
+
+use Drupal\Core\Url;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Test the functionality of admin toolbar search.
+ *
+ * @group admin_toolbar
+ * @group admin_toolbar_search
+ */
+class AdminToolbarSearchSettingTest extends BrowserTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stark';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'admin_toolbar_search',
+    'node',
+    'media',
+    'field_ui',
+    'menu_ui',
+    'block',
+  ];
+
+  /**
+   * A user with the 'Use Admin Toolbar search' permission.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $userWithAccess;
+
+  /**
+   * A test user without the 'Use Admin Toolbar search' permission..
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $noAccessUser;
+
+  public function setUp(): void {
+    parent::setUp();
+
+    $permissions = [
+      'access toolbar',
+      'administer menu',
+      'access administration pages',
+      'administer site configuration',
+      'administer content types',
+    ];
+    $this->noAccessUser = $this->drupalCreateUser($permissions);
+    $permissions[] = 'use admin toolbar search';
+    $this->userWithAccess = $this->drupalCreateUser($permissions);
+  }
+
+  /**
+   * Tests search functionality without admin_toolbar_tools enabled.
+   */
+  public function testToolbarSearch() {
+    $this->drupalLogin($this->userWithAccess);
+
+    $this->drupalGet(Url::fromRoute('system.admin'));
+    $this->assertSession()->responseNotContains('id="toolbar-item-administration-search');
+
+    $this->config('admin_toolbar_search.settings')->set('display_menu_item', 1);
+    $this->config('admin_toolbar_search.settings')->save();
+    $this->drupalGet(Url::fromRoute('system.admin'));
+    $this->assertSession()->responseContains('id="toolbar-item-administration-search');
+
+    $this->config('admin_toolbar_search.settings')->set('display_menu_item', 0);
+    $this->config('admin_toolbar_search.settings')->save();
+    $this->drupalGet(Url::fromRoute('system.admin'));
+    $this->assertSession()->responseNotContains('id="toolbar-item-administration-search');
+  }
+
+}
diff --git a/web/modules/admin_toolbar/admin_toolbar_tools/admin_toolbar_tools.info.yml b/web/modules/admin_toolbar/admin_toolbar_tools/admin_toolbar_tools.info.yml
index 1bfd11c27a7aec2721ec43f68db0390d14866ad4..059a4f1684a891dedc6d065a4b6a4f217532a1bf 100644
--- a/web/modules/admin_toolbar/admin_toolbar_tools/admin_toolbar_tools.info.yml
+++ b/web/modules/admin_toolbar/admin_toolbar_tools/admin_toolbar_tools.info.yml
@@ -7,7 +7,7 @@ core_version_requirement: ^8.8.0 || ^9.0
 dependencies:
   - admin_toolbar:admin_toolbar
 
-# Information added by Drupal.org packaging script on 2021-08-25
-version: '3.0.2'
+# Information added by Drupal.org packaging script on 2021-09-22
+version: '3.0.3'
 project: 'admin_toolbar'
-datestamp: 1629882676
+datestamp: 1632322070
diff --git a/web/modules/admin_toolbar/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php b/web/modules/admin_toolbar/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
index 4d98f3e2b753f3f7d0ea57adce7c96466605f1a2..8b6cdf9d6c5b4c205e6bd6c39cd1982fa4e8f62a 100755
--- a/web/modules/admin_toolbar/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
+++ b/web/modules/admin_toolbar/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
@@ -2,15 +2,15 @@
 
 namespace Drupal\admin_toolbar_tools\Plugin\Derivative;
 
-use Drupal\Component\Plugin\Derivative\DeriverBase;
+use Drupal\system\Entity\Menu;
 use Drupal\Core\Config\ConfigFactoryInterface;
-use Drupal\Core\Entity\EntityTypeManagerInterface;
-use Drupal\Core\Extension\ModuleHandlerInterface;
-use Drupal\Core\Extension\ThemeHandlerInterface;
-use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
 use Drupal\Core\Routing\RouteProviderInterface;
+use Drupal\Core\Extension\ThemeHandlerInterface;
+use Drupal\Core\Extension\ModuleHandlerInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
-use Drupal\system\Entity\Menu;
+use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -376,8 +376,8 @@ public function getDerivativeDefinitions($base_plugin_definition) {
           'route_parameters' => ['menu' => $menu_id],
         ] + $base_plugin_definition;
         // Un-deletable menus.
-        $menus = ['admin', 'devel', 'footer', 'main', 'tools', 'account'];
-        if (!in_array($menu_id, $menus)) {
+        $un_deletable_menus = ['admin', 'devel', 'footer', 'main', 'tools', 'account'];
+        if (!in_array($menu_id, $un_deletable_menus)) {
           $links['entity.menu.delete_form.' . $menu_id] = [
             'title' => $this->t('Delete'),
             'route_name' => 'entity.menu.delete_form',
@@ -585,12 +585,12 @@ public function getDerivativeDefinitions($base_plugin_definition) {
         'route_name' => 'entity.media.collection',
         'parent' => 'system.admin_content',
       ] + $base_plugin_definition;
-      if ($this->moduleHandler->moduleExists('media_library')) {
+      if ($this->moduleHandler->moduleExists('media_library') && $this->routeExists('view.media_library.page')) {
         $links['media_library'] = [
-            'title' => $this->t('Media library'),
-            'route_name' => 'view.media_library.page',
-            'parent' => $base_plugin_definition['id'] . ':media_page',
-          ] + $base_plugin_definition;
+          'title' => $this->t('Media library'),
+          'route_name' => 'view.media_library.page',
+          'parent' => $base_plugin_definition['id'] . ':media_page',
+        ] + $base_plugin_definition;
       }
       $links['add_media'] = [
         'title' => $this->t('Add media'),
diff --git a/web/modules/admin_toolbar/config/install/admin_toolbar.settings.yml b/web/modules/admin_toolbar/config/install/admin_toolbar.settings.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5965a3170e12a3e35dc55a7c85e09ee40cc9c9ed
--- /dev/null
+++ b/web/modules/admin_toolbar/config/install/admin_toolbar.settings.yml
@@ -0,0 +1 @@
+menu_depth: 4
diff --git a/web/modules/admin_toolbar/config/schema/admin_toolbar.schema.yml b/web/modules/admin_toolbar/config/schema/admin_toolbar.schema.yml
new file mode 100644
index 0000000000000000000000000000000000000000..68ec44e0b8c585cb60be7b65f75cd69b599eafb3
--- /dev/null
+++ b/web/modules/admin_toolbar/config/schema/admin_toolbar.schema.yml
@@ -0,0 +1,7 @@
+admin_toolbar.settings:
+  type: config_object
+  label: 'Admin Toolbar settings'
+  mapping:
+    menu_depth:
+      type: integer
+      label: 'Depth of displayed menu'
diff --git a/web/modules/admin_toolbar/css/admin.toolbar_search.css b/web/modules/admin_toolbar/css/admin.toolbar_search.css
index 115c0c2fde4b8560f320d74eed0c3f8963136cf6..d4a18daad3d08e9a364c612d02bc095e7cec2ee0 100755
--- a/web/modules/admin_toolbar/css/admin.toolbar_search.css
+++ b/web/modules/admin_toolbar/css/admin.toolbar_search.css
@@ -29,5 +29,5 @@
 }
 
 .ui-autocomplete .ui-menu-item span.admin-toolbar-search-url {
-  color: rgba(0, 0, 0, 0.5);
+  display: none;
 }
diff --git a/web/modules/admin_toolbar/src/Form/AdminToolbarSettingsForm.php b/web/modules/admin_toolbar/src/Form/AdminToolbarSettingsForm.php
new file mode 100644
index 0000000000000000000000000000000000000000..c7151c686c4f519d41bee6db9ea19f4d93155187
--- /dev/null
+++ b/web/modules/admin_toolbar/src/Form/AdminToolbarSettingsForm.php
@@ -0,0 +1,105 @@
+<?php
+
+namespace Drupal\admin_toolbar\Form;
+
+use Drupal\Core\Cache\CacheBackendInterface;
+use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Menu\MenuLinkManagerInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Class AdminToolbarSettingsForm. The config form for the admin_toolbar module.
+ *
+ * @package Drupal\admin_toolbar\Form
+ */
+class AdminToolbarSettingsForm extends ConfigFormBase {
+
+  /**
+   * The cache menu instance.
+   *
+   * @var \Drupal\Core\Cache\CacheBackendInterface
+   */
+  protected $cacheMenu;
+
+  /**
+   * The menu link manager instance.
+   *
+   * @var \Drupal\Core\Menu\MenuLinkManagerInterface
+   */
+  protected $menuLinkManager;
+
+  /**
+   * AdminToolbarSettingsForm constructor.
+   *
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
+   *   The config factory for the form.
+   * @param \Drupal\Core\Menu\MenuLinkManagerInterface $menuLinkManager
+   *   A menu link manager instance.
+   * @param \Drupal\Core\Cache\CacheBackendInterface $cacheMenu
+   *   A cache menu instance.
+   */
+  public function __construct(ConfigFactoryInterface $config_factory, MenuLinkManagerInterface $menuLinkManager, CacheBackendInterface $cacheMenu) {
+    parent::__construct($config_factory);
+    $this->cacheMenu = $cacheMenu;
+    $this->menuLinkManager = $menuLinkManager;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container) {
+    return new static(
+      $container->get('config.factory'),
+      $container->get('plugin.manager.menu.link'),
+      $container->get('cache.menu')
+    );
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  protected function getEditableConfigNames() {
+    return [
+      'admin_toolbar.settings',
+    ];
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public function getFormId() {
+    return 'admin_toolbar_settings';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('admin_toolbar.settings');
+    $depth_values = range(1, 9);
+    $form['menu_depth'] = [
+      '#type' => 'select',
+      '#title' => $this->t('Menu depth'),
+      '#description' => $this->t('Maximal depth of displayed menu.'),
+      '#default_value' => $config->get('menu_depth'),
+      '#options' => array_combine($depth_values, $depth_values),
+    ];
+
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $this->config('admin_toolbar.settings')
+      ->set('menu_depth', $form_state->getValue('menu_depth'))
+      ->save();
+    parent::submitForm($form, $form_state);
+    $this->cacheMenu->invalidateAll();
+    $this->menuLinkManager->rebuild();
+  }
+
+}
diff --git a/web/modules/admin_toolbar/src/Render/Element/AdminToolbar.php b/web/modules/admin_toolbar/src/Render/Element/AdminToolbar.php
index 5d0000011f2c8c88469c1ecb6405496a3c364bf4..bd7de64b18efdbaa81b151edccd390d5426c8769 100644
--- a/web/modules/admin_toolbar/src/Render/Element/AdminToolbar.php
+++ b/web/modules/admin_toolbar/src/Render/Element/AdminToolbar.php
@@ -36,7 +36,8 @@ public static function trustedCallbacks() {
   public static function preRenderTray(array $build) {
     $menu_tree = \Drupal::service('toolbar.menu_tree');
     $parameters = new MenuTreeParameters();
-    $parameters->setRoot('system.admin')->excludeRoot()->setMaxDepth(4)->onlyEnabledLinks();
+    $max_depth = \Drupal::config('admin_toolbar.settings')->get('menu_depth');
+    $parameters->setRoot('system.admin')->excludeRoot()->setMaxDepth($max_depth)->onlyEnabledLinks();
     $tree = $menu_tree->load(NULL, $parameters);
     $manipulators = [
       ['callable' => 'menu.default_tree_manipulators:checkAccess'],