diff --git a/app/common/directives/app-header.html b/app/common/directives/app-header.html
index 5b2de3d..e9e3f2c 100644
--- a/app/common/directives/app-header.html
+++ b/app/common/directives/app-header.html
@@ -1,17 +1,16 @@
 <div id="header__wrapper">
 <!-- HEADER -->
 <!-- Class of status-light__good has 3 states: status-light__good, status-light__error, status-light__disabled -->
-<!-- Server Power buttton links to 'server power operations' page; Server Status may link to event log page. TBD.-->
 <header id="header">
     <span class="app__version float-left">{{dataService.app_version}}</span>
     <a href="" class="header__logout" ng-click="logout()">Log out</a>
 </header>
 <div class="header__functions-wrapper" role="heading">
     <div class="logo__wrapper"><img src="assets/images/logo.svg" id="header__logo"  alt="company logo"/></div>
-    <button id="header__server-name">{{dataService.server_id}}</button>
+    <button id="header__server-name">Server {{dataService.server_id}}</button>
     <div class="header__functions">
-        <a href="" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
-        <a href="#/overview/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
+        <a href="#/server-health/event-log" id="header__server-health">Server health<span class="status-light__error">{{dataService.server_health}}</span></a>
+        <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power<span ng-class="{'status-light__error': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
         <p class="header__refresh">Page last refreshed <span>{{dataService.last_updated |date:'h:mm:ss MMM dd yyyy'}}</span></p>
         <button class="header__page-refresh" ng-click="refresh()"><img src="assets/images/icon-refresh-white.svg" alt="refresh page" role="button"/></button>
     </div>
diff --git a/app/common/directives/app-navigation.html b/app/common/directives/app-navigation.html
index 6a0fb14..ce7e5c6 100644
--- a/app/common/directives/app-navigation.html
+++ b/app/common/directives/app-navigation.html
@@ -1,65 +1,64 @@
 <nav>
     <ul id="nav__top-level" ng-style="navStyle">
         <li>
-            <button class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" ng-click="firstLevel = 'overview';" tabindex="1">
+            <button class="btn-overview" ng-class="{opened: firstLevel == 'overview'}" ng-click="change('overview')" tabindex="1">
 
 
-                <span class="">Server overview</span></button>
+                <span class="">Server Overview</span></button>
         </li>
         <li>
-            <button class="btn-health" ng-class="{opened: firstLevel == 'health'}" ng-click="firstLevel = 'health';" tabindex="9">
+            <button class="btn-health" ng-class="{opened: firstLevel == 'server-health'}" ng-click="change('server-health')" tabindex="9">
 
-                <span>Server health</span></button>
+                <span>Server Health</span></button>
         </li>
         <li>
-            <button class="btn-control" ng-class="{opened: firstLevel == 'control'}" ng-click="firstLevel = 'control';">
+            <button class="btn-control" ng-class="{opened: firstLevel == 'server-control'}" ng-click="change('server-control')">
 
-                <span>Server control</span></button>
+                <span>Server Control</span></button>
         </li>
         <li>
-            <button class="btn-config" ng-class="{opened: firstLevel == 'config'}" ng-click="firstLevel = 'config';">
+            <button class="btn-config" ng-class="{opened: firstLevel == 'configuration'}" ng-click="change('configuration')">
 
                 <span>Configuration</span></button>
         </li>
         <li>
-            <button class="btn-firmware" ng-class="{opened: firstLevel == 'firmware'}" ng-click="firstLevel = 'firmware';">
+            <button class="btn-firmware" ng-class="{opened: firstLevel == 'firmware'}" ng-click="change('firmware')">
 
                 <span>Firmware</span></button>
         </li>
         <li>
-            <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="firstLevel = 'users';">
+            <button class="btn-users" ng-class="{opened: firstLevel == 'users'}" ng-click="change('users')">
 
                 <span>Users</span></button>
         </li>
     </ul>
     <ul class="nav__second-level btn-overview" ng-style="navStyle" ng-class="{opened: firstLevel == 'overview'}">
-        <li ng-class="{'active': (path == '/overview/system')}" tabindex="2"><a href="#/system-overview">System overview</a></li>
-
+        <li ng-class="{'active': (path == '/overview' || path == '/overview/system')}" tabindex="2"><a href="#/overview/system">System Overview</a></li>
     </ul>
