diff --git a/src/assets/stylesheets/link.scss b/src/assets/stylesheets/link.scss
index 3dd21bf0d04a13f957bcd3790acd0e9e17ba72ae..3f16b7a5a02b44b1aaf355fbe7c1b8ea7b3c2967 100644
--- a/src/assets/stylesheets/link.scss
+++ b/src/assets/stylesheets/link.scss
@@ -50,6 +50,10 @@ a {
 :local(.footer-image) {
   width: 200px;
   margin: 12px;
+
+  @media (max-height: 719px) {
+    display: none;
+  }
 }
 
 :local(.header) {
diff --git a/src/react-components/link-root.js b/src/react-components/link-root.js
index 30e3d1e5bf2e6fb0dc9cb99580c8fb05f1c59751..a5ebcb8bac8a48bf467aaeb69c36c51de6a9bfad 100644
--- a/src/react-components/link-root.js
+++ b/src/react-components/link-root.js
@@ -23,6 +23,25 @@ class LinkRoot extends Component {
     failedAtLeastOnce: false
   };
 
+  componentWillMount = () => {
+    document.addEventListener("keydown", this.handleKeyDown);
+  };
+
+  componentWillUnmount = () => {
+    document.removeEventListener("keydown", this.handleKeyDown);
+  };
+
+  handleKeyDown = e => {
+    if (e.keyCode < 48 || e.keyCode > 57) {
+      return;
+    }
+
+    e.preventDefault();
+    e.stopPropagation();
+
+    this.addDigit(e.keyCode - 48);
+  };
+
   addDigit = digit => {
     if (this.state.enteredDigits.length >= MAX_DIGITS) return;
     const newDigits = `${this.state.enteredDigits}${digit}`;