--- /dev/null
+// Lucas Bebber's Glitch Effect
+// Tutorial and CSS from CSS Tricks
+// https://css-tricks.com/glitch-effect-text-images-svg/
+
+.error {
+ color: $gray-800;
+ font-size: 7rem;
+ position: relative;
+ line-height: 1;
+ width: 12.5rem;
+}
+@keyframes noise-anim {
+ $steps: 20;
+ @for $i from 0 through $steps {
+ #{percentage($i*(1/$steps))} {
+ clip: rect(random(100)+px,9999px,random(100)+px,0);
+ }
+ }
+}
+.error:after {
+ content: attr(data-text);
+ position: absolute;
+ left: 2px;
+ text-shadow: -1px 0 $red;
+ top: 0;
+ color: $gray-800;
+ background: $gray-100;
+ overflow: hidden;
+ clip: rect(0,900px,0,0);
+ animation: noise-anim 2s infinite linear alternate-reverse;
+}
+
+@keyframes noise-anim-2 {
+ $steps: 20;
+ @for $i from 0 through $steps {
+ #{percentage($i*(1/$steps))} {
+ clip: rect(random(100)+px,9999px,random(100)+px,0);
+ }
+ }
+}
+.error:before {
+ content: attr(data-text);
+ position: absolute;
+ left: -2px;
+ text-shadow: 1px 0 $blue;
+ top: 0;
+ color: $gray-800;
+ background: $gray-100;
+ overflow: hidden;
+ clip: rect(0,900px,0,0);
+ animation: noise-anim-2 3s infinite linear alternate-reverse;
+}