diff --git a/app/common/directives/app-header.html b/app/common/directives/app-header.html
index 1de2e52..d0c2aa6 100644
--- a/app/common/directives/app-header.html
+++ b/app/common/directives/app-header.html
@@ -6,9 +6,6 @@
   </header>
   <div class="header__functions-wrapper" role="heading">
     <div class="logo__wrapper"><img src="../../assets/images/logo.svg" class="header__logo" alt="company logo"/></div>
-    <!-- <button class="inline header__multi-server" aria-label="multi server select" ng-class="{'active': multi_server_recent}" ng-click="multiRecent();">
-      <span class="icon icon-angle" aria-hidden="true"></span><span class="accessible-text">Multi server switcher</span>
-    </button>-->
     <div class="inline header__server-name">
       <p class="header__hostname">{{dataService.hostname}}</p>
       <p class="header__server-ip courier-bold">BMC host/IP address {{dataService.server_id}}</p>
@@ -28,4 +25,4 @@
       </button>
     </div>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/app/common/directives/app-header.js b/app/common/directives/app-header.js
index 92f4ef3..0e0a6e6 100644
--- a/app/common/directives/app-header.js
+++ b/app/common/directives/app-header.js
@@ -134,10 +134,6 @@
             $scope.$on('$destroy', function() {
               loginListener();
             });
-
-            $scope.multiRecent = function() {
-              $scope.multi_server_recent = !$scope.multi_server_recent;
-            };
           }
         ]
       };
diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
index 9438e85..b70fa8f 100644
--- a/app/common/directives/app-navigation.html
+++ b/app/common/directives/app-navigation.html
@@ -64,18 +64,6 @@
         <span>Users</span>
       </button>
     </li>
-    <!--<li class="btn-multi-server">
-      <a ng-class="{opened: firstLevel == 'multi-server'}" href="#/multi-server/overview" ng-click="change('multi-server')" tabindex="6">
-        <span>
-          <svg class="nav-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve">
-<path d="M12.8,7.3h4c0.2,1.5,1.5,2.8,3.1,2.8c1.7,0,3.1-1.4,3.1-3.1s-1.4-3.1-3.1-3.1c-1.5,0-2.7,1-3,2.4h-4C12.4,3.3,9.9,1,6.9,1
-  C3.7,1,1,3.6,1,6.9c0,0,0,0,0,0c0,3.1,2.4,5.7,5.5,5.9v4c-1.3,0.4-2.4,1.6-2.4,3c0,1.7,1.4,3.1,3.1,3.1s3.1-1.4,3.1-3.1
-  c0-1.6-1.2-2.9-2.8-3.1v-4c1.1-0.2,2.1-0.6,2.9-1.3l4.7,4.7c-0.4,0.5-0.6,1.1-0.6,1.8c0,1.7,1.4,3.1,3.1,3.1c1.7,0,3.1-1.4,3.1-3.1
-  c0-1.7-1.4-3.1-3.1-3.1c-0.6,0-1.3,0.2-1.8,0.6l-4.7-4.7C12.2,9.7,12.7,8.5,12.8,7.3z M2.2,6.9c0-2.6,2.1-4.7,4.7-4.7
-  s4.7,2.1,4.7,4.7s-2.1,4.7-4.7,4.7S2.2,9.5,2.2,6.9z"/>
-</svg>
-        All Servers</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/index.js b/app/index.js
index 1eb7dd6..d333dca 100644
--- a/app/index.js
+++ b/app/index.js
@@ -78,9 +78,6 @@
 import snmp_controller from './configuration/controllers/snmp-controller.js';
 import firmware_controller from './configuration/controllers/firmware-controller.js';
 
-import multi_server_index from './multi-server/index.js';
-import multi_server_controller from './multi-server/controllers/multi-server-controller.js';
-
 import users_index from './users/index.js';
 import user_accounts_controller from './users/controllers/user-accounts-controller.js';
 
@@ -101,8 +98,7 @@
             'app.common.filters',
             // Model resources
             'app.login', 'app.overview', 'app.serverControl',
