diff --git a/app/components/search/index.hbs b/app/components/search/index.hbs
index ad023c69e30ab6e40dc75b39f0b14edb1d51196b..3a28959ee9e06708cb809010babae8d29c1b8b15 100644
--- a/app/components/search/index.hbs
+++ b/app/components/search/index.hbs
@@ -1,4 +1,6 @@
-<form class="d-flex flex-column autocomplete-search">
+<form
+  class="d-flex flex-column autocomplete-search"
+  {{on-click-outside this.onClickOutside}}>
   <div class="d-flex">
     <div class="input-group">
       <button class="btn btn-light border-0" type="button">
diff --git a/app/components/search/index.js b/app/components/search/index.js
index 7f8ae2391576df6bde7befa96701461c0bb66a6f..bd2e5fdf55ff015c8141e87df2b5d624d5083369 100644
--- a/app/components/search/index.js
+++ b/app/components/search/index.js
@@ -49,6 +49,11 @@ export default class SearchComponent extends Component {
     }
   }
 
+  @action
+  onClickOutside() {
+    this._reset();
+  }
+
   _reset() {
     this.query = '';
     this.autocomplete_items = [];
diff --git a/app/modifiers/on-click-outside.js b/app/modifiers/on-click-outside.js
new file mode 100644
index 0000000000000000000000000000000000000000..2bacdbb5de306fa3d394be748de4395a90a343ce
--- /dev/null
+++ b/app/modifiers/on-click-outside.js
@@ -0,0 +1,54 @@
+import { action } from '@ember/object';
+import Modifier from 'ember-modifier';
+
+
+export default class OnClickOutsideModifier extends Modifier {
+  /*
+  Modifier which will trigger given handler if 'click' event occured
+  outside of the element.
+
+  Example:
+
+  <SomeComponent {{on-click-outside this.onClickOutside}} />
+
+  Whenever click event occurs outside <SomeComponent /> `this.onClickOutside`
+  will be invoked. Handler is invoked without any arguments.
+  */
+
+  on_click_user_handler = null;
+
+  _init() {
+    document.addEventListener('click', this.onClick);
+  }
+
+  _destroy() {
+    document.removeEventListener('click', this.onClick);
+  }
+
+  didReceiveArguments() {
+    this.on_click_user_handler = this.args.positional[0];
+    this._init();
+  }
+
+  willDestroy() {
+    this._destroy();
+  }
+
+  @action
+  onClick(event) {
+    let path;
+
+    // composedPath() method of the Event interface returns the event's path
+    // which is an array of the objects on which listeners will be invoked.
+    // https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath The
+    if (event.composedPath) {
+      path = event.composedPath();
+    }
+
+    if (path && !path.includes(this.element)) {
+      if (this.on_click_user_handler) {
+        this.on_click_user_handler();
+      }
+    }
+  }
+}
diff --git a/package-lock.json b/package-lock.json
index 8b9f7c0c9fdb5242d9f76e257511aad5f479b65e..a9e4ab5614a3b3c080744530fea01adadc1be2d5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1331,11 +1331,6 @@
             "picocolors": "^1.0.0"
           }
         },
-        "caniuse-lite": {
-          "version": "1.0.30001299",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
-          "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
-        },
         "electron-to-chromium": {
           "version": "1.4.44",
           "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.44.tgz",
@@ -2521,11 +2516,6 @@
             "picocolors": "^1.0.0"
           }
         },
-        "caniuse-lite": {
-          "version": "1.0.30001299",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
-          "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
-        },
         "chalk": {
           "version": "2.4.2",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -4298,11 +4288,6 @@
             "picocolors": "^1.0.0"
           }
         },
-        "caniuse-lite": {
-          "version": "1.0.30001299",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
-          "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
-        },
         "chalk": {
           "version": "2.4.2",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -9971,9 +9956,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001259",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001259.tgz",
-      "integrity": "sha512-V7mQTFhjITxuk9zBpI6nYsiTXhcPe05l+364nZjK7MFK/E7ibvYBSAXr4YcA6oPR8j3ZLM/LN+lUqUVAQEUZFg=="
+      "version": "1.0.30001319",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
+      "integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw=="
     },
     "capture-exit": {
       "version": "2.0.0",
@@ -12032,11 +12017,6 @@
             "picocolors": "^1.0.0"
           }
         },
-        "caniuse-lite": {
-          "version": "1.0.30001299",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
-          "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
-        },
         "ci-info": {
           "version": "3.3.0",
           "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
@@ -13395,11 +13375,6 @@
             "picocolors": "^1.0.0"
           }
         },
-        "caniuse-lite": {
-          "version": "1.0.30001299",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
-          "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw=="
-        },
         "chalk": {
           "version": "2.4.2",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -15070,7 +15045,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/ember-keyboard/-/ember-keyboard-7.0.0.tgz",
       "integrity": "sha512-NuFZqIU1SahX0dFWqBJ8rD30cQF92RbuVPwbHTYU0SJFhVltYen6G66b3u2PkshK/WpdGHDL8XS+hZvpsoP2DA==",
-      "dev": true,
       "requires": {
         "ember-cli-babel": "^7.26.6",
         "ember-cli-htmlbars": "^6.0.1",
@@ -15352,7 +15326,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/ember-modifier-manager-polyfill/-/ember-modifier-manager-polyfill-1.2.0.tgz",
       "integrity": "sha512-bnaKF1LLKMkBNeDoetvIJ4vhwRPKIIumWr6dbVuW6W6p4QV8ZiO+GdF8J7mxDNlog9CeL9Z/7wam4YS86G8BYA==",
-      "dev": true,
       "requires": {
         "ember-cli-babel": "^7.10.0",
         "ember-cli-version-checker": "^2.1.2",
@@ -15363,7 +15336,6 @@
           "version": "2.2.0",
           "resolved": "https://registry.npmjs.org/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz",
           "integrity": "sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg==",
-          "dev": true,
           "requires": {
             "resolve": "^1.3.3",
             "semver": "^5.3.0"
@@ -15372,8 +15344,7 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
         }
       }
     },
diff --git a/package.json b/package.json
index 251405ee6994be26e2f5baae3d57bd8c9f41be41..5a6e8690dfa08b962207db38cf08287a21f0a431 100644
--- a/package.json
+++ b/package.json
@@ -49,6 +49,7 @@
     "ember-data": "^4.1.0",
     "ember-export-application-global": "^2.0.1",
     "ember-fetch": "^8.1.1",
+    "ember-keyboard": "^7.0.0",
     "ember-load-initializers": "^2.1.2",
     "ember-modifier": "^3.0.0",
     "ember-page-title": "^7.0.0",
@@ -57,7 +58,6 @@
     "ember-simple-auth": "^4.1.1",
     "ember-source": "^4.1.0",
     "ember-template-lint": "^3.16.0",
-    "ember-keyboard": "^7.0.0",
     "eslint": "^7.32.0",
     "eslint-config-prettier": "^8.3.0",
     "eslint-plugin-ember": "^10.5.8",