diff --git a/js/package.json b/js/package.json
index ebfc18572..4ed8dcbbc 100644
--- a/js/package.json
+++ b/js/package.json
@@ -4,7 +4,7 @@
   "license": "AGPL-3.0",
   "private": true,
   "scripts": {
-    "build": "vue-cli-service build",
+    "build": "vue-cli-service build --modern",
     "test:unit": "vue-cli-service test:unit",
     "test:e2e": "vue-cli-service test:e2e",
     "lint": "vue-cli-service lint",
@@ -24,6 +24,7 @@
     "buefy": "^0.8.2",
     "graphql": "^14.5.8",
     "graphql-tag": "^2.10.1",
+    "intersection-observer": "^0.7.0",
     "leaflet": "^1.4.0",
     "lodash": "^4.17.11",
     "ngeohash": "^0.6.3",
@@ -72,7 +73,7 @@
   },
   "browserslist": [
     ">0.25%",
-    "not ie 11",
+    "ie 11",
     "not op_mini all"
   ],
   "engines": {
diff --git a/js/src/App.vue b/js/src/App.vue
index 957ca94ff..8fe765e5b 100644
--- a/js/src/App.vue
+++ b/js/src/App.vue
@@ -101,7 +101,7 @@ $mdi-font-path: "~@mdi/font/fonts";
     background: #ebebeb;
 
     main {
-      margin: 1rem auto;
+      margin: 1rem auto 0;
     }
   }
 
diff --git a/js/src/views/Event/Edit.vue b/js/src/views/Event/Edit.vue
index 533240ad2..275abc916 100644
--- a/js/src/views/Event/Edit.vue
+++ b/js/src/views/Event/Edit.vue
@@ -277,7 +277,7 @@ import {
     EventVisibility,
     IEvent, ParticipantRole,
   } from '@/types/event.model';
-import { CURRENT_ACTOR_CLIENT, IDENTITIES, LOGGED_USER_DRAFTS, LOGGED_USER_PARTICIPATIONS } from '@/graphql/actor';
+import { CURRENT_ACTOR_CLIENT, LOGGED_USER_DRAFTS, LOGGED_USER_PARTICIPATIONS } from '@/graphql/actor';
 import { IPerson, Person } from '@/types/actor';
 import PictureUpload from '@/components/PictureUpload.vue';
 import EditorComponent from '@/components/Editor.vue';
@@ -289,6 +289,7 @@ import AddressAutoComplete from '@/components/Event/AddressAutoComplete.vue';
 import { buildFileFromIPicture, buildFileVariable, readFileAsync } from '@/utils/image';
 import IdentityPickerWrapper from '@/views/Account/IdentityPickerWrapper.vue';
 import { RouteName } from '@/router';
+import 'intersection-observer';
 
 @Component({
   components: { IdentityPickerWrapper, AddressAutoComplete, TagInput, DateTimePicker, PictureUpload, Editor: EditorComponent },
diff --git a/js/src/views/Event/Participants.vue b/js/src/views/Event/Participants.vue
index 4ed410078..43e2e39b2 100644
--- a/js/src/views/Event/Participants.vue
+++ b/js/src/views/Event/Participants.vue
@@ -1,6 +1,3 @@
-import {ParticipantRole} from "@/types/event.model";
-import {ParticipantRole} from "@/types/event.model";
-import {ParticipantRole} from "@/types/event.model";
 <template>
     <main class="container">
         <b-tabs type="is-boxed" v-if="event" v-model="activeTab">
diff --git a/js/yarn.lock b/js/yarn.lock
index d664ccbf7..40200e992 100644
--- a/js/yarn.lock
+++ b/js/yarn.lock
@@ -6213,6 +6213,11 @@ interpret@^1.0.1:
   resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
   integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
 
+intersection-observer@^0.7.0:
+  version "0.7.0"
+  resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.7.0.tgz#ee16bee978db53516ead2f0a8154b09b400bbdc9"
+  integrity sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==
+
 invariant@^2.2.2:
   version "2.2.4"
   resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"