-    <ul class="nav__second-level btn-health" ng-style="navStyle"  ng-class="{opened: firstLevel == 'health'}">
-        <li ng-class="{'active': (path == '/overview/log')}"><a href="#/overview/log" tabindex="7">Event log</a></li>
-        <li ng-class="{'active': (path == '/overview/inventory-overview')}"><a href="#/overview/inventory-overview">Hardware Inventory</a></li>
-        <li ng-class="{'active': (path == '/overview/sensors-overview') || (path == '/overview/sensors')}"><a href="#/overview/sensors-overview">Sensor data</a></li>
-        <li ng-class="{'active': (path == '/overview/power-consumption')}"><a href="" tabindex="4">Power consumption</a></li>
-        <li ng-class="{'active': (path == '/overview/unit-id')}"><a href="#/overview/unit-id" tabindex="6">Unit id</a></li>
-        <li><a href="">Diagnostics</a></li>
+    <ul class="nav__second-level btn-health" ng-style="navStyle"  ng-class="{opened: firstLevel == 'server-health'}">
+        <li ng-class="{'active': (path == '/server-health' || path == '/server-health/event-log')}"><a href="#/server-health/event-log" tabindex="7">Event Log</a></li>
+        <li ng-class="{'active': (path == '/server-health/inventory-overview' || path == '/server-health/inventory')}"><a href="#/server-health/inventory-overview">Hardware Inventory</a></li>
+        <li ng-class="{'active': (path == '/server-health/sensors-overview' || path == '/server-health/sensors')}"><a href="#/server-health/sensors-overview">Sensor Data</a></li>
+        <li ng-class="{'active': (path == '/server-health/power-consumption')}"><a href="#/server-health/power-consumption" tabindex="4">Power consumption</a></li>
+        <li ng-class="{'active': (path == '/server-health/unit-id')}"><a href="#/server-health/unit-id" tabindex="6">Unit ID</a></li>
+        <li ng-class="{'active': (path == '/server-health/diagnostics')}"><a href="#/server-health/diagnostics">Diagnostics</a></li>
     </ul>
-    <ul class="nav__second-level btn-control" ng-style="navStyle"  ng-class="{opened: firstLevel == 'control'}">
-        <li ng-class="{'active': (path == '/overview/power-operations')}" tabindex="3"><a href="#/overview/power-operations">Server power operations</a></li>
-        <li ng-class="{'active': (path == '/overview/bmc-reboot')}"><a href="#/overview/bmc-reboot" tabindex="8">Reboot BMC</a></li>
-        <li ng-class="{'active': (path == '/overview/remote-console')}"><a href="" tabindex="5">Remote console</a></li>
+    <ul class="nav__second-level btn-control" ng-style="navStyle"  ng-class="{opened: firstLevel == 'server-control'}">
+        <li ng-class="{'active': (path == '/server-control' || path == '/server-control/power-operations')}" tabindex="3"><a href="#/server-control/power-operations">Server power operations</a></li>
+        <li ng-class="{'active': (path == '/server-control/bmc-reboot')}"><a href="#/server-control/bmc-reboot" tabindex="8">Reboot BMC</a></li>
+        <li ng-class="{'active': (path == '/server-control/remote-console')}"><a href="#/server-control/remote-console" tabindex="5">Remote console</a></li>
     </ul>
-    <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'config'}">
-        <li><a href="">Network Configuration</a></li>
-        <li><a href="">Date & Time</a></li>
-        <li><a href="">Security</a></li>
-        <li><a href="">Configuration File</a></li>
+    <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'configuration'}">
+        <li ng-class="{'active': (path == '/configuration' || path == '/configuration/network')}"><a href="#/configuration/network">Network Configuration</a></li>
+        <li ng-class="{'active': (path == '/configuration/date-time')}"><a href="#/configuration/date-time">Date & Time</a></li>
+        <li ng-class="{'active': (path == '/configuration/security')}"><a href="#/configuration/security">Security</a></li>
+        <li ng-class="{'active': (path == '/configuration/file')}"><a href="#/configuration/file">Configuration File</a></li>
     </ul>
     <ul class="nav__second-level btn-firmware" ng-style="navStyle"  ng-class="{opened: firstLevel == 'firmware'}">
