diff --git a/resources/assets/javascripts/bootstrap/copyable_links.js b/resources/assets/javascripts/bootstrap/copyable_links.js
index f8aa2803eabe68abdb38ba5f94970bf07f04f74e..e41d06411366b6c92cd0147d187f2788933babe4 100644
--- a/resources/assets/javascripts/bootstrap/copyable_links.js
+++ b/resources/assets/javascripts/bootstrap/copyable_links.js
@@ -6,7 +6,7 @@ $(document).on('click', 'a.copyable-link', function (event) {
     // Create dummy element and position it off screen
     // This element must be "visible" (as in "not hidden") or otherwise
     // the copy command will fail
-    var dummy = $('<textarea>').val(this.href).css({
+    let dummy = $('<textarea>').val(this.href).css({
         position: 'absolute',
         left: '-9999px'
     }).appendTo('body');
@@ -19,15 +19,13 @@ $(document).on('click', 'a.copyable-link', function (event) {
     // Show visual hint using a deferred (this way we don't need to
     // duplicate the functionality in the done() handler)
     (new Promise((resolve, reject) => {
-        var confirmation = $('<div class="copyable-link-confirmation">');
+        let confirmation = $('<div class="copyable-link-confirmation copyable-link-success">');
         confirmation.text($gettext('Link wurde kopiert'));
-        confirmation.insertBefore(this);
-
-        $(this).parent().addClass('copyable-link-animation');
+        confirmation.insertBefore('#layout_container');
 
         // Resolve deferred when animation has ended or after 2 seconds as a
         // fail safe
-        var timeout = setTimeout(() => {
+        let timeout = setTimeout(() => {
             $(this).parent().off('animationend');
             resolve(confirmation);
         }, 1500);
@@ -37,6 +35,5 @@ $(document).on('click', 'a.copyable-link', function (event) {
         });
     })).then((confirmation, parent) => {
         confirmation.remove();
-        $(this).parent().removeClass('copyable-link-animation');
     });
 });
diff --git a/resources/assets/stylesheets/scss/copyable-links.scss b/resources/assets/stylesheets/scss/copyable-links.scss
index db719e0ef97e60db6b7a77ae8ef1f0aae6914d88..c9195866b71d3884f2cb9d78332cd60117185388 100644
--- a/resources/assets/stylesheets/scss/copyable-links.scss
+++ b/resources/assets/stylesheets/scss/copyable-links.scss
@@ -1,69 +1,24 @@
-.copyable-link-animation {
-    $animation-name: copyable-links-confirmation;
-    $animation-duration: 2s;
+.copyable-link-confirmation {
+    position: fixed;
+    bottom: 60px;
+    right: 12px;
+    height: 60px;
+    line-height: 60px;
+    max-width: calc(100% - 140px);
+    z-index: 42000;
+    border: solid thin $content-color-40;
+    background-color: $white;
+    background-repeat: no-repeat;
+    background-position: 1em center;
+    background-size: 100px;
+    box-shadow: 5px 5px #ececed;
+    padding: 5px 100px;
+    transition: transform .5s ease;
 
-    // Position confirmation message above the link
-    position: relative;
-
-    div {
-        position: absolute;
-        top: 0;
-        right: 0;
-        bottom: 0;
-        left: 0;
-
-        text-align: center;
-
-        @include icon(before, check-circle, status-green, 16px, 5px);
-    }
-
-    // Flip the link and confirmation message along the x axis
-    a, div {
-        backface-visibility: hidden;
-        pointer-events: none;
-    }
-
-    a {
-        @keyframes copyable-links-confirmation-front {
-            0% {
-                opacity: 1;
-                transform: rotateX(0);
-            }
-            33% {
-                opacity: 0;
-                transform: rotateX(180deg);
-            }
-            66% {
-                opacity: 0;
-                transform: rotateX(180deg);
-            }
-            100% {
-                opacity: 1;
-                transform: rotateX(0);
-            }
-        }
-        animation: copyable-links-confirmation-front $animation-duration linear;
+    &.copyable-link-success {
+        @include background-icon(check-circle, status-green, 24);
     }
-
-    div {
-        @keyframes copyable-links-confirmation-back {
-            0% {
-                opacity: 0;
-                transform: rotateX(180deg);
-            }
-            33% {
-                opacity: 1;
-                transform: rotateX(0);
-            }
-            66% {
-                opacity: 1;
-                transform: rotateX(0);
-            }
-            100% {
-                opacity: 0;
-                transform: rotateX(180deg);
-            }
-        }
-        animation: copyable-links-confirmation-back $animation-duration linear;
+    &.copyable-link-error {
+        @include background-icon(decline-circle, status-red, 24);
     }
 }