diff --git a/app/assets/images/logo.svg b/app/assets/images/logo.svg
index 6cc6001..a24c0fe 100644
--- a/app/assets/images/logo.svg
+++ b/app/assets/images/logo.svg
@@ -1,15 +1,18 @@
-<svg version="1.1" baseProfile="tiny" id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-	 x="0px" y="0px" viewBox="0 0 356.5 142.8" xml:space="preserve">
-<path fill="#1F70C1" d="M-0.5,0v9.8H69V0H-0.5z M78.8,0v9.8h99c0,0-10.1-9.8-23.5-9.8H78.8z M197.2,0v9.8h59.9L253.6,0H197.2z
-	 M300.1,0l-3.6,9.8h59.4V0H300.1z M-0.5,19v9.8H69V19H-0.5z M78.8,19v9.8h110.5c0,0-1.3-7.5-3.5-9.8H78.8z M197.2,19v9.8h66.5
-	l-3.3-9.8H197.2z M293,19l-3.3,9.8h66.2V19H293z M19.4,38v9.8h30.1V38H19.4z M98.8,38v9.8h30.1V38H98.8z M158.1,38v9.8h30.1
-	c0,0,1.9-5.2,1.9-9.8H158.1z M217.2,38v9.8h53.4L267,38H217.2z M286.4,38l-3.6,9.8h53.6V38H286.4z M19.4,57v9.8h30.1V57H19.4z
-	 M98.8,57v9.8h76.9c0,0,6.4-5,8.5-9.8C184.2,57,98.8,57,98.8,57z M217.2,57v9.8h30.1v-5.4l1.9,5.4h55.1l2.1-5.4v5.4h30.1V57H280
-	l-3,8.3l-3-8.3C274,57,217.2,57,217.2,57z M19.4,76v9.8h30.1V76H19.4z M98.8,76v9.8h85.3c-2.1-4.7-8.5-9.8-8.5-9.8H98.8z M217.2,76
-	v9.8h30.1V76H217.2z M252.8,76l3.6,9.8h41.3l3.5-9.8H252.8z M306.4,76v9.8h30.1V76H306.4z M19.4,95v9.8h30.1V95H19.4z M98.8,95v9.8
-	h30.1V95H98.8z M158.1,95v9.8h32c0-4.6-1.9-9.8-1.9-9.8H158.1z M217.2,95v9.8h30.1V95H217.2z M259.6,95l3.5,9.8h27.7l3.6-9.8H259.6z
-	 M306.4,95v9.8h30.1V95H306.4z M0,114v9.8h69.5V114H0z M78.8,114v9.8h107c2.3-2.2,3.5-9.8,3.5-9.8H78.8z M197.8,114v9.8h49.5V114
-	H197.8z M266.4,114l3.6,9.8h14.1l3.4-9.8H266.4z M306.4,114v9.8h50.1V114H306.4z M0,133v9.8h69.5V133H0z M78.8,133v9.8h75.5
+<svg version="1.1" id="logo" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 356.5 142.8" style="enable-background:new 0 0 356.5 142.8;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#6D6E71;}
+</style>
+<path class="st0" d="M-0.5,0v9.8H69V0H-0.5z M78.8,0v9.8h99c0,0-10.1-9.8-23.5-9.8H78.8z M197.2,0v9.8h59.9L253.6,0H197.2z M300.1,0
+	l-3.6,9.8h59.4V0H300.1z M-0.5,19v9.8H69V19H-0.5z M78.8,19v9.8h110.5c0,0-1.3-7.5-3.5-9.8H78.8z M197.2,19v9.8h66.5l-3.3-9.8H197.2
+	z M293,19l-3.3,9.8h66.2V19H293z M19.4,38v9.8h30.1V38H19.4z M98.8,38v9.8h30.1V38H98.8z M158.1,38v9.8h30.1c0,0,1.9-5.2,1.9-9.8
+	H158.1z M217.2,38v9.8h53.4L267,38H217.2z M286.4,38l-3.6,9.8h53.6V38H286.4z M19.4,57v9.8h30.1V57H19.4z M98.8,57v9.8h76.9
+	c0,0,6.4-5,8.5-9.8C184.2,57,98.8,57,98.8,57z M217.2,57v9.8h30.1v-5.4l1.9,5.4h55.1l2.1-5.4v5.4h30.1V57H280l-3,8.3l-3-8.3
+	C274,57,217.2,57,217.2,57z M19.4,76v9.8h30.1V76H19.4z M98.8,76v9.8h85.3c-2.1-4.7-8.5-9.8-8.5-9.8H98.8z M217.2,76v9.8h30.1V76
+	H217.2z M252.8,76l3.6,9.8h41.3l3.5-9.8H252.8z M306.4,76v9.8h30.1V76H306.4z M19.4,95v9.8h30.1V95H19.4z M98.8,95v9.8h30.1V95H98.8
+	z M158.1,95v9.8h32c0-4.6-1.9-9.8-1.9-9.8H158.1z M217.2,95v9.8h30.1V95H217.2z M259.6,95l3.5,9.8h27.7l3.6-9.8H259.6z M306.4,95
+	v9.8h30.1V95H306.4z M0,114v9.8h69.5V114H0z M78.8,114v9.8h107c2.3-2.2,3.5-9.8,3.5-9.8H78.8z M197.8,114v9.8h49.5V114H197.8z
+	 M266.4,114l3.6,9.8h14.1l3.4-9.8H266.4z M306.4,114v9.8h50.1V114H306.4z M0,133v9.8h69.5V133H0z M78.8,133v9.8h75.5
 	c13.4,0,23.5-9.8,23.5-9.8H78.8z M197.8,133v9.8h49.5V133H197.8z M273.3,133l3.5,9.7h0.6l3.5-9.8h-7.6V133z M306.4,133v9.8h50.1V133
 	H306.4z"/>
 </svg>
diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
index 02cd11f..6f630b6 100644
--- a/app/common/directives/app-navigation.html
+++ b/app/common/directives/app-navigation.html
@@ -64,6 +64,15 @@
 				<span>Users</span>
 			</span>
 		</li>
+		<li>
+			<a class="btn-multi-server" ng-class="{opened: firstLevel == 'multi-server'}" href="#/multi-server/overview" ng-click="change('multi-server')">
+				<span class="">
+					<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve" class="nav-icon">
+						<path d="M23.9,18.2l3.3,3.3l1.1-1.1L23.9,16l-7.8,7.8l-3.3-3.3l-1.1,1.1l4.4,4.4L23.9,18.2z"/>
+						<path d="M5,8v24h30V8H5z M33,30H7V12h26V30z"/>
+					</svg>
+					Multi Server</span></a>
+		</li>
 	</ul>
 	<ul class="nav__second-level btn-health" ng-style="navStyle" ng-class="{opened: (showSubMenu && firstLevel == 'server-health')}">
 		<li ng-class="{'active': (path == '/server-health/event-log')}">
diff --git a/app/common/directives/log-event.html b/app/common/directives/log-event.html
index be7b5a0..e913088 100644
--- a/app/common/directives/log-event.html
+++ b/app/common/directives/log-event.html
@@ -53,7 +53,7 @@
                              src="assets/images/icon-trashcan.svg"
                              alt=""/>Delete
                      </button>
-                     <button class="btn-resolve" ng-class="{'disabled': (event.Resolved == 1 || multiSelected)}" ng-click="resolveEvent(event)" ng-disabled="event.Resolved == 1 || multiSelected"><img class="event__icon" src="assets/images/icon-checklist.svg" alt=""/>Resolved</button>
+                     <button class="btn-resolve" ng-class="{'disabled': (event.Resolved == 1 || multiSelected)}" ng-click="resolveEvent(event)" ng-disabled="event.Resolved == 1 || multiSelected"><img class="event__icon" src="assets/images/icon-check.svg" alt=""/>Resolved</button>
                  </div>
                  <div class="event__related" ng-show="event.related_items.length">
                      <p class="inline event__related-label">Related items:</p>
@@ -62,4 +62,4 @@
              </div>
          </div>
      </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/app/index.html b/app/index.html
index 7d1e813..ab65f6c 100644
--- a/app/index.html
+++ b/app/index.html
@@ -81,6 +81,8 @@
     <script src="configuration/controllers/firmware-controller.js"></script>
     <script src="users/index.js"></script>
     <script src="users/controllers/user-accounts-controller.js"></script>
+    <script src="multi-server/index.js"></script>
+    <script src="multi-server/controllers/multi-server-controller.js"></script>
 	<!-- endbuild -->
 </body>
 
diff --git a/app/index.js b/app/index.js
index 890c67a..fc781b3 100644
--- a/app/index.js
+++ b/app/index.js
@@ -31,7 +31,8 @@
             'app.serverControl',
             'app.serverHealth',
             'app.configuration',
-            'app.users'
+            'app.users',
+            'app.multiServer'
         ])
         // Route configuration
         .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