-        <li><a href="">BMC Firmawre</a></li>
-        <li><a href="">Server Firmware</a></li>
+        <li ng-class="{'active': (path == '/firmware' || path == '/firmware/bmc')}"><a href="#/firmware/bmc">BMC Firmawre</a></li>
+        <li ng-class="{'active': (path == '/firmware/server')}"><a href="#/firmware/server">Server Firmware</a></li>
     </ul>
     <ul class="nav__second-level btn-users" ng-style="navStyle"  ng-class="{opened: firstLevel == 'users'}">
-        <li><a href="">Manage User Account</a></li>
+        <li ng-class="{'active': (path == '/users' || path == '/users/manage-accounts')}"><a href="#/users/manage-accounts">Manage User Account</a></li>
     </ul>
 </nav>
diff --git a/app/common/directives/app-navigation.js b/app/common/directives/app-navigation.js
index d09588a..6939a3c 100644
--- a/app/common/directives/app-navigation.js
+++ b/app/common/directives/app-navigation.js
@@ -11,11 +11,20 @@
                     'path': '=',
                     'showNavigation': '='
                 },
-                'controller': ['$scope', 'dataService', function($scope, dataService){
+                'controller': ['$scope', '$location', 'dataService', function($scope, $location, dataService){
+                    $scope.change = function(firstLevel){
+                        $scope.firstLevel = firstLevel;
+                        $location.path('/'+firstLevel);
+                    }
                     $scope.$watch('showNavigation', function(){
                         var paddingTop = 0;
-                        $scope.firstLevel = 'overview';
-                        $scope.secondLevel = 'system_overview';
+                        var urlRoot = $location.path().split("/")[1];
+                        if(urlRoot != ""){
+                            $scope.firstLevel = urlRoot;
+                        }else{
+                            $scope.firstLevel = 'overview';
+                        }
+
                         if($scope.showNavigation){
                             paddingTop = document.getElementById('header__wrapper').offsetHeight;
                         }
diff --git a/app/common/directives/dirPagination.tpl.html b/app/common/directives/dirPagination.tpl.html
new file mode 100644
index 0000000..d3c0e41
--- /dev/null
+++ b/app/common/directives/dirPagination.tpl.html
@@ -0,0 +1,18 @@
+<ul class="pagination" ng-if="1 < pages.length || !autoHide">
+    <li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == 1 }">
+        <a href="" ng-click="setCurrent(1)">First</a>
+    </li>
+    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == 1 }">
+        <a href="" ng-click="setCurrent(pagination.current - 1)">Previous</a>
+    </li>
+    <li ng-repeat="pageNumber in pages track by tracker(pageNumber, $index)" ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == '...' }">
+        <a href="" ng-click="setCurrent(pageNumber)">{{ pageNumber }}</a>
+    </li>
+
+    <li ng-if="directionLinks" ng-class="{ disabled : pagination.current == pagination.last }">
+        <a href="" ng-click="setCurrent(pagination.current + 1)">Next</a>
+    </li>
+    <li ng-if="boundaryLinks"  ng-class="{ disabled : pagination.current == pagination.last }">
+        <a href="" ng-click="setCurrent(pagination.last)">Last</a>
+    </li>
+</ul>
\ No newline at end of file
diff --git a/app/common/directives/toggle-flag.js b/app/common/directives/toggle-flag.js
new file mode 100644
index 0000000..aca09ca
--- /dev/null
+++ b/app/common/directives/toggle-flag.js
@@ -0,0 +1,31 @@
+window.angular && (function (angular) {
+    'use strict';
+
+    angular
+        .module('app.common.directives')
+        .directive('toggleFlag', function ($document) {
+            return {
+                restrict: 'A',
+                link: function (scope, element, attrs) {
+        
+                    function elementClick(e) {
+                        e.stopPropagation();
+                    }
+        
+                    function documentClick(e) {
+                        scope[attrs.toggleFlag] = false;
+                        scope.$apply();
+                    }
+        
+                    element.on('click', elementClick);
+                    $document.on('click', documentClick);
+        
+                    // remove event handlers when directive is destroyed
+                    scope.$on('$destroy', function () {
+                        element.off('click', elementClick);
+                        $document.off('click', documentClick);
+                    });
+                }
+            };
+        });
+})(window.angular);
\ No newline at end of file
diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 65ae86b..0a96f62 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -19,6 +19,8 @@
               CHASSIS_POWER_STATE: Constants.CHASSIS_POWER_STATE,
               HOST_STATE_TEXT: Constants.HOST_STATE,
               HOST_STATE: Constants.HOST_STATE,
+              LED_STATE: Constants.LED_STATE,
+              LED_STATE_TEXT: Constants.LED_STATE_TEXT,
               getChassisState: function(callback){
                 $http({
                   method: 'GET',
@@ -53,6 +55,23 @@
                   console.log(error);
                 });
               },
+              getLEDState: function(callback){
+                $http({
+                  method: 'GET',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/led/groups/enclosure_identify",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      callback(content.data.Asserted);
+                }).error(function(error){
+                  console.log(error);
+                });
+              },
               login: function(username, password, callback){
                 $http({
                   method: 'POST',
@@ -69,7 +88,11 @@
                   }
                 }).error(function(error){
                   if(callback){
-                      callback(null, true);
+                      if(error && error.status && error.status == 'error'){
+                        callback(error);
+                      }else{
+                        callback(error, true);
+                      }
                   }
                   console.log(error);
                 });
@@ -143,6 +166,30 @@
                   }
                 });
               },
