Add PatternFly files
authorPetr Vobornik <pvoborni@redhat.com>
Mon, 27 Jan 2014 17:15:31 +0000 (18:15 +0100)
committerSimo Sorce <simo@redhat.com>
Mon, 17 Feb 2014 14:46:38 +0000 (09:46 -0500)
Signed-off-by: Petr Vobornik <pvoborni@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
less/patternfly/alerts.less [new file with mode: 0644]
less/patternfly/buttons.less [new file with mode: 0644]
less/patternfly/dropdowns.less [new file with mode: 0755]
less/patternfly/forms.less [new file with mode: 0644]
less/patternfly/login.less [new file with mode: 0755]
less/patternfly/mixins.less [new file with mode: 0644]
less/patternfly/navbar.less [new file with mode: 0644]
less/patternfly/variables.less [new file with mode: 0755]

diff --git a/less/patternfly/alerts.less b/less/patternfly/alerts.less
new file mode 100644 (file)
index 0000000..3569336
--- /dev/null
@@ -0,0 +1,29 @@
+//
+// Alerts
+// --------------------------------------------------
+
+.alert {
+  border-width: 2px;
+  padding-left: 34px;
+  position: relative;
+  .alert-link {
+    color: @link-color;
+    &:hover {
+      color: @link-hover-color;
+    }
+  }
+  > .pficon, > .pficon-layered {
+    font-size: 20px;
+    position: absolute;
+    left: 7px;
+    top: 7px;
+  }
+  .pficon-info {
+    color: #72767b;
+  }
+}
+
+.alert-dismissable .close {
+  right: -16px;
+  top: 2px;
+}
\ No newline at end of file
diff --git a/less/patternfly/buttons.less b/less/patternfly/buttons.less
new file mode 100644 (file)
index 0000000..c5468df
--- /dev/null
@@ -0,0 +1,48 @@
+//
+// Buttons
+// --------------------------------------------------
+
+.btn {
+  .box-shadow(0 2px 3px rgba(0,0,0,.1));
+  &:active {
+    .box-shadow(inset 0 2px 8px rgba(0,0,0,.2));
+  }
+  &.disabled,
+  &[disabled],
+  fieldset[disabled] & {
+    background-color: #f8f8f8 !important;
+    background-image: none !important;
+    border-color: #d1d1d1 !important;
+    color: #969696 !important;
+    opacity: 1;
+    &:active {
+      .box-shadow(none);
+    }
+    &.btn-link {
+      background-color: transparent !important;
+      border: 0;
+    }
+  }
+}
+
+.btn-danger {
+  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-bg-img-start; @btn-danger-bg-img-stop; @btn-danger-border);
+}
+
+.btn-default {
+  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-bg-img-start; @btn-default-bg-img-stop; @btn-default-border);
+}
+
+.btn-link {
+  &, &:active {
+    .box-shadow(none);
+  }
+}
+
+.btn-primary {
+  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-bg-img-start; @btn-primary-bg-img-stop; @btn-primary-border);
+}
+
+.btn-xs, .btn-group-xs .btn {
+  font-weight: @btn-xs-font-weight;
+}
\ No newline at end of file
diff --git a/less/patternfly/dropdowns.less b/less/patternfly/dropdowns.less
new file mode 100755 (executable)
index 0000000..02147e8
--- /dev/null
@@ -0,0 +1,146 @@
+//
+// Dropdowns
+// --------------------------------------------------
+
+
+// Dropdown arrow/caret
+// Modified to use Font Awesome's angle-down icon
+.caret {
+  font-family: @icon-font-name-fa;
+  font-weight: normal;
+  height: @font-size-base - 3;
+  position: relative;
+  vertical-align: baseline;
+  width: @font-size-base;
+  &:before {
+    bottom: 0;
+    content: @fa-var-angle-down;
+    left: 0;
+    line-height: @font-size-base;
+    position: absolute;
+    text-align: center;
+    top: -1px;
+    right: 0;
+  }
+}
+
+// The dropdown menu (ul)
+.dropdown-menu {
+  // Dividers (basically an hr) within the dropdown
+  .divider {
+    .nav-divider(@dropdown-divider-bg, @dropdown-divider-margin);
+  }
+  // Links within the dropdown menu
+  > li > a {
+    border-color: transparent;
+    border-style: solid;
+    border-width: 1px 0;
+    padding: 1px 10px;
+  }
+}
+
+// Hover/Focus state
+.dropdown-menu > li > a {
+  &:hover {
+    border-color: #b3d3e7;
+    .reset-filter();
+  }
+  &:focus,
+  &:active {
+    background-color: @dropdown-link-focus-bg;
+    border-color: #0076b7;
+    color: @dropdown-link-focus-color !important;
+    .reset-filter();
+  }
+}
+
+// Active state
+.dropdown-menu > .active > a {
+  &,
+  &:hover,
+  &:focus {
+    background-color: @dropdown-link-active-bg !important;
+    border-color: #0076b7 !important;
+    .reset-filter();
+  }
+}
+
+// Disabled state
+.dropdown-menu > .disabled > a {
+  &,
+  &:hover,
+  &:focus {
+    border-color: transparent;
+  }
+}
+// Nuke hover/focus effects
+.dropdown-menu > .disabled > a {
+  &:hover,
+  &:focus {
+    border-color: transparent;
+  }
+}
+
+// Dropdown section headers
+.dropdown-header {
+  padding-left: 10px;
+  padding-right: 10px;
+  text-transform: uppercase;
+}
+
+// Position Menu closer to button
+.btn-group, .input-group-btn {
+  > .dropdown-menu {
+    margin-top: -1px;
+  }
+}
+
+// Position Menu closer to button (dropup-menu)
+.dropup .dropdown-menu {
+  margin-bottom: -1px;
+}
+
+// Add back styles for dropdown-submenu
+.dropdown-submenu {
+  position:relative;
+  &:hover {
+    > a {
+      background-color: @dropdown-link-hover-bg;
+      border-color: #b3d3e7;
+    }
+    > .dropdown-menu {
+      display: block;
+    }
+  }
+  &.pull-left {
+    float: none !important;
+    > .dropdown-menu {
+      left: auto;
+      margin-left: 10px;
+      right: 100%;
+    }
+  }
+  > a {
+    padding-right: 20px !important;
+    &:after {
+      content: @fa-var-angle-right;
+      font-family: @icon-font-name-fa;
+      display: block;
+      position: absolute;
+      right: 10px;
+      top: 2px;
+    }
+  }
+  > .dropdown-menu {
+    left: 100%;
+    margin-top: 0;
+    top: -6px;
+  }
+  .dropup & > .dropdown-menu {
+    bottom: -5px;
+    top: auto;
+  }
+  .open &.active > .dropdown-menu {
+    display: block;
+  }
+}
diff --git a/less/patternfly/forms.less b/less/patternfly/forms.less
new file mode 100644 (file)
index 0000000..f23fa65
--- /dev/null
@@ -0,0 +1,22 @@
+//
+// Forms
+// --------------------------------------------------
+
+.form-control {
+  &[disabled], &[readonly], fieldset[disabled] & {
+    border-color: @input-border-disabled !important;
+    .box-shadow(none);
+    color: #969696;
+  }
+  &:hover {
+    border-color: #7BB2DD;
+  }
+}
+
+.input-group .input-group-btn .btn {
+  .box-shadow(none);
+}
+
+label {
+  font-weight: 600;
+}
\ No newline at end of file
diff --git a/less/patternfly/login.less b/less/patternfly/login.less
new file mode 100755 (executable)
index 0000000..39c2621
--- /dev/null
@@ -0,0 +1,117 @@
+//
+// Login
+// --------------------------------------------------
+
+.login-pf {
+  height: 100%;
+  #brand {
+    position: relative;
+    top: -70px;
+    img {
+      display: block;
+      height: 18px;
+      margin: 0 auto;
+      max-width: 100%;
+      @media (min-width: @screen-sm-min) {
+        margin: 0;
+        text-align: left;
+      }
+    }
+  }
+  #badge {
+    display: block;
+    margin: 20px auto 70px;
+    position: relative;
+    text-align: center;
+    @media (min-width: @screen-sm-min) { 
+      float: right;
+      margin-right: 64px;
+      margin-top: 50px;
+    }
+  }
+  body {
+    background: @login-bg-color url("@{img-path}/@{img-bg-login}") repeat-x 50% 0;
+    background-size: auto;
+    color: #fff;
+    @media (min-width: @screen-sm-min) {
+      background-size: 100% auto;
+    }
+  }
+  .container {
+    background-color: @login-container-bg-color;
+    background-color: @login-container-bg-color-rgba;
+    clear: right;
+    padding-bottom: 40px;
+    padding-top: 20px;
+    width: auto;
+    @media (min-width: @screen-sm-min) { 
+      bottom: 13%;
+      padding-left: 80px;
+      position: absolute;
+      width: 100%;
+    }
+    .details {
+      p:first-child {
+        border-top: 1px solid #474747;
+        padding-top: 25px;
+        margin-top: 25px;
+      }
+      @media (min-width: @screen-sm-min) {
+        p:first-child {
+          border-top: 0;
+          padding-top: 0;
+          margin-top: 0;
+        }
+        border-left: 1px solid #474747;
+        padding-left: 40px;
+      }
+      p {
+        margin-bottom: 2px;
+      }
+    }
+    .form-horizontal {
+      .control-label {
+        font-size: @font-size-base + 1;
+        font-weight: 400;
+        text-align: left;
+      }
+      .form-group:last-child {
+        &, .help-block:last-child {
+          margin-bottom: 0;
+        }
+      }
+    }
+    .help-block {
+      color: #fff;
+    }
+    .login {
+      @media (min-width: @screen-sm-min) {
+        padding-right: 40px;
+      }
+    }
+    .submit {
+      text-align: right;
+    }
+  }
+}
+
+.ie8.login-pf {
+  #badge {
+    background: url('@{img-path}/@{img-badge-ie8}') no-repeat;
+    height: @img-badge-ie8-height;
+    width: @img-badge-ie8-width;
+    img {
+      width: 0;
+    }
+  }
+  #brand {
+    background: url('@{img-path-alt}/@{img-brand-lg-ie8}') no-repeat center;
+    background-size: cover auto;
+    @media (min-width: @screen-sm-min) {
+      background-position: 0 0;
+    }
+    img {
+      width: 0;
+    }
+  }
+}
diff --git a/less/patternfly/mixins.less b/less/patternfly/mixins.less
new file mode 100644 (file)
index 0000000..a8a4670
--- /dev/null
@@ -0,0 +1,73 @@
+//
+// Mixins
+// --------------------------------------------------
+// Bootstrap overrides and PatternFly-specific mixins
+
+/* Bootstrap overrides */
+
+// Button variants
+.button-variant(@color; @background; @background-image-start; @background-image-stop; @border) {
+  background-color: @background;
+  #gradient .vertical(@background-image-start, @background-image-stop);
+  border-color: @border;
+  color: @color;
+
+  &:hover,
+  &:focus,
+  &:active,
+  &.active,
+  .open .dropdown-toggle& {
+    background-color: @background;
+    background-image: none;
+    border-color: @border;
+    color: @color;
+  }
+  &:active,
+  &.active,
+  .open .dropdown-toggle& {
+    background-image: none;
+  }
+  &.disabled,
+  &[disabled],
+  fieldset[disabled] & {
+    &,
+    &:hover,
+    &:focus,
+    &:active,
+    &.active {
+      background-color: @background;
+      border-color: @border
+    }
+  }
+}
+
+// Horizontal dividers
+.nav-divider(@color: #e5e5e5, @margin: 4px 1px) {
+  background-color: @color;
+  height: 1px;
+  margin: @margin;
+  overflow: hidden;
+}
+
+// Placeholder text
+.placeholder(@color: @input-color-placeholder) {
+  &:-moz-placeholder            { color: @color; font-style: italic; } // Firefox 4-18
+  &::-moz-placeholder           { color: @color; font-style: italic;} // Firefox 19+
+  &:-ms-input-placeholder       { color: @color; font-style: italic; } // Internet Explorer 10+
+  &::-webkit-input-placeholder  { color: @color; font-style: italic; } // Safari and Chrome
+}
+
+/* PatternFly-specific */
+
+.tab-indicator(@background: @gray-light-pf, @left: 15px, @right: 15px) {
+  &:before {
+    background: @background;
+    bottom: -1px;
+    content: '';
+    display: block;
+    height: 2px;
+    left: @left;
+    position: absolute;
+    right: @right;
+  }
+}
\ No newline at end of file
diff --git a/less/patternfly/navbar.less b/less/patternfly/navbar.less
new file mode 100644 (file)
index 0000000..71539b0
--- /dev/null
@@ -0,0 +1,431 @@
+//
+// Navbar
+// --------------------------------------------------
+
+.navbar-pf {
+  background: @navbar-pf-bg-color;
+  border: 0;
+  border-radius: 0;
+  border-top: 3px solid @navbar-pf-border-color;
+  margin-bottom: 0;
+  min-height: 0;
+  .navbar-brand {
+    color: @navbar-pf-active-color;
+    padding: 12px 0;
+    margin: 0 0 0 20px;
+    .ie8 & {
+      background: url('@{img-path}/@{img-brand-ie8}') no-repeat 0 49%;
+      min-width: @navbar-pf-navbar-navbar-brand-min-width;
+    }
+    img {
+      display: block;
+      .ie8 & {
+        height: 10px;
+        width: 0;
+      }
+    }
+  }
+  .navbar-collapse {
+    border-top: 0;
+    .box-shadow(none);
+    padding: 0;
+  }
+  .navbar-header {
+    border-bottom: 1px solid @navbar-pf-navbar-header-border-color;
+    float: none;
+  }
+  .navbar-nav {
+    margin: 0;
+    > .active > a, > .active > a:hover, > .active > a:focus {
+      background-color: @navbar-pf-navbar-nav-active-bg-color;
+      color: @navbar-pf-active-color;
+    }
+    > li > a {
+      color: @navbar-pf-color;
+      line-height: 1;
+      padding: 10px 20px;
+      text-shadow: none;
+      &:hover, &:focus {
+        color: @navbar-pf-active-color;
+      }
+    }
+    > .open {
+      > a {
+        &, &:hover, &:focus {
+          background-color: @navbar-pf-navbar-nav-active-bg-color;
+          color: @navbar-pf-active-color;
+        }
+      }
+    }
+    @media (max-width: @grid-float-breakpoint-max) {
+      .active .navbar-persistent, .active .dropdown-menu, .open .dropdown-menu {
+        background-color: @navbar-pf-navbar-nav-active-active-bg-color !important;
+        margin-left: 0;
+        padding-bottom: 0;
+        padding-top: 0;
+        > .active > a, .dropdown-submenu.open > a {
+          &, &:hover, &:focus {
+            background-color: @navbar-pf-navbar-nav-active-active-open-bg-color !important;
+            color: @navbar-pf-active-color;
+          }
+        }
+        > li > a {
+          background-color: transparent;
+          border: 0;
+          color: @navbar-pf-color;
+          outline: none;
+          padding-left: 30px;
+          &:hover {
+            color: @navbar-pf-active-color;
+          }
+        }
+        .divider {
+          background-color: @navbar-pf-navbar-header-border-color;
+          margin: 0 1px;
+        }
+        .dropdown-header {
+          padding-bottom: 0;
+          padding-left: 30px;
+        }
+        .dropdown-submenu {
+          &.open .dropdown-toggle {
+            color: @navbar-pf-active-color;
+          }
+          &.pull-left {
+            float: none !important;
+          }
+          > a:after {
+            display: none;
+          }
+          .dropdown-header {
+            padding-left: 45px;
+          }
+          .dropdown-menu {
+            border: 0;
+            bottom: auto;
+            .box-shadow(none);
+            display: block;
+            float: none;
+            margin: 0;
+            min-width: 0;
+            padding: 0;
+            position: relative;
+            left: auto;
+            right: auto;
+            top: auto;
+            > li > a {
+              padding: 5px 15px 5px 45px;
+              line-height: 20px;
+            }
+            .dropdown-menu > li > a {
+              padding-left: 60px;
+            }
+          }
+        }
+      }
+      .active .navbar-persistent {
+        .dropdown-submenu {
+          &.open .dropdown-menu {
+            display: block;
+          }
+          > a:after {
+            display: inline-block !important;
+            position: relative;
+            right: auto;
+            top: 1px;
+          }
+          .dropdown-menu {
+            display: none;
+          }
+          .dropdown-submenu > a:after {
+            display: none !important;
+          }
+        }
+      }
+    }
+  }
+  .navbar-persistent {
+    display: none;
+  }
+  .active > .navbar-persistent {
+    display: block;
+  }
+  .navbar-primary {
+    float: none;
+    .context {
+      border-bottom: 1px solid @navbar-pf-navbar-header-border-color;
+    }
+    > li > .navbar-persistent > .dropdown-submenu > a {
+      position: relative;
+      &:after {
+        content: @fa-var-angle-down;
+        display: inline-block;
+        font-family: @icon-font-name-fa;
+        font-weight: normal;
+        @media (max-width: @grid-float-breakpoint-max) {
+          height: 10px;
+          margin-left: 4px;
+          vertical-align: baseline;
+        }
+      }
+    }
+  }
+  .navbar-toggle {
+    border: 0;
+    margin: 0;
+    padding: 10px 20px;
+    &:hover, &:focus {
+      background-color: transparent;
+      outline: none;
+      .icon-bar {
+        .box-shadow(0 0 3px rgba(255,255,255,1));
+      }
+    }
+    .icon-bar {
+      background-color: @navbar-pf-icon-bar-bg-color;
+    }
+  }
+  .navbar-utility {
+    border-bottom: 1px solid @navbar-pf-navbar-header-border-color;
+    li.dropdown > .dropdown-toggle {
+      padding-left: 36px;
+      position: relative;
+      .pficon-user {
+        left: 20px;
+        position: absolute;
+        top: 10px;
+      }
+    }
+    @media (max-width: @grid-float-breakpoint-max) {
+      > li + li {
+        border-top: 1px solid @navbar-pf-navbar-header-border-color;
+      }
+    }
+  }
+}
+
+@media (min-width: @grid-float-breakpoint) {
+  .navbar-pf {
+    .navbar-brand {
+      padding: @navbar-pf-navbar-navbar-brand-padding;
+    }
+    .navbar-nav > li > a {
+      padding-bottom: 14px;
+      padding-top: 14px;
+    }
+    .navbar-persistent {
+      font-size: @font-size-large;
+    }
+    .navbar-primary {
+      font-size: @font-size-large;
+      #gradient .vertical(@navbar-pf-navbar-primary-bg-color-start, @navbar-pf-navbar-primary-bg-color-stop);
+      &.persistent-secondary {
+        .context {
+          .dropdown-menu {
+            top: auto;
+          }
+        }
+        .dropup .dropdown-menu {
+          bottom: -5px;
+          top: auto;
+        }
+        > li {
+          position: static;
+          &.active {
+            margin-bottom: 32px;
+            > .navbar-persistent {
+              display: block;
+              left: 0;
+              position: absolute;
+            }
+          }
+          > .navbar-persistent {
+            background: @navbar-pf-navbar-navbar-persistent-bg-color;
+            border-bottom: 1px solid @navbar-pf-navbar-navbar-persistent-border-color;
+            padding: 0;
+            width: 100%;
+            a {
+              text-decoration: none !important;
+            }
+            > li {
+              &.active {
+                &, &:hover {
+                  .tab-indicator(@background: @nav-tabs-active-link-hover-color, @left: 20px, @right: 20px);
+                }
+                > a, > a:hover, &:hover > a {
+                  color: @link-color !important;
+                }
+                .active > a { 
+                  color: @navbar-pf-active-color;
+                }
+              }
+              &.dropdown-submenu {
+                &:hover > .dropdown-menu {
+                  display: none;
+                }
+                &.open {
+                  > .dropdown-menu {
+                    display: block;
+                    left: 20px;
+                    margin-top: 1px;
+                    top: 100%;
+                  }
+                  > .dropdown-toggle {
+                    color: @gray-darker;
+                    &:after {
+                      border-top-color: @gray-darker;
+                    }
+                  }
+                }
+                > .dropdown-toggle {
+                  padding-right: 35px !important;
+                  &:after {
+                    position: absolute;
+                    right: 20px;
+                    top: 10px;
+                  }
+                }
+              }
+              &:hover, &.open {
+                .tab-indicator(@left: 20px, @right: 20px);
+                > a {
+                  color: @gray-darker;
+                  &:after {
+                    border-top-color: @gray-darker;
+                  }
+                }
+              }
+              > a {
+                background-color: transparent;
+                display: block;
+                line-height: 1;
+                padding: 9px 20px;
+                &.dropdown-toggle {
+                  padding-right: 35px;
+                  &:after {
+                    font-size: @font-size-large + 1;
+                    position: absolute;
+                    right: 20px;
+                    top: 9px;
+                  }
+                }
+                &:hover {
+                  color: @gray-darker;
+                }
+              }
+              a {
+                color: @gray-pf;
+              }
+            }
+          }
+        }
+      }
+      > li > a {
+        border-bottom: 1px solid transparent;
+        border-top: 1px solid transparent;
+        position: relative;
+        margin: -1px 0 0;
+        &:hover {
+          background-color: @navbar-pf-navbar-primary-hover-bg-color-stop;
+          border-top-color: @navbar-pf-navbar-primary-hover-border-color;
+          color: @navbar-pf-color;
+          #gradient .vertical(@navbar-pf-navbar-primary-hover-bg-color-start, @navbar-pf-navbar-primary-hover-bg-color-stop);
+        }
+      }
+      > .active > a, > .active > a:hover, > .active > a:focus, > .open > a, > .open > a:hover, > .open > a:focus {
+        background-color: @navbar-pf-navbar-primary-active-bg-color-stop;
+        border-bottom-color: @navbar-pf-navbar-primary-active-bg-color-stop;
+        border-top-color: @navbar-pf-navbar-primary-active-border-color;
+        .box-shadow(none);
+        color: @navbar-pf-active-color;
+        #gradient .vertical(@navbar-pf-navbar-primary-active-bg-color-start, @navbar-pf-navbar-primary-active-bg-color-stop);
+      }
+      li.dropdown.context {
+        border-bottom: 0;
+        > a {
+          background-color: @navbar-pf-navbar-primary-context-bg-color-stop;
+          border-bottom-color: @navbar-pf-navbar-primary-context-border-color;
+          border-right: 1px solid @navbar-pf-navbar-primary-context-border-color;
+          border-top-color: @navbar-pf-navbar-primary-context-border-top-color;
+          font-weight: 600;
+          #gradient .vertical(@navbar-pf-navbar-primary-context-bg-color-start, @navbar-pf-navbar-primary-context-bg-color-stop);
+          &:hover {
+            background-color: @navbar-pf-navbar-primary-context-hover-bg-color-stop;
+            border-bottom-color: @navbar-pf-navbar-primary-context-hover-border-color;
+            border-right-color: @navbar-pf-navbar-primary-context-hover-border-color;
+            border-top-color: @navbar-pf-navbar-primary-context-hover-border-top-color;
+            #gradient .vertical(@navbar-pf-navbar-primary-context-hover-bg-color-start, @navbar-pf-navbar-primary-context-hover-bg-color-stop);
+          }
+        }
+        &.open > a {
+          background-color: @navbar-pf-navbar-primary-context-active-bg-color-stop;
+          border-bottom-color: @navbar-pf-navbar-primary-context-active-border-color;
+          border-right-color: @navbar-pf-navbar-primary-context-active-border-right-color;
+          border-top-color: @navbar-pf-navbar-primary-context-active-border-top-color;
+          #gradient .vertical(@navbar-pf-navbar-primary-context-active-bg-color-start, @navbar-pf-navbar-primary-context-active-bg-color-stop);
+        }
+      }
+    }
+    .navbar-utility {
+      border-bottom: 0;
+      position: absolute;
+      right: 0;
+      top: 0;
+      > .active > a, > .active > a:hover, > .active > a:focus, > .open > a, > .open > a:hover, > .open > a:focus {
+        background: @navbar-pf-navbar-utility-open-bg-color;
+        color: @navbar-pf-navbar-utility-color;
+      }
+      > li > a {
+        border-left: 1px solid @navbar-pf-navbar-utility-border-color;
+        color: @navbar-pf-navbar-utility-color !important;
+        padding: 7px 10px;
+        &:hover {
+          background: @navbar-pf-navbar-utility-hover-bg-color;
+          border-left-color: @navbar-pf-navbar-utility-hover-border-color;
+        }
+      }
+      > li.open > a {
+        border-left-color: @navbar-pf-navbar-utility-open-border-color;
+        color: @navbar-pf-active-color !important;
+      }
+      li.dropdown > .dropdown-toggle {
+        padding-left: 26px;
+        .pficon-user {
+          left: 10px;
+          top: 7px;
+        }
+      }
+      .open .dropdown-menu {
+        left: auto;
+        right: 0;
+        .dropdown-menu {
+          left: auto;
+          right: 100%;
+        }
+      }
+    }
+    .open {
+      .dropdown-menu {
+        border-top-width: 0 !important;
+      }
+      .dropdown-submenu > .dropdown-menu {
+        border-top-width: 1px !important;
+      }
+    }
+  }
+}
+@media (max-width: 360px) {
+  .navbar-pf {
+    .navbar-brand {
+      margin-left: 10px;
+      width: 75%;
+      img {
+        height: auto;
+        max-width: 100%;
+      }
+    }
+    .navbar-toggle {
+      padding-left: 0;
+    }
+  }
+}
\ No newline at end of file
diff --git a/less/patternfly/variables.less b/less/patternfly/variables.less
new file mode 100755 (executable)
index 0000000..433cc75
--- /dev/null
@@ -0,0 +1,179 @@
+//
+// Variables
+// --------------------------------------------------
+// Bootstrap overrides and PatternFly-specific variables
+
+/* Bootstrap overrides */
+@alert-danger-bg:                                                   @body-bg;
+@alert-danger-border:                                               @brand-danger;
+@alert-danger-text:                                                 @gray-dark;
+@alert-info-bg:                                                     @body-bg;
+@alert-info-border:                                                 #ccc;
+@alert-info-text:                                                   @gray-dark;
+@alert-link-font-weight:                                            500;
+@alert-padding:                                                     7px;
+@alert-success-bg:                                                  @body-bg;
+@alert-success-border:                                              @brand-success;
+@alert-success-text:                                                @gray-dark;
+@alert-warning-bg:                                                  @body-bg;
+@alert-warning-border:                                              @brand-warning;
+@alert-warning-text:                                                @gray-dark;
+@badge-border-radius:                                               @border-radius-base;
+@border-radius-base:                                                1px;
+@border-radius-large:                                               @border-radius-base;
+@border-radius-small:                                               @border-radius-base;
+@brand-primary:                                                     #1cace9;
+@brand-success:                                                     #5cb75c;
+@brand-info:                                                        #27799c;
+@brand-warning:                                                     #eb7720;
+@brand-danger:                                                      #c90813;
+@breadcrumb-active-color:                                           @gray-pf;
+@breadcrumb-bg:                                                     transparent;
+@breadcrumb-color:                                                  @gray-pf;
+@breadcrumb-separator:                                              @fa-var-angle-right;
+@btn-danger-bg:                                                     #ab070f;
+@btn-danger-border:                                                 #781919;
+@btn-default-bg:                                                    @gray-lighter;
+@btn-default-border:                                                #b7b7b7;
+@btn-default-color:                                                 @gray-pf;
+@btn-font-weight:                                                   600;
+@btn-primary-bg:                                                    #189AD1;
+@btn-primary-border:                                                #267DA1;
+@caret-width-base:                                                  0;
+@caret-width-large:                                                 @caret-width-base;
+@dropdown-border:                                                   #b6b6b6;
+@dropdown-divider-bg:                                               #e5e5e5;
+@dropdown-fallback-border:                                          @dropdown-border;
+@dropdown-link-active-bg:                                           @link-color;
+@dropdown-link-active-color:                                        #fff;
+@dropdown-link-hover-bg:                                            #d4edfa;
+@dropdown-link-hover-color:                                         @gray-pf;
+@font-family-base:                                                  "Open Sans", Helvetica, Arial, sans-serif;
+@font-size-base:                                                    11px;
+@font-size-large:                                                   ceil(@font-size-base * 1.1818); // ~13px
+@font-size-small:                                                   ceil(@font-size-base * .9090); // ~10px
+@icon-font-path:                                                    "../../components/bootstrap/dist/fonts/";
+@input-bg-disabled:                                                 #F8F8F8;
+@input-border:                                                      #BABABA;
+@input-color:                                                       @gray-dark;
+@input-height-base:                                                 26px;
+@line-height-base:                                                  1.81818181; // 20/11
+@link-color:                                                        #0099d3;
+@list-group-border:                                                 @input-border;
+@list-group-hover-bg:                                               #d4edfa;
+@link-hover-color:                                                  #00618a;
+@nav-tabs-active-link-hover-color:                                  @link-color;
+@nav-tabs-border-color:                                             #e9e8e8;
+@nav-tabs-justified-link-border-color:                              @nav-tabs-border-color;
+@nav-tabs-link-hover-border-color:                                  transparent;
+@padding-base-horizontal:                                           6px;
+@padding-base-vertical:                                             2px;
+@padding-large-horizontal:                                          10px;
+@padding-large-vertical:                                            6px;
+@padding-small-horizontal:                                          @padding-base-horizontal;
+@padding-small-vertical:                                            @padding-base-vertical;
+@pager-border-radius:                                               0;
+@pager-disabled-color:                                              #969696;
+@pagination-bg:                                                     #f5f5f5;
+@pagination-border:                                                 #bbbbbb;
+@pagination-hover-bg:                                               #ededed;
+@panel-danger-border:                                               @brand-danger;
+@panel-danger-heading-bg:                                           @brand-danger;
+@panel-danger-text:                                                 @panel-primary-text;
+@panel-info-border:                                                 @brand-info;
+@panel-info-heading-bg:                                             @brand-info;
+@panel-info-text:                                                   @panel-primary-text;
+@panel-inner-border:                                                #cecdcd;
+@panel-success-border:                                              @brand-success;
+@panel-success-heading-bg:                                          @brand-success;
+@panel-success-text:                                                @panel-primary-text;
+@panel-warning-border:                                              @brand-warning;
+@panel-warning-heading-bg:                                          @brand-warning;
+@panel-warning-text:                                                @panel-primary-text;
+@popover-arrow-color:                                               #fff;
+@popover-arrow-outer-color:                                         #bbb;
+@popover-border-color:                                              #bbb;
+@popover-max-width:                                                 220px;
+@popover-title-bg:                                                  #f5f5f5;
+@tooltip-arrow-width:                                               8px;
+@tooltip-bg:                                                        #434343;
+@tooltip-max-width:                                                 220px;
+
+/* PatternFly-specific */
+@btn-danger-bg-img-start:                                           #d60915;
+@btn-danger-bg-img-stop:                                            #ac0710;
+@btn-default-bg-img-start:                                          #fafafa;
+@btn-default-bg-img-stop:                                           #ededed;
+@btn-primary-bg-img-start:                                          #1CACE8;
+@btn-primary-bg-img-stop:                                           #1998CC;
+@btn-xs-font-weight:                                                400;
+@dropdown-divider-margin:                                           4px 1px;
+@dropdown-link-focus-bg:                                            @link-color;
+@dropdown-link-focus-color:                                         #fff;
+@fa-font-path:                                                      "../../components/font-awesome/fonts";
+@font-path:                                                         "../fonts";
+@gray-light-pf:                                                     #aaa;
+@gray-pf:                                                           #4d5258;
+@icon-font-name-fa:                                                 "FontAwesome";
+@icon-font-name-pf:                                                 "PatternFlyIcons-webfont";
+@icon-prefix:                                                       pficon;
+@img-badge-ie8:                                                     "logo.png";
+@img-badge-ie8-height:                                              69px;
+@img-badge-ie8-width:                                               73px;
+@img-bg-login:                                                      "bg-login.jpg";
+@img-brand-ie8:                                                     "brand.png";
+@img-brand-lg-ie8:                                                  "brand-lg.png";
+@img-path:                                                          "../img";
+@img-path-alt:                                                      @img-path;
+@input-border-disabled:                                             #d4d4d4;
+@list-group-focus-border:                                           #0076b7;
+@list-group-hover-border:                                           #b3d3e7;
+@login-bg-color:                                                    #080808;
+@login-container-bg-color:                                          #181818;
+@login-container-bg-color-rgba:                                     rgba(255, 255, 255, 0.055);
+@modal-title-padding-horizontal:                                    18px;
+@modal-title-padding-vertical:                                      10px;
+@nav-tabs-color:                                                    @gray-pf;
+@navbar-pf-bg-color:                                                #030303; //#393F45
+@navbar-pf-border-color:                                            #199dde;
+@navbar-pf-active-color:                                            #f1f1f1;
+@navbar-pf-color:                                                   #cfcfcf;
+@navbar-pf-icon-bar-bg-color:                                       #fff;
+@navbar-pf-navbar-header-border-color:                              lighten(@navbar-pf-bg-color, 15%);
+@navbar-pf-navbar-nav-active-bg-color:                              lighten(@navbar-pf-bg-color, 12.5%);
+@navbar-pf-navbar-nav-active-active-bg-color:                       lighten(@navbar-pf-bg-color, 8%);
+@navbar-pf-navbar-nav-active-active-open-bg-color:                  lighten(@navbar-pf-bg-color, 11%);;
+@navbar-pf-navbar-navbar-brand-padding:                             8px 0 7px;
+@navbar-pf-navbar-navbar-brand-min-width:                           270px;
+@navbar-pf-navbar-navbar-persistent-bg-color:                       #f6f6f6;
+@navbar-pf-navbar-navbar-persistent-border-color:                   #cecdcd;
+@navbar-pf-navbar-primary-active-bg-color-start:                    lighten(@navbar-pf-navbar-primary-hover-bg-color-start, 5%);
+@navbar-pf-navbar-primary-active-bg-color-stop:                     lighten(@navbar-pf-navbar-primary-hover-bg-color-stop, 7.5%);
+@navbar-pf-navbar-primary-active-border-color:                      lighten(@navbar-pf-navbar-primary-hover-border-color, 5%);
+@navbar-pf-navbar-primary-bg-color-start:                           lighten(@navbar-pf-bg-color, 10%); // #474C50; 
+@navbar-pf-navbar-primary-bg-color-stop:                            @navbar-pf-bg-color; // #383F43; 
+@navbar-pf-navbar-primary-context-active-bg-color-start:            lighten(@navbar-pf-navbar-primary-context-hover-bg-color-start, 5%);
+@navbar-pf-navbar-primary-context-active-bg-color-stop:             lighten(@navbar-pf-navbar-primary-context-hover-bg-color-stop, 7.5%);
+@navbar-pf-navbar-primary-context-active-border-color:              lighten(@navbar-pf-navbar-primary-context-hover-border-color, 5%);
+@navbar-pf-navbar-primary-context-active-border-right-color:        @navbar-pf-navbar-primary-context-active-border-color;
+@navbar-pf-navbar-primary-context-active-border-top-color:          lighten(@navbar-pf-navbar-primary-context-hover-border-top-color, 6%);
+@navbar-pf-navbar-primary-context-bg-color-start:                   lighten(@navbar-pf-navbar-primary-bg-color-start, 8.5%);
+@navbar-pf-navbar-primary-context-bg-color-stop:                    lighten(@navbar-pf-navbar-primary-bg-color-stop, 11%);
+@navbar-pf-navbar-primary-context-border-color:                     lighten(@navbar-pf-navbar-header-border-color, 8%);
+@navbar-pf-navbar-primary-context-border-top-color:                 lighten(@navbar-pf-navbar-header-border-color, 7%);
+@navbar-pf-navbar-primary-context-hover-bg-color-start:             lighten(@navbar-pf-navbar-primary-context-bg-color-start, 5%);
+@navbar-pf-navbar-primary-context-hover-bg-color-stop:              lighten(@navbar-pf-navbar-primary-context-bg-color-stop, 7.5%);
+@navbar-pf-navbar-primary-context-hover-border-color:               lighten(@navbar-pf-navbar-primary-context-border-color, 5%);
+@navbar-pf-navbar-primary-context-hover-border-top-color:           lighten(@navbar-pf-navbar-primary-context-border-top-color, 6%);
+@navbar-pf-navbar-primary-hover-bg-color-start:                     lighten(@navbar-pf-navbar-primary-bg-color-start, 10%);
+@navbar-pf-navbar-primary-hover-bg-color-stop:                      lighten(@navbar-pf-navbar-primary-bg-color-stop, 10%);
+@navbar-pf-navbar-primary-hover-border-color:                       lighten(@navbar-pf-navbar-header-border-color, 20%);
+@navbar-pf-navbar-utility-border-color:                             lighten(@navbar-pf-bg-color, 15.5%);
+@navbar-pf-navbar-utility-color:                                    @navbar-pf-color;
+@navbar-pf-navbar-utility-hover-bg-color:                           lighten(@navbar-pf-bg-color, 12.5%);
+@navbar-pf-navbar-utility-hover-border-color:                       lighten(@navbar-pf-navbar-utility-border-color, 5%);
+@navbar-pf-navbar-utility-open-bg-color:                            lighten(@navbar-pf-navbar-utility-hover-bg-color, 7.5%);
+@navbar-pf-navbar-utility-open-border-color:                        lighten(@navbar-pf-navbar-utility-hover-border-color, 5%);
+@pagination-padding-small-vertical:                                 0;
+@panel-default-border-color:                                        #bebdbd;
+@tooltip-font-size:                                                 @font-size-base;