-            'app.serverHealth', 'app.configuration', 'app.users', 'app.redfish',
-            'app.multiServer'
+            'app.serverHealth', 'app.configuration', 'app.users', 'app.redfish'
           ])
       // Route configuration
       .config([
diff --git a/app/multi-server/controllers/multi-server-controller.html b/app/multi-server/controllers/multi-server-controller.html
deleted file mode 100644
index 0e4d2de..0000000
--- a/app/multi-server/controllers/multi-server-controller.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<loader loading="loading"></loader>
-<div id="multi-server">
-  <div class="row column">
-    <h1>All servers</h1>
-  </div>
-  <section class="row column">
-    <div class="page-header">
-      <h2 class="inline h4">All auto-discovered and manually added servers</h2>
-      <a class="inline float-right" ng-click="addServer()"><span class="icon icon__plus"></span>Add a server</a>
-    </div>
-  </section>
-  <section class="row column">
-    <!-- search -->
-    <p class="content-label" aria-label="sensors filter">Filter servers</p>
-    <div class="content__search">
-      <label for="content__search-input">Multi server search</label>
-      <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
-      <div class="search-submit__wrapper">
-        <button class="clear-input" ng-click="clear()">&#10005;</button>
-        <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/>
-      </div>
-
-    </div>
-  </section> <!-- end search -->
-
-  <section id="" class="row column">
-    <div class="row column header-row">
-      <div class="column large-12 header__actions-bar">
-        <div class="inline multi-server__col multi-server__title">Server name<span class="sort-heading"></span></div>
-        <div class="inline multi-server__col">BMC IP address<span class="sort-heading"></span></div>
-        <div class="inline multi-server__col">Model number<span class="sort-heading sort-down"></span></div>
-        <div class="inline multi-server__col narrow-col">Power<span class="sort-heading sort-up"></span></div>
-        <div class="inline multi-server__col narrow-col">Status<span class="sort-heading"></span></div>
-      </div>
-    </div>
-    <!-- server -->
-    <div class="multi-server__col-row">
-      <div class="inline multi-server__title">IBM Power Witherspoon 2 (current)</div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">BMC IP address</span>
-        <span class="multi-server__data">9.3.111.222</span>
-      </div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">Model number</span>
-        <span class="multi-server__data">8335-GTC</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Power</span>
-        <span class="multi-server__data"><span class="icon icon__off" ng-class="{'icon__off': dataService.server_state == 'Off' || 'Unreachable', 'icon__good': dataService.server_state == 'Running', 'icon_standby': dataService.server_state == 'Standby'}"></span>Off</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Status</span>
-        <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Emergency</span>
-      </div>
-    </div>
-    <!-- server -->
-    <div class="multi-server__col-row">
-      <div class="inline multi-server__title">IBM Power Witherspoon 6</div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">BMC IP address</span>
-        <span class="multi-server__data">9.3.41.232</span>
-      </div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">Model number</span>
-        <span class="multi-server__data">PRT85-GTC</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Power</span>
-        <span class="multi-server__data"><span class="icon icon__good"></span>On</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Status</span>
-        <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span>
-      </div>
-    </div>
-    <!-- server -->
-    <div class="multi-server__col-row">
-      <div class="inline multi-server__title">IBM Power Witherspoon 4</div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">BMC IP address</span>
-        <span class="multi-server__data">9.3.21.233</span>
-      </div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">Model number</span>
-        <span class="multi-server__data">MKU-GTC</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Power</span>
-        <span class="multi-server__data"><span class="icon icon__good"></span>On</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Status</span>
-        <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span>
-      </div>
-    </div>
-    <!-- server -->
-    <div class="multi-server__col-row">
-      <div class="inline multi-server__title">Server 100023476 ligula sed magna dictum porta. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem</div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">BMC IP address</span>
-        <span class="multi-server__data">9.3.51.244</span>
-      </div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">Model number</span>
-        <span class="multi-server__data">854-GTC</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Power</span>
-        <span class="multi-server__data"><span class="icon icon__good"></span>On</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Status</span>
-        <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Critical</span>
-      </div>
-    </div>
-    <!-- server -->
-    <div class="multi-server__col-row">
-      <div class="inline multi-server__title">Server 100023476</div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">BMC IP address</span>
-        <span class="multi-server__data">9.3.185.164</span>
-      </div>
-      <div class="inline multi-server__col courier-bold">
-        <span class="multi-server__label">Model number</span>
-        <span class="multi-server__data">82225-GTC</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Power</span>
-        <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span>
-      </div>
-      <div class="inline multi-server__col narrow-col bold">
-        <span class="multi-server__label">Status</span>
-        <span class="multi-server__data"><span class="icon icon__warning" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Warning</span>
-      </div>
-    </div>
-  </section>
-</div>
-
-<!-- add server modal -->
-<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_add}">
-  <div class="modal__multi-add" role="document">
-    <div class="screen-reader-offscreen modal-description">To manually add a server that is not discovered automatically, provide either the BMC IP address or hostname and login credentials for its BMC</div><!-- accessibility only; used for screen readers -->
-    <div class="page-header ">
-      <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
-          viewBox="0 0 32 32"><path
-          d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
-          d="M16 2C8.269 2 2 8.269 2 16s6.269 14 14 14 14-6.269 14-14S23.731 2 16 2zm0 26C9.383 28 4 22.617 4 16S9.383 4 16 4s12 5.383 12 12-5.383 12-12 12z"/></svg></span>
-        Add a server
-      </h1>
-    </div>
-    <form id="multi-server_add-form" class="multi-server__add-form" action="">
-      <div class="modal__content row">
-        <div class="column large-12">
-          <label for="multi-server__host">BMC IP Address</label>
-          <input id="multi-server__host" ng-model="multi_ip" type="text" autofocus/>
-        </div>
-        <div class="column large-6">
-          <label for="username">Username</label>
-          <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading">
-        </div>
-        <div class="column large-6">
-          <label for="password">Password</label>
-          <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading">
-        </div>
-      </div>
-      <label class="control-check">
-        <input id="multi-server__add-view" type="checkbox" name="events__check-all" ng-model="all" />
-        <span class="control__indicator"></span>
-        <span class="inline">View this server once added</span>
-      </label>
-      <div class="modal__button-wrapper">
-        <button class="inline btn-secondary">Cancel</button>
-        <button class="inline btn-primary">Add</button>
-      </div>
-      <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p>
-      <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p>
-    </form>
-  </div>
-</section>
-
-<!-- login modal -->
-<section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_login}">
-  <div class="modal__multi-login" role="document">
-    <div class="screen-reader-offscreen modal-description">To log into the selected server, provide the login credentials for its BMC.</div><!-- accessibility only; used for screen readers -->
-    <div class="page-header ">
-      <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg"
-          viewBox="0 0 32 32"><path
-          d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path
-          d="M16 2C8.269 2 2 8.269 2 16s6.269 14 14 14 14-6.269 14-14S23.731 2 16 2zm0 26C9.383 28 4 22.617 4 16S9.383 4 16 4s12 5.383 12 12-5.383 12-12 12z"/></svg></span>
-        Login to server
-      </h1>
-    </div>
-    <form id="multi-server_login-form" class="multi-server__login-form" action="">
-      <div class="modal__content row">
-        <div class="column large-12">
-          <!-- server -->
-          <div class="multi-server__col-row">
-            <div class="inline multi-server__title"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Server 100023476</div>
-            <div class="inline multi-server__col courier-bold">
-              <span class="multi-server__data">9.3.185.164</span>
-            </div>
-            <div class="inline multi-server__col narrow-col bold">
-              <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span>
-            </div>
-          </div>
-        </div>
-        <div class="column large-6">
-          <label for="username">Username</label>
-          <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading">
-        </div>
-        <div class="column large-6">
-          <label for="password">Password</label>
-          <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading">
-        </div>
-      </div>
-      <div class="modal__button-wrapper">
-        <button class="inline btn-secondary">Cancel</button>
-        <button class="inline btn-primary">Login</button>
-      </div>
-      <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p>
-      <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p>
-    </form>
-  </div>
-</section>
-
-<div class="modal-overlay" tabindex="-1" ng-class="{'active': (multi_server_add) || (multi_server_login)}"></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
deleted file mode 100644
index 15fc66f..0000000
--- a/app/multi-server/controllers/multi-server-controller.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Controller for index
- *
- * @module app/multi-server
- * @exports multiServerController
- * @name multiServerController
- */
-
-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.customSearch = '';
-      $scope.searchTerms = [];
-      $scope.loading = false;
-      $scope.clear = function() {
-        $scope.customSearch = '';
-        $scope.searchTerms = [];
-      };
-
-      $scope.doSearchOnEnter = function(event) {
-        var search =
-            $scope.customSearch.replace(/^\s+/g, '').replace(/\s+$/g, '');
-        if (event.keyCode === 13 && search.length >= 2) {
-          $scope.searchTerms = $scope.customSearch.split(' ');
-        } else {
-          if (search.length == 0) {
-            $scope.searchTerms = [];
-          }
-        }
-      };
-
-      $scope.doSearchOnClick = function() {
-        var search =
-            $scope.customSearch.replace(/^\s+/g, '').replace(/\s+$/g, '');
-        if (search.length >= 2) {
-          $scope.searchTerms = $scope.customSearch.split(' ');
-        } else {
-          if (search.length == 0) {
-            $scope.searchTerms = [];
-          }
-        }
-      };
-      $scope.addServer = function() {
-        $scope.multi_server_add = !$scope.multi_server_add;
-      };
-    }
-  ]);
-})(angular);
diff --git a/app/multi-server/controllers/multi-server-recent-controller.html b/app/multi-server/controllers/multi-server-recent-controller.html
deleted file mode 100644
index 9cd8db7..0000000
--- a/app/multi-server/controllers/multi-server-recent-controller.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<div class="multi-server__recent" ng-class="{'active': multi_server_recent}">
-  <a class="multi-server__add-server" ng-click="addServer()"><span class="icon icon__plus"></span>Add a server</a>
-  <a href="#/multi-server/overview" ng-click="multiRecent()" class="multi-server__view-all">View all servers (12)<i class="icon icon-angle float-right"></i></a>
-  <div class="multi-server__recent-header">Recently accessed servers</div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon 2 (current)</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.11.222</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__good"></span>On</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon 6 Pellentesque in ipsum id orci porta dapibus</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.122.2</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__good"></span>On</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon 9</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.100.111</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__off"></span>Off</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon alpha</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.89.122</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__good"></span>On</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon 7</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.12.132</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__good"></span>On</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon 19</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.100.3</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__off"></span>Off</div>
-  </div>
-  <!-- recent server-->
-  <div class="row multi-server__recent-server">
-    <button class="column large-7 multi-server__recent-name">IBM Power Witherspoon omega</button>
-    <div class="column large-3 multi-server__recent-ip">9.3.11.22</div>
-    <div class="column large-2 multi-server__recent-power"><span class="icon icon__standby"></span>Standby</div>
-  </div>
-</div>
-<div class="modal-overlay" tabindex="-1" ng-class="{'active': (multi_server_recent)}"></div>
\ No newline at end of file
diff --git a/app/multi-server/index.js b/app/multi-server/index.js
deleted file mode 100644
index f56981d..0000000
--- a/app/multi-server/index.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * A module for the multi-server
- *
- * @module app/multi-server
- * @exports app/multi-server
- */
-
-window.angular && (function(angular) {
-  'use strict';
-
-  angular
-      .module('app.multiServer', ['ngRoute', 'app.common.services'])
-      // Route configuration
-      .config([
-        '$routeProvider',
-        function($routeProvider) {
-          $routeProvider.when('/multi-server/overview', {
-            'template': require('./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
deleted file mode 100644
index be88126..0000000
--- a/app/multi-server/styles/index.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import "./multi-server.scss";
\ No newline at end of file
diff --git a/app/multi-server/styles/multi-server.scss b/app/multi-server/styles/multi-server.scss
deleted file mode 100644
index bf019ab..0000000
--- a/app/multi-server/styles/multi-server.scss
+++ /dev/null
@@ -1,300 +0,0 @@
-$title-minWidth: 210px;
-$col-width: calc(72% * (1 / 4) - 10px);
-$narrow-width: 17%;
-
-//Multiserver dropdown
-.multi-server__recent {
-  position: fixed;
-  z-index: 110;
-  background: $white;
-  left: 130px;
-  top: -30%;
-  max-height: 0;
-  overflow: hidden;
-  padding: 1em;
-  font-size: .95em;
-  font-weight: 600;
-  @include fastTransition-all;
-  @include mediaQuery(medium) {
-    min-width: 450px;
-  }
-  &.active {
-    top: 130px;
-    max-height: 100%;
-    overflow: scroll;
-    @include fastTransition-all;
-  }
-}
-.multi-server__add-server,
-.multi-server__view-all {
-  display: block;
-  padding: .6em .6em .6em 0;
-  width: 100%;
-  text-align: left;
-}
-
-.multi-server__add-server {
-  margin-bottom: 2em;
-  .icon__plus {
-    height: 18px;
-    margin-top: -2px;
-  }
-}
-
-a.multi-server__view-all {
-  color: $black;
-}
-
-.multi-server__recent-header {
-  background: $lightgrey;
-  color: $darkgrey;
-  padding: 1em 0 .7em 1em;
-  margin-left: -1em;
-  margin-right: -1em;
-  margin-top: 1em;
-}
-
-.multi-server__recent-server {
-  padding: .8em 1em;
-  border-bottom: 1px solid $medgrey;
-  margin-left: -1em;
-  margin-right: -1em;
-  &:last-child {
-    border: 0px;
-  }
-  &:hover {
-    cursor: pointer;
-    background: $lightblue;
-    @include fastTransition-all;
-  }
-  .column {
-    padding-left: 0;
-    padding-top: .5em;
-  }
-  .icon {
-    margin-left: 0;
-  }
-  @include mediaQuery(medium) {
-    border-bottom: 0;
-  }
-}
-
-.multi-server__recent-name {
-  line-height: 1.2;
-  text-align: left;
-}
-
-.multi-server__recent-ip {
-  @include fontCourierBold;
-}
-
-.multi-server__recent-power,
-.multi-server__recent-ip{
-  text-align: left;
-}
-
-//Multiserver page
-.header__actions-bar {
-  padding-left: 1.5em;
-  font-weight: 700;
-  .multi-server__col {
-    padding: 0;
-    &:hover {
-      cursor: pointer;
-    }
-  }
-  .multi-server__title {
-    padding: 0;
-    width: 30%;
-  }
-}
-
-.multi-server__heading-current {
-  margin: 0;
-  @include mediaQuery(medium) {
-    margin-left: 10px;
-    margin-right: 10px;
-  }
-}
-
-.multi-server__label {
-  font-weight: 300;
-  @include fontFamily;
-  @include mediaQuery(medium) {
-    display: none;
-  }
-}
-
-.multi-server__col {
-  width: 100%;
-  text-align: left;
-  margin-bottom: 0;
-  display: none;
-  padding: .5em .8em .5em .8em;
-  overflow: hidden;
-  @include mediaQuery(medium) {
-    display: inline-block;
-    width: $col-width;
-    padding: .5em .8em .5em 0;
-    text-align: left;
-    vertical-align: top;
-    overflow-wrap: break-word;
-  }
-}
-
-.multi-server__data {
-  text-align: left;
-  float: right;
-  width:40%;
-  overflow-wrap: break-word;
-  @media (min-width: 700px){
-    width:30%;
-  }
-  @include mediaQuery(medium) {
-    float: none;
-    width: auto
-  }
-}
-
-.narrow-col {
-  @include mediaQuery(medium) {
-    width: $narrow-width;
-  }
-}
-
-.multi-server__col-row {
-  position: relative;
-  display: block;
-  margin: 0;
-  text-decoration: none;
-  border: 1px solid $medgrey;
-  background: lighten($lightgrey,1%);
-  margin-top: 1em;
-  &:hover {
-    cursor: pointer;
-    background: $lightblue;
-    @include fastTransition-all;
-  }
-  @include mediaQuery(medium) {
-    padding: .3em 1em .3em 1.5em;
-    margin-top: 0;
-    border-top: 0;
-    background: transparent;
-  }
-  .multi-server__title {
-    font-weight: 700;
-    background: darken($lightgrey, 5%);
-    min-width: 100%;
-    padding: .5em .8em;
-    @include mediaQuery(medium) {
-      min-width: 30%;
-      max-width: 30%;
-      background: 0 0;
-      vertical-align: top;
-      margin-bottom: 0;
-      padding: .5em .8em .5em 0;
-      overflow-wrap: break-word;
-    }
-    .icon__normal {
-      width: 0;
-    }
-  }
-  .content-label {
-    font-size: 1em;
-    margin-left: .8em;
-    color: $darkgrey;
-  }
-  .multi-server__col {
-    display: block;
-    @include mediaQuery(medium) {
-      display: inline-block;
-    }
-  }
-  .multi-server__current {
-    background: darken($thresh-normal, 3%);
-    margin: 0;
-    @include mediaQuery(medium) {
-      background: $thresh-normal;
-      padding: .7em .3em;
-      margin-left: 10px;
-      min-width: 109px;
-    }
-    @include mediaQuery(large) {
-      background: $thresh-normal;
-      padding: .7em;
-      margin-left: .3em;
-      margin-right: .3em;
-      min-width: 150px;
-    }
-    .multi-server__label {
-      font-weight: 700;
-      @include mediaQuery(medium) {
-        font-weight:300;
-      }
-    }
-  }
-  .multi-server__critical {
-    background: $thresh-critical;
-    color: $white;
-    .content-label {
-      color: $white;
-    }
-  }
-  .multi-server__warn {
-    background: $thresh-warning;
-    color: $black;
-    .content-label {
-      color: $black;
-    }
-  }
-}
-
-.multi-server__add-form {
-  .control-check {
-    padding-left: 25px;
-    margin-left: 1em;
-  }
-}
-
-//Multiserver modals
-.modal__multi-login {
-  .multi-server__col-row {
-    background: $lightgrey;
-    border-top: 1px solid $medgrey;
-    margin-bottom: 2em;
-    padding-bottom: .5em;
-    padding-left: 0;
-    padding-right: 0;
-    padding-top: 0;
-    @include mediaQuery(large) {
-      padding-top: .5em;
-    }
-    .multi-server__title {
-      width: 100%;
-      min-width: 100%;
-      max-width: 100%;
-      padding: .5em .8em .5em .8em;
-      background: darken($lightgrey, 5%);
-      @include mediaQuery(large) {
-        min-width: 40%;
-        max-width: 40%;
-        background: transparent;
-      }
-    }
-    .multi-server__data {
-      width: 100%;
-      float: none;
-
-    }
-  }
-  .multi-server__col {
-    padding: .5em .8em .5em .8em;
-    width: 100%;
-    @include mediaQuery(large) {
-      width: calc(100% * (1 / 3) - 10px);
-      &.narrow-col {
-        width: 20%;
-      }
-    }
-  }
-}
diff --git a/app/styles/index.scss b/app/styles/index.scss
index 64477bf..b324c86 100644
--- a/app/styles/index.scss
+++ b/app/styles/index.scss
@@ -7,4 +7,3 @@
 @import "../server-health/styles/index.scss";
 @import "../configuration/styles/index.scss";
 @import "../users/styles/index.scss";
-@import "../multi-server/styles/index.scss";
\ No newline at end of file