+              setLEDState: function(state, callback){
+                $http({
+                  method: 'PUT',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/led/groups/enclosure_identify/attr/Asserted",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true,
+                  data: JSON.stringify({"data": state})
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      if(callback){
+                          return callback(content.status);
+                      }
+                }).error(function(error){
+                  if(callback){
+                      callback(error);
+                  }else{
+                      console.log(error);
+                  }
+                });
+              },
               bmcReboot: function(callback){
                 $http({
                   method: 'PUT',
@@ -262,6 +309,57 @@
                       console.log(error);
                   }
                 });
+              },
+              getLogs: function(callback){
+                $http({
+                  method: 'GET',
+                  url: SERVICE.API_CREDENTIALS.host + "/xyz/openbmc_project/logging/enumerate",
+                  headers: {
+                      'Accept': 'application/json',
+                      'Content-Type': 'application/json'
+                  },
+                  withCredentials: true
+                }).success(function(response){
+                      var json = JSON.stringify(response);
+                      var content = JSON.parse(json);
+                      var dataClone = JSON.parse(JSON.stringify(content.data));
+                      var data = [];
+                      var severityCode = '';
+                      var priority = '';
+                      var resolved = false;
+                      var relatedItems = [];
+
+                      for(var key in content.data){
+                        if(content.data.hasOwnProperty(key) && content.data[key].hasOwnProperty('Id')){
+                          var severityFlags = {low: false, medium: false, high: false};
+                          severityCode = content.data[key].Severity.split(".").pop();
+                          priority = Constants.SEVERITY_TO_PRIORITY_MAP[severityCode];
+                          severityFlags[priority.toLowerCase()] = true;
+                          relatedItems = [];
+                          content.data[key].associations.forEach(function(item){
+                            relatedItems.push(item[2]); //@TODO: better way to find the third item?
+                          });
+
+                          data.push(Object.assign({
+                            path: key,
+                            copied: false,
+                            priority: priority,
+                            severity_code: severityCode,
+                            severity_flags: severityFlags,
+                            additional_data: content.data[key].AdditionalData.join("\n"),
+                            selected: false,
+                            search_text: (severityCode + " " + content.data[key].Severity + " " + content.data[key].AdditionalData.join(" ")).toLowerCase(),
+                            meta: false,
+                            confirm: false,
+                            related_items: relatedItems,
+                            data: {key: key, value: content.data[key]}
+                          }, content.data[key]));
+                        }
+                      }
+                      callback(data, dataClone);
+                }).error(function(error){
+                  console.log(error);
+                });
               }
           };
           return SERVICE;
