diff --git a/public/css/styles.css b/public/css/styles.css
index 222bb7b5ff095e87a7119d6ffe2d4851ee0ef081..1af9e6cbb9cb15d56edeb4d4f07f578fa68f4a98 100644
--- a/public/css/styles.css
+++ b/public/css/styles.css
@@ -20,17 +20,33 @@
 }
 
 .now-playing {
+    padding: 0;
+    margin: 0;
     background-color: black;
     color: white;
 }
 .now-playing-cover {
-    padding: 2em;
+    padding: 1em;
+}
+.now-playing-loading,
+.now-playing-nothing {
+    padding-top: 2em;
+    padding-bottom: 2em;
+    text-align: center;
+    font-size: 300%;
+}
+.now-playing-data {
+    padding: 1em 0.5em;
 }
 .now-playing-title {
-    padding-top: 4em;
-    font-size: 400%;
+    padding-top: 1em;
+    font-size: 300%;
     font-weight: bolder;
+    line-height: 1.2em;
 }
 .now-playing-artists {
+    padding-top: 0.5em;
+    padding-bottom: 1em;
     font-size: 200%;
+    line-height: 1.2em;
 }
diff --git a/public/js/now-playing.js b/public/js/now-playing.js
index fc4a6cb8672c77f06ff48c331a9411bc69bc247e..22e89ac9f60138d6496477b2546fb4c3ee4e132e 100644
--- a/public/js/now-playing.js
+++ b/public/js/now-playing.js
@@ -1,3 +1,5 @@
+var lastFetchedNowPlayingData = "";
+
 function updateNowPlaying() {
     var apiUrl = "now-playing?api";
 
@@ -6,9 +8,11 @@ function updateNowPlaying() {
             return response.json();
         })
         .then(function (data) {
-            var nowPlayingBlock = document.getElementById("now-playing");
-            newContent = buildNowPlayingBlock(data);
-            nowPlayingBlock.innerHTML = newContent;
+            if (hasChanged(data)) {
+                var nowPlayingBlock = document.getElementById("now-playing");
+                newContent = buildNowPlayingBlock(data);
+                nowPlayingBlock.innerHTML = newContent;
+            }
         })
         .catch(function (err) {
             console.warn("Something went wrong.", err);
@@ -19,16 +23,30 @@ function updateNowPlaying() {
         });
 }
 
+function hasChanged(data) {
+    if (data && data["playing"] && data["playing"]["item"]) {
+        var dataAsString = JSON.stringify(data["playing"]["item"]);
+        if (dataAsString !== lastFetchedNowPlayingData) {
+            lastFetchedNowPlayingData = dataAsString;
+            return true;
+        }
+    }
+
+    return false;
+}
+
 function buildNowPlayingBlock(apiResponse) {
     var html = `
   <div class="container-fluid now-playing">
     <div class="row">
-      <div class="col">
+      <div class="col-12 col-md-6">
         <div class="now-playing-cover"><img src="COVER_URL" class="img-fluid"></div>
       </div>
-      <div class="col">
-        <div class="now-playing-title">TITLE</div>
-        <div class="now-playing-artists">ARTISTS</div>
+      <div class="col-12 col-md-6">
+        <div class="now-playing-data">
+          <div class="now-playing-title">TITLE</div>
+          <div class="now-playing-artists">ARTISTS</div>
+        </div>
       </div>
     </div>
   </div>`;
@@ -36,7 +54,15 @@ function buildNowPlayingBlock(apiResponse) {
     var nowPlayingData = apiResponse["playing"];
 
     if (!nowPlayingData) {
-        return '<div class="alert alert-info">No currently playing track...</div>';
+        return `
+        <div class="container-fluid now-playing">
+          <div class="row">
+            <div class="col">
+              <div class="now-playing-nothing">🔇</div>
+            </div>
+          </div>
+        </div>
+      `;
     }
 
     var item = nowPlayingData["item"];
@@ -49,9 +75,10 @@ function buildNowPlayingBlock(apiResponse) {
 
     html = html.replace("TITLE", trackName);
     html = html.replace("ARTISTS", artistNames);
-    html = html.replace("COVER_URL",  coverUrl);
+    html = html.replace("COVER_URL", coverUrl);
 
     return html;
 }
 
+updateNowPlaying();
 setInterval(updateNowPlaying, 2000);
diff --git a/template.php b/template.php
index 2c7a75da32b6d5d30cb15aba8df4ec8a6d0124c8..522ee823427417975fb19631a6a83f40a944927d 100644
--- a/template.php
+++ b/template.php
@@ -232,7 +232,11 @@
 
     <?php if ($templateData['page'] === 'now-playing') { ?>
       <div id="now-playing">
-        ⏳
+        <div class="container-fluid now-playing">
+          <div class="col">
+            <div class="now-playing-loading">⏳</div>
+          </div>
+        </div>
       </div>
       <script src="js/now-playing.js"></script>
     <?php } ?>