diff --git a/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/FreeImageWorks.com_SSLightsSparkled-36.jpg b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/FreeImageWorks.com_SSLightsSparkled-36.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1ab773e8ea44395ac3d8516e3d51077978d40e2e
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/FreeImageWorks.com_SSLightsSparkled-36.jpg differ
diff --git a/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/abstract_colours_wallpaper_21ef8.jpg b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/abstract_colours_wallpaper_21ef8.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..cfe89fb9c8c1edae3d1be355715ea67ad3ed84aa
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/abstract_colours_wallpaper_21ef8.jpg differ
diff --git a/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/simply-red-backgrounds-wallpapers.jpg b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/simply-red-backgrounds-wallpapers.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9ececdf738d03a0d394562b3fa1d1006dbc6ad14
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/designfiles/designassets/backgrounds/simply-red-backgrounds-wallpapers.jpg differ
diff --git a/sites/all/themes/unl_digitalsignage/images/background-lights.png b/sites/all/themes/unl_digitalsignage/images/background-lights.png
new file mode 100644
index 0000000000000000000000000000000000000000..3abcb9c52a55e0eb185520684beb0a6f85e3d905
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/images/background-lights.png differ
diff --git a/sites/all/themes/unl_digitalsignage/images/background-lines.png b/sites/all/themes/unl_digitalsignage/images/background-lines.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2e84aa8ace51da0b0b155ca8db1d7e759d8430f
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/images/background-lines.png differ
diff --git a/sites/all/themes/unl_digitalsignage/images/background-rainbow.png b/sites/all/themes/unl_digitalsignage/images/background-rainbow.png
new file mode 100644
index 0000000000000000000000000000000000000000..32878d1f6cde87988a013377b80a27428f9b2bbd
Binary files /dev/null and b/sites/all/themes/unl_digitalsignage/images/background-rainbow.png differ
diff --git a/sites/all/themes/unl_digitalsignage/scripts/unl_digitalsignage.js b/sites/all/themes/unl_digitalsignage/scripts/unl_digitalsignage.js
index 678066538aa9e0f6141e0354960464bd675c0e3b..1731756421b0f92fd6debd90f9a99e363e443070 100644
--- a/sites/all/themes/unl_digitalsignage/scripts/unl_digitalsignage.js
+++ b/sites/all/themes/unl_digitalsignage/scripts/unl_digitalsignage.js
@@ -43,10 +43,6 @@ UNL.digitalSignage = (function() {
 					time = 500000;
 			}
 			
-			// Video feed will be updated by calling updateFeed with an ended event on the last video
-			if (field != 'field_videosources') {
-				//setInterval(function(){UNL.digitalSignage.updateFeed(field);}, time);
-			}
 			return false;
 		},
 		
@@ -129,6 +125,9 @@ UNL.digitalSignage = (function() {
 						var callVideoUpdate = function() {
 							videoUpdate(videoCounter+1);
 						};
+
+						// Initialize the ThreeDots variable
+						var threedots_object = jQuery('.field-videosources-desc').ThreeDots();
 						
 						var videoUpdate = function() {
 							video.removeEventListener('ended', callVideoUpdate, false);
@@ -139,9 +138,10 @@ UNL.digitalSignage = (function() {
 							// Add the description
 							jQuery('.'+field+'-desc').html(videos[videoCounter].description);
 							// Truncate with ellipsis plugin if too long
+							jQuery('.field-videosources-desc').removeAttr('threedots');
 							jQuery('.field-videosources-desc').wrapInner('<span class="ellipsis_text" />');
-							jQuery('.field-videosources-desc').ThreeDots({ max_rows:14 });
-							// Add title of video, must be done after ellipsis call to avoid stripping h3 tag
+							threedots_object.ThreeDots.update({ max_rows:12 });
+							// Add title of video, must be done after ThreeDots ellipsis call to avoid stripping h3 tag
 							jQuery('.'+field+'-desc').prepend('<h3>'+videos[videoCounter].title+'</h3>');
 							
 							// Set up recursion
@@ -255,7 +255,13 @@ UNL.digitalSignage = (function() {
 		
 		rotateNews : function() {
 			var fi = '.field-name-field-newssources .field-items .field-item';
+			var counter = 0;
 			var rotate = function() {
+				if (counter > maxItems.news-1) {
+					clearInterval(newsInterval);
+					UNL.digitalSignage.updateFeed('field_newssources');
+					return false;
+				}
 				// Get the first story
 				var current = (jQuery(fi+'.show') ? jQuery(fi+'.show') : jQuery(fi+':first'));
 				// Get next story, when it reaches the end, rotate it back to the first story
@@ -268,11 +274,13 @@ UNL.digitalSignage = (function() {
 				
 				next.addClass('show');
 				current.removeClass('show');
+				
+				counter++;
 			};
 			
 			// Call the rotator function to run the slideshow, (2000 = change to next story after 2 seconds)
 			rotate();
-			setInterval(function(){rotate()}, 10000);
+			var newsInterval = setInterval(function(){rotate()}, 10000);
 		},
 		
 		rotateTweets : function(tweets) {
@@ -332,8 +340,16 @@ UNL.digitalSignage = (function() {
 					jQuery(element+' h3').css('background-image','url("'+qrlink+'")');
 					// Change the long story url to the newly created GoURL
 					jQuery(element+' .field-newssources-link').html(data);
+					// Update the displayed URL in case the full URL was added before this returned (happens with first story when feed is updated)
+					if (jQuery(element).hasClass('show')) {
+						jQuery('.field-name-field-newssources .field-display .link').html(data);
+					}
 				} else {
 					jQuery(element).html('<img src="'+qrlink+'" alt="QR Code" />');
+					// Update the displayed QR code in case the story displayed before this returned (happens with first story when feed is updated)
+					if (jQuery(element).parent().hasClass('show')) {
+						jQuery('.field-name-field-newssources .field-display .qrcode').html('<img src="'+qrlink+'" alt="QR Code" />');
+					}
 				}
 			});
 		},