diff --git a/app/common/services/apiInterceptor.js b/app/common/services/apiInterceptor.js
index 0c75caa..bd4743a 100644
--- a/app/common/services/apiInterceptor.js
+++ b/app/common/services/apiInterceptor.js
@@ -16,16 +16,23 @@
         .service('apiInterceptor', ['$q', '$rootScope', 'dataService', function($q, $rootScope, dataService){
             return {
                 'request': function(config){
-                    dataService.server_unreachable = false;
                     dataService.loading = true;
+                    config.timeout = 10000;
                     return config;
                 },
                 'response': function(response){
                     dataService.loading = false;
-                    dataService.last_updated = new Date();
 
+                    //not interested in template requests
+                    if(!/^https?\:/i.test(response.config.url)){
+                        return response;
+                    }
+
+                    dataService.last_updated = new Date();
                     if(response == null){
                         dataService.server_unreachable = true;
+                    }else{
+                        dataService.server_unreachable = false;
                     }
 
                     if(response && response.status == 'error' &&
diff --git a/app/common/services/constants.js b/app/common/services/constants.js
index b98d5d6..86ba54e 100644
--- a/app/common/services/constants.js
+++ b/app/common/services/constants.js
@@ -20,7 +20,7 @@
                     password: "testpass",
                 },
                 API_CREDENTIALS: {
-                    host: 'https://9.3.164.147'
+                    host: 'https://9.41.165.233/'
                 },
                 API_RESPONSE: {
                     ERROR_STATUS: 'error',
@@ -43,8 +43,24 @@
                     off: -1,
                     booting: 0,
                     unreachable: -2
+                },
+                LED_STATE: {
+                    on: true,
+                    off: false
+                },
+                LED_STATE_TEXT: {
+                    on: 'on',
+                    off: 'off'
+                },
+                SEVERITY_TO_PRIORITY_MAP:{
+                    Informational: 'Low',
+                    Error: 'High',
+                    Warning: 'Medium'
+                },
+                PAGINATION: {
+                    LOG_ITEMS_PER_PAGE: 4
                 }
             };
         });
 
-})(window.angular);
\ No newline at end of file
+})(window.angular);
diff --git a/app/common/services/dataService.js b/app/common/services/dataService.js
index 704df75..2affcc4 100644
--- a/app/common/services/dataService.js
+++ b/app/common/services/dataService.js
@@ -19,7 +19,8 @@
             this.server_state = 'Unreachable';
             this.server_status = -2;
             this.chassis_state = 'On';
-            this.server_id = "Server 9.3.164.147";
+            this.LED_state = Constants.LED_STATE_TEXT.off;
+            this.server_id = Constants.API_CREDENTIALS.host.replace(/[^\d]+/m,"");
             this.last_updated = new Date();
 
             this.loading = false;
diff --git a/app/common/services/userModel.js b/app/common/services/userModel.js
index dba607d..747b288 100644
--- a/app/common/services/userModel.js
+++ b/app/common/services/userModel.js
@@ -41,6 +41,8 @@
                            response.status == APIUtils.API_RESPONSE.SUCCESS_STATUS){
                             sessionStorage.removeItem('LOGIN_ID');
                             callback(true);
+                        }else if(response.status == APIUtils.API_RESPONSE.ERROR_STATUS){
+                            callback(false);
                         }else{
                             callback(false, error);
                         }
diff --git a/app/common/styles/base/core.scss b/app/common/styles/base/core.scss
index 18f78aa..13ba9e6 100644
--- a/app/common/styles/base/core.scss
+++ b/app/common/styles/base/core.scss
@@ -17,7 +17,6 @@
   }
   &:hover {
     color: $links__hover;
-    text-decoration: underline;
   }
   :focus {
     color: $links;
diff --git a/app/common/styles/base/mixins.scss b/app/common/styles/base/mixins.scss
index 3313a88..acc8fd4 100644
--- a/app/common/styles/base/mixins.scss
+++ b/app/common/styles/base/mixins.scss
@@ -57,18 +57,18 @@
   background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #b8c1c1'></polygon></svg>");
 }
 