diff --git a/app/multi-server/controllers/index-controller.html b/app/multi-server/controllers/index-controller.html
new file mode 100644
index 0000000..b4be90e
--- /dev/null
+++ b/app/multi-server/controllers/index-controller.html
@@ -0,0 +1,6 @@
+<loader loading="loading"></loader>
+<div class="overview">
+	<div class="row column">
+		<h1 class="inline">Multi Server</h1>
+	</div>
+</div>
\ No newline at end of file
diff --git a/app/multi-server/controllers/index-controller.js b/app/multi-server/controllers/index-controller.js
new file mode 100644
index 0000000..59d3488
--- /dev/null
+++ b/app/multi-server/controllers/index-controller.js
@@ -0,0 +1,28 @@
+/**
+ * Controller for index
+ *
+ * @module app/multi-server
+ * @exports indexController
+ * @name indexController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.overview')
+        .controller('indexController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+                $scope.loading = false;
+
+            }
+        ]
+    );
+
+})(angular);
\ No newline at end of file
diff --git a/app/multi-server/controllers/multi-server-controller.html b/app/multi-server/controllers/multi-server-controller.html
new file mode 100644
index 0000000..b4be90e
--- /dev/null
+++ b/app/multi-server/controllers/multi-server-controller.html
@@ -0,0 +1,6 @@
+<loader loading="loading"></loader>
+<div class="overview">
+	<div class="row column">
+		<h1 class="inline">Multi Server</h1>
+	</div>
+</div>
\ No newline at end of file
diff --git a/app/multi-server/controllers/multi-server-controller.js b/app/multi-server/controllers/multi-server-controller.js
new file mode 100644
index 0000000..8d737cb
--- /dev/null
+++ b/app/multi-server/controllers/multi-server-controller.js
@@ -0,0 +1,28 @@
+/**
+ * Controller for index
+ *
+ * @module app/multi-server
+ * @exports multiServerController
+ * @name multiServerController
+ * @version 0.1.0
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.overview')
+        .controller('multiServerController', [
+            '$scope', 
+            '$window', 
+            'APIUtils', 
+            'dataService',
+            function($scope, $window, APIUtils, dataService){
+                $scope.dataService = dataService;
+                $scope.loading = false;
+
+            }
+        ]
+    );
+
+})(angular);
\ No newline at end of file
diff --git a/app/multi-server/index.js b/app/multi-server/index.js
new file mode 100644
index 0000000..1340aac
--- /dev/null
+++ b/app/multi-server/index.js
@@ -0,0 +1,28 @@
+/**
+ * A module for the multi-server
+ *
+ * @module app/multi-server
+ * @exports app/multi-server
+ * @version 0.0.1
+ */
+
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.multiServer', [
+            'ngRoute',
+            'app.constants',
+            'app.common.services'
+        ])
+        // Route configuration
+        .config(['$routeProvider', function ($routeProvider) {
+            $routeProvider
+                .when('/multi-server/overview', {
+                    'templateUrl': 'multi-server/controllers/multi-server-controller.html',
+                    'controller': 'multiServerController',
+                    authenticated: true
+                });
+        }]);
+
+})(window.angular);
diff --git a/app/multi-server/styles/index.scss b/app/multi-server/styles/index.scss
new file mode 100644
index 0000000..77a13b8
--- /dev/null
+++ b/app/multi-server/styles/index.scss
@@ -0,0 +1 @@
+@import "./overview.scss";
\ No newline at end of file
diff --git a/app/multi-server/styles/overview.scss b/app/multi-server/styles/overview.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/multi-server/styles/overview.scss
diff --git a/app/server-health/styles/log.scss b/app/server-health/styles/log.scss
index ec68113..d328139 100644
--- a/app/server-health/styles/log.scss
+++ b/app/server-health/styles/log.scss
@@ -164,7 +164,8 @@
       text-decoration: underline;
     }
   }
-  .btn-resolve.disabled:hover {
+  .btn-resolve.disabled:hover,
+  .btn-delete.disabled:hover{
     cursor: default;
     text-decoration: none;
   }
diff --git a/app/server-health/styles/sensors.scss b/app/server-health/styles/sensors.scss
index f99a499..522c65e 100644
--- a/app/server-health/styles/sensors.scss
+++ b/app/server-health/styles/sensors.scss
@@ -9,6 +9,9 @@
 .header__actions-bar {
   padding-left: 1.5em;
   font-weight: 700;
+  .sensor__reading {
+    margin-right: .3em;
+  }
   .sensor__heading-current {
     padding-right: 1em;
   }
@@ -43,7 +46,7 @@
   @include mediaQuery(medium) {
     display: inline-block;
     width: auto;
-    min-width: calc(70% * (1 / 5) - 10px);
+    min-width: calc(70% * (1 / 5) - 18px);
   }
 }
 
@@ -72,6 +75,9 @@
       background: transparent;
       padding: .5em .5em .5em 0;
     }
+    .icon__normal {
+      width: 0;
+    }
   }
   .content-label {
     font-size: 1em;
@@ -98,10 +104,10 @@
     }
     @include mediaQuery(large) {
       background: $thresh-normal;
-      padding: .7em 1em;
-      margin-left: 10px;
-      margin-right: 10px;
-      min-width: 130px;
+      padding: .7em;
+      margin-left: .3em;
+      margin-right: .3em;
+      min-width: 150px;
     }
     .sensor__label {
       font-weight: 700;
diff --git a/app/styles/index.scss b/app/styles/index.scss
index ee88ea0..64477bf 100644
--- a/app/styles/index.scss
+++ b/app/styles/index.scss
@@ -6,4 +6,5 @@
 @import "../server-control/styles/index.scss";
 @import "../server-health/styles/index.scss";
 @import "../configuration/styles/index.scss";
-@import "../users/styles/index.scss";
\ No newline at end of file
+@import "../users/styles/index.scss";
+@import "../multi-server/styles/index.scss";
\ No newline at end of file
