Update overview page to use new UI patterns

- Use page, section, list-pair to establish
  consistent layout
- Update header and overview page to use new
  caret icon
- Reordered Server and BMC information to
  accomodate small screen views
- Added chevron icons to create consistency
  between header and server overview page
  quick links
- Changed edit hostname text to use the
  standard icon
- Added OR operator to short circuit the server
  model, server serial number, and server manufacturer
  to display N/A if the information is not available

Change-Id: I6619f5369ff290555142e85aa432e901c4f93d2d
Signed-off-by: Derick Montague <derick.montague@ibm.com>
diff --git a/app/common/styles/layout/content.scss b/app/common/styles/layout/content.scss
index 8c8b916..f5d2757 100644
--- a/app/common/styles/layout/content.scss
+++ b/app/common/styles/layout/content.scss
@@ -38,12 +38,12 @@
   @include label;
 }
 
-// TODO: Remove and replace with page and page-title pattern
+// TODO: Remove and replace with section and section-title pattern
 // Page header
 .page-header {
   width: 100%;
   position: relative;
-  border-bottom: 1px solid $border-color-02;
+  border-bottom: 1px solid $border-color-01;
   margin: 0.5em 0 2.2em;
   padding-left: 0;
 }
diff --git a/app/common/styles/layout/header.scss b/app/common/styles/layout/header.scss
index 3e0f0da..084fe71 100644
--- a/app/common/styles/layout/header.scss
+++ b/app/common/styles/layout/header.scss
@@ -136,43 +136,26 @@
     }
   }
 
-  .header__server-power,
-  .header__page-refresh,
-  .header__server-health,
-  .header__info,
-  .header__multi-server {
-    background: $background-02;
-    @include round-corners;
-    margin: 0 0.3em;
-    height: 100%;
-    border: 1px solid $border-color-01;
-    opacity: 1;
+  .header__action {
     @include fastTransition-all;
+    @include round-corners;
+    height: 100%;
+    background: $background-02;
+    border: 1px solid $border-color-01;
+    margin: 0 0.3em;
+    opacity: 1;
+
+    .icon svg {
+      width: 1rem;
+    }
+
     &:hover {
       background: $background-01;
     }
   }
 
-  .header__multi-server {
-    padding: 0.5em;
-    padding-top: 0.8em;
-    float: left;
-    margin-top: 10px;
-    margin-right: -10px;
-    .icon-angle::before {
-      margin-left: 0;
-      transform: rotate(90deg);
-      @include fastTransition-all;
-    }
-    &.active {
-      .icon-angle::before {
-        transform: rotate(266deg);
-        @include fastTransition-all;
-      }
-    }
-  }
   .header__functions {
-    .header__info {
+    .header__action--info {
       padding: 0.3em;
       min-width: 40px;
       text-align: center;
@@ -183,25 +166,24 @@
         font-weight: 400;
         color: $text-02;
       }
-      .icon-angle {
-        margin: 0.2em 0 0 0;
-      }
-      .icon-angle::before {
-        font-size: 1.625em;
-        font-weight: 400;
-        margin-left: 0;
-        display: block;
-        transform: rotate(180deg);
+
+      .icon {
         @include fastTransition-all;
+        margin: 0.2em 0 0 0;
+
+        svg {
+          width: 2.6rem;
+          height: auto;
+        }
       }
+
       @media (min-width: 1025px) {
         display: none;
       }
     }
 
-    &.active > .header__info > .icon-angle::before {
-      transform: rotate(-360deg);
-      @include fastTransition-all;
+    &.active > .header__action--info > .icon {
+      transform: rotate(-180deg);
     }
 
     .header__refresh {
@@ -213,7 +195,7 @@
       }
     }
   }
-  .header__page-refresh {
+  .header__action--refresh {
     padding-top: 1em;
     span {
       font-size: 0.875em;
@@ -226,11 +208,12 @@
       display: block;
       margin-left: auto;
       margin-right: auto;
-    }
-    svg {
-      width: 25px;
-      height: auto;
-      fill: $primary-accent;
+
+      svg {
+        width: 1.6rem;
+        height: auto;
+        fill: $primary-accent;
+      }
     }
   }
 }
diff --git a/app/common/styles/layout/list.scss b/app/common/styles/layout/list.scss
index 9be7522..ac1e3a4 100644
--- a/app/common/styles/layout/list.scss
+++ b/app/common/styles/layout/list.scss
@@ -8,6 +8,8 @@
  */
 
 .list-pair {
+  margin-bottom: 0;
+
   dt {
     @include label;
   }
@@ -15,4 +17,8 @@
     @include fontCourierBold;
     margin-bottom: 0;
   }
+
+  + .list-pair {
+    margin-top: 1.5rem;
+  }
 }
diff --git a/app/common/styles/layout/section.scss b/app/common/styles/layout/section.scss
index e92b096..aeb7ff2 100644
--- a/app/common/styles/layout/section.scss
+++ b/app/common/styles/layout/section.scss
@@ -1,28 +1,41 @@
 /**
  * Used for section layout. This should be used for the page container
  * Mark up
- <div class="section">
-   <h2 class="section-title">Section Title</h2>
+ <section class="section">
+   <div class="section-header">
+    <h2 class="section-title">Section Title</h2>
+    ... any element added here will be right aligned
+   </div>
    <div class="section-content">
      ...
     </div>
     <div class="section-content">
      ...
     </div>
- </div>
+ </section>
  */
 
 .section {
   margin-bottom: 3rem;
 }
 
-.section-title {
+.section-header {
+  display: flex;
+  justify-content: space-between;
   border-bottom: 1px solid $border-color-01;
   padding-bottom: 0.5rem;
   margin-bottom: 1.5rem;
 }
 
+.section-title {
+  margin-bottom: 0;
+}
+
 .section-content {
-  margin-bottom: 1.5rem;
   margin-top: 0;
+  margin-bottom: 0;
+
+  + .section-content {
+    margin-top: 1.5rem;
+  }
 }