-//Offset allows to subtract a custom padding/margin offset
+
 @mixin calcColumn-4 ($offset: 0) {
   min-width: calc(100% * (1/4) - #{$offset});
 }
 
 
-@mixin calcColumn-3 ($offset: 0){
-  min-width: calc(100% * (1/3) - #{$offset});
+@mixin calcColumn-3 {
+  min-width: calc(100% * (1/3) - 5px);
 }
 
-@mixin calcSplitColumn ($offset: 0) {
-  min-width: calc(100% * (1/2) - #{$offset});
+@mixin calcSplitColumn {
+  min-width: calc(100% * (1/2) - 5px);
 }
 
 
diff --git a/app/common/styles/directives/app-navigation.scss b/app/common/styles/directives/app-navigation.scss
index 29932e4..99fef2b 100644
--- a/app/common/styles/directives/app-navigation.scss
+++ b/app/common/styles/directives/app-navigation.scss
@@ -1,4 +1,4 @@
-$nav__toplvlWidth: 120px;
+$nav__toplvlWidth: 125px;
 $nav__seclvlWidth: 240px;
 
 // Top level navigation
diff --git a/app/common/styles/elements/accordion.scss b/app/common/styles/elements/accordion.scss
index 9cf310f..c3d9e0f 100644
--- a/app/common/styles/elements/accordion.scss
+++ b/app/common/styles/elements/accordion.scss
@@ -7,18 +7,16 @@
   background: $darkpurple;
   color: $white;
   margin-left: 0;
-
   .event__actions {
     margin-top: 1em;
     margin-right: 10px;
     @include mediaQuery(medium) {
-      margin-top: 0;
+      margin-top: -6px;
     }
     @include mediaQuery(large) {
       margin-right: -20px;
     }
   }
-
 }
 
 .accord-trigger {
diff --git a/app/common/styles/elements/content-search.scss b/app/common/styles/elements/content-search.scss
index fe67af2..3bb3ffa 100644
--- a/app/common/styles/elements/content-search.scss
+++ b/app/common/styles/elements/content-search.scss
@@ -9,7 +9,6 @@
   position: relative;
   margin-right: 1em;
   margin-top: .5em;
-  margin-bottom: 1em;
   #content__search-input {
     margin: 0;
     border: 1px solid $lightgrey;
diff --git a/app/common/styles/elements/index.scss b/app/common/styles/elements/index.scss
index d0208ac..d35b79a 100644
--- a/app/common/styles/elements/index.scss
+++ b/app/common/styles/elements/index.scss
@@ -2,10 +2,11 @@
 @import "toggle-switch";
 @import "toggle-filter";
 @import "status";
+@import "tags";
 @import "alerts";
 @import "inline-confirm";
 @import "accordion";
 @import "content-search";
 @import "paginate";
-@import "export";
-@import "thresholds";
\ No newline at end of file
+@import "thresholds";
+@import "export";
\ No newline at end of file
diff --git a/app/common/styles/elements/paginate.scss b/app/common/styles/elements/paginate.scss
index 2df88cc..461b854 100644
--- a/app/common/styles/elements/paginate.scss
+++ b/app/common/styles/elements/paginate.scss
@@ -11,6 +11,7 @@
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
+  padding: 0 10px;
 }
 
 .pagination li { background-color: transparent; list-style-type: none; }
@@ -65,15 +66,15 @@
 }
 
 .pagination li:first-child a::before,
-.pagination li:last-child a::after { content: "\027A0"; }
+
 
 .pagination li:nth-of-type(2) a::before,
-.pagination li:nth-last-of-type(2) a::after { content: "\0279E"; }
+
 
 .pagination li:first-child a::before,
 .pagination li:nth-of-type(2) a::before { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
 
-.pagination li.current a {
+.pagination li.current a, .pagination li.active a {
   padding-top:.25em;
   color: $white;
   background-color: $lightbg__primary;
diff --git a/app/common/styles/elements/thresholds.scss b/app/common/styles/elements/thresholds.scss
index e8192b3..06e872f 100644
--- a/app/common/styles/elements/thresholds.scss
+++ b/app/common/styles/elements/thresholds.scss
@@ -3,10 +3,9 @@
 $threshColorLighten: 5%;
 .threshold-chart__wrapper {
   position: relative;
-  padding-bottom: 2em;
   .threshold__label {
     position: absolute;
-    top: 25%;
+    top: 38%;
     transform: translateY(-50%);
     font-weight: 700;
     &.low {
@@ -24,7 +23,7 @@
 .threshold-chart {
   position: relative;
   line-height: 0;
-  padding: .8em 0 2em 3px;
+  padding: .8em 0 2em 0;
   margin: 0 2.5em;
  //margin: 0 auto;
   .threshold__marker {
@@ -46,12 +45,7 @@
       white-space: nowrap;
     }
   }
-  .threshold__marker {
-    &.thresh__low-critical .threshold__value {
-      left: 0;
-      @include slowTransition-all;
-    }
-  }
+
   .threshold {
     display: inline-block;
     background-color: $thresh-normal;
diff --git a/app/common/styles/layout/content.scss b/app/common/styles/layout/content.scss
index 18c34b9..e36fa66 100644
--- a/app/common/styles/layout/content.scss
+++ b/app/common/styles/layout/content.scss
@@ -11,6 +11,6 @@
 }
 
 section.row {
-  //padding-left: 0;
-  //padding-right: 0;
+  padding-left: 0;
+  padding-right: 0;
 }
\ No newline at end of file
