You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/07/24 08:16:52 UTC

incubator-ignite git commit: # ignite-843 Moved from less to sass.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 95f54db08 -> 6b58c47db


# ignite-843 Moved from less to sass.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6b58c47d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6b58c47d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6b58c47d

Branch: refs/heads/ignite-843
Commit: 6b58c47db04cb0671e8be1e62472a0db6f746e44
Parents: 95f54db
Author: Andrey <an...@gridgain.com>
Authored: Fri Jul 24 13:17:58 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Fri Jul 24 13:17:58 2015 +0700

----------------------------------------------------------------------
 modules/web-control-center/src/main/js/app.js   |   10 +-
 .../web-control-center/src/main/js/package.json |    2 +-
 .../src/main/js/public/stylesheets/style.less   | 1214 -----------------
 .../src/main/js/public/stylesheets/style.scss   | 1270 ++++++++++++++++++
 .../src/main/js/views/configuration/caches.jade |    4 +-
 .../main/js/views/configuration/clusters.jade   |    4 +-
 .../main/js/views/configuration/metadata.jade   |    4 +-
 .../main/js/views/configuration/summary.jade    |    3 +-
 .../src/main/js/views/sql/sql.jade              |    7 +-
 9 files changed, 1289 insertions(+), 1229 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/app.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/app.js b/modules/web-control-center/src/main/js/app.js
index 8c347db..a67afc8 100644
--- a/modules/web-control-center/src/main/js/app.js
+++ b/modules/web-control-center/src/main/js/app.js
@@ -52,10 +52,12 @@ app.use(logger('dev'));
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({extended: false}));
 
-app.use(require('less-middleware')(path.join(__dirname, 'public'), {
-    render: {
-        compress: false
-    }
+app.use(require('node-sass-middleware')({
+    /* Options */
+    src: path.join(__dirname, 'public'),
+    dest: path.join(__dirname, 'public'),
+    debug: true,
+    outputStyle: 'nested'
 }));
 
 app.use(express.static(path.join(__dirname, 'public')));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/package.json
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/package.json b/modules/web-control-center/src/main/js/package.json
index 7295755..ed06004 100644
--- a/modules/web-control-center/src/main/js/package.json
+++ b/modules/web-control-center/src/main/js/package.json
@@ -30,10 +30,10 @@
     "express": "~4.12.2",
     "express-session": "^1.11.1",
     "jade": "~1.9.2",
-    "less-middleware": "1.0.x",
     "lodash": "3.10.0",
     "mongoose": "^4.0.2",
     "nconf": "^0.7.1",
+    "node-sass-middleware": "^0.9.0",
     "passport": "^0.2.1",
     "passport-local": "^1.0.0",
     "passport-local-mongoose": "^1.0.0",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/public/stylesheets/style.less
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.less b/modules/web-control-center/src/main/js/public/stylesheets/style.less
deleted file mode 100644
index 515371c..0000000
--- a/modules/web-control-center/src/main/js/public/stylesheets/style.less
+++ /dev/null
@@ -1,1214 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-@logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";
-@input-height: 28px;
-@ignite-red: #ec1c24;
-@ignite-block-callout-background: #f3f8f3;
-@ignite-block-callout: #50af51;
-
-hr {
-  margin-top: 20px;
-  margin-bottom: 20px;
-}
-
-.main-header .logo {
-  height: auto;
-}
-
-.main-sidebar {
-  padding-top: 60px;
-}
-
-.navbar-default .navbar-brand, .navbar-default .navbar-brand:hover {
-  position: absolute;
-  width: 100%;
-  left: 0;
-  text-align: center;
-}
-
-.modal-backdrop.am-fade {
-  opacity: .5;
-  transition: opacity .15s linear;
-  &.ng-enter {
-    opacity: 0;
-    &.ng-enter-active {
-      opacity: .5;
-    }
-  }
-  &.ng-leave {
-    opacity: .5;
-    &.ng-leave-active {
-      opacity: 0;
-    }
-  }
-}
-
-.modal.center .modal-dialog {
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  -webkit-transform: translateX(-50%) translateY(-50%);
-  transform: translateX(-50%) translateY(-50%);
-}
-
-.border-left {
-  box-shadow: 1px 0 0 0 #eee inset;
-}
-
-.border-right {
-  box-shadow: 1px 0 0 0 #eee;
-}
-
-.theme-line {
-  background-color: #f9f9f9;
-}
-
-.theme-line header {
-  background-color: #fff;
-}
-
-.theme-line header a.btn {
-  border: 0 none;
-  padding: 10px 25px;
-  background-color: rgba(0, 0, 0, 0.15);
-}
-
-.theme-line header a.btn:hover {
-  background-color: rgba(0, 0, 0, 0.25);
-}
-
-.theme-line header a.btn.btn-link {
-  background: transparent;
-  color: rgba(255, 255, 255, 0.8);
-}
-
-.theme-line header a.btn.btn-link:hover {
-  color: #fff;
-  text-decoration: none;
-}
-
-.theme-line .navbar-nav a {
-  background-color: transparent;
-}
-
-.theme-line .navbar-nav a:hover,
-.theme-line .navbar-nav a:active,
-.theme-line .navbar-nav a:focus {
-  background-color: transparent;
-}
-
-.theme-line .main-links {
-  padding-top: 50px;
-}
-
-.theme-line .main-links h3 {
-  margin-top: 0;
-  font-size: 17px;
-}
-
-.theme-line .main-links .links a {
-  color: #888;
-}
-
-.theme-line .main-links .links a:hover {
-  text-decoration: none;
-}
-
-.theme-line #category-columns,
-.theme-solid #category-columns {
-  margin: 50px 30px 0;
-}
-
-.theme-line #category-columns h4 {
-  text-transform: uppercase;
-  font-weight: 300;
-  color: #999;
-  font-size: 14px;
-}
-
-.theme-line #category-columns ul {
-  list-style: none;
-  padding: 0;
-  margin-bottom: 15px;
-}
-
-.theme-line #category-columns ul li a {
-  padding: 5px 0;
-  display: block;
-  font-size: 16px;
-}
-
-.theme-line #category-columns ul .view-all {
-  font-size: 0.85em;
-}
-
-.theme-line .docs-header {
-  color: #999;
-  overflow: hidden;
-}
-
-.theme-line .docs-header h1 {
-  color: #444;
-  margin-top: 0;
-  font-size: 22px;
-}
-
-.theme-line .btn-primary {
-  border: 0 none;
-  background-color: @ignite-red;
-}
-
-.theme-line .btn-primary:hover {
-  background-color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a {
-  box-shadow: 0 0;
-  border: 0 none;
-  background-color: #fff;
-  border-radius: 0;
-  color: #aaa;
-  padding: 6px;
-  margin: 0 14px;
-}
-
-.theme-line .main-content .nav-horizontal a:hover {
-  color: #999;
-  border-bottom: 5px solid #ddd;
-}
-
-.theme-line .main-content .nav-horizontal a.active {
-  border-bottom: 5px solid #888;
-}
-
-.theme-line .navbar-nav, .theme-line .sidebar-nav {
-  ul li > a.active {
-    cursor: default;
-    pointer-events: none;
-  }
-}
-
-.theme-line .sidebar-nav {
-  color: #474a54;
-  padding-bottom: 30px;
-
-  ul {
-    padding: 0;
-    list-style: none;
-    font-size: 14px;
-    margin: 3px 0 0;
-    li {
-      color: #666;
-      line-height: @input-height;
-
-      span.fa-stack {
-        margin-right: 5px;
-        font-size: 12px;
-        height: 26px;
-      }
-
-      a {
-        font-size: 18px;
-        color: #666;
-        position: relative;
-        white-space: nowrap;
-        overflow: hidden;
-        -o-text-overflow: ellipsis;
-        text-overflow: ellipsis;
-      }
-    }
-  }
-}
-
-.theme-line .sidebar-nav ul li a:hover {
-  text-decoration: none;
-}
-
-.theme-line .select,
-.theme-line .typeahead {
-  li a {
-    color: #666;
-    background-color: transparent;
-  }
-
-  li a:hover {
-    color: @ignite-red;
-  }
-
-  .active {
-    background-color: #eee;
-  }
-}
-
-.theme-line .sidebar-nav ul li .subcategory {
-  padding-left: 15px;
-}
-
-.theme-line .sidebar-nav h4 {
-  margin-top: 2em;
-  font-weight: normal;
-  text-transform: uppercase;
-  font-size: 11px;
-  margin-bottom: 10px;
-  color: #bbb;
-}
-
-.theme-line .sidebar-nav h4:first-child {
-  margin-top: 0;
-}
-
-.theme-line .sidebar-nav .ask {
-  width: 100%;
-  text-align: center;
-  padding: 10px;
-}
-
-.theme-line .border-left .sidebar-nav {
-  padding-left: 15px;
-}
-
-.theme-line .suggest {
-  padding: 5px;
-  display: inline-block;
-  font-size: 12px;
-}
-
-.header {
-  padding: 15px;
-}
-
-.header .has-github {
-  padding-right: 136px;
-}
-
-.header h1.navbar-brand {
-  height: 40px;
-  width: 200px;
-  padding: 0;
-  margin: 5px 15px 0 0;
-}
-
-.header h1.navbar-brand a {
-  text-indent: -99999px;
-  background: no-repeat center center;
-  display: block;
-  width: 100%;
-  height: 100%;
-  background-size: contain;
-}
-
-.header .nav.navbar-nav.pull-right {
-  position: relative;
-  right: -30px;
-}
-
-.header .nav.navbar-nav .not-link {
-  padding: 15px;
-  display: inline-block;
-}
-
-.header .nav.navbar-nav .stable,
-.header .nav.navbar-nav .beta,
-.header .nav.navbar-nav .private {
-  font-size: 9px;
-  padding: 3px 5px;
-  display: inline-block;
-  line-height: 8px;
-  border-radius: 3px;
-  margin-left: 6px;
-  color: #fff;
-  top: -2px;
-  position: relative;
-  opacity: 0.6;
-  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
-  filter: alpha(opacity=60);
-}
-
-.header .nav.navbar-nav a:hover > .stable,
-.header .nav.navbar-nav a:hover > .beta,
-.header .nav.navbar-nav a:hover > .private {
-  opacity: 1;
-  -ms-filter: none;
-  filter: none;
-}
-
-.header .nav.navbar-nav .beta {
-  background-color: #59c3d1;
-}
-
-.header .nav.navbar-nav .stable {
-  background-color: #41b841;
-}
-
-.header .nav.navbar-nav .private {
-  background-color: #333;
-}
-
-.theme-line header {
-  border-bottom: 8px solid;
-}
-
-.theme-line header h2 {
-  color: #aaa;
-}
-
-.theme-line header p {
-  color: #666;
-}
-
-.theme-line header {
-  border-bottom-color: @ignite-red;
-}
-
-.theme-line .navbar-nav {
-  color: #888;
-}
-
-.theme-line .navbar-nav a {
-  color: #bbb;
-}
-
-.theme-line header a.btn {
-  background-color: @ignite-red;
-}
-
-.theme-line header a.btn:hover {
-  background-color: #950d12;
-}
-
-.theme-line header .navbar-nav .tt-cursor {
-  background-color: @ignite-red;
-}
-
-.theme-line header .navbar-nav a:hover, .theme-line header .navbar-nav .open > a {
-  color: @ignite-red;
-}
-
-.theme-line .navbar-nav .active a {
-  //font-weight: bold;
-  color: @ignite-red;
-}
-
-.theme-line .navbar-nav .active a:hover {
-  color: #950d12;
-}
-
-.theme-line .main-links .links a:hover {
-  color: @ignite-red;
-}
-
-.theme-line .main-content a {
-  color: #666;
-}
-
-.theme-line .main-content a:hover {
-  color: #950d12;
-}
-
-.theme-line .sidebar-nav ul li a.active:before {
-  background-color: @ignite-red;
-}
-
-.theme-line .sidebar-nav ul li a.active {
-  color: @ignite-red;
-}
-
-.theme-line .sidebar-nav ul li a:hover, .theme-line .sidebar-nav ul li a.active:hover {
-  color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a.active {
-  border-color: @ignite-red;
-  color: @ignite-red;
-}
-
-.theme-line .main-content .nav-horizontal a:hover {
-  color: #950d12;
-}
-
-.theme-line .main-content .nav-horizontal a.active:hover {
-  border-color: #950d12;
-}
-
-.theme-line header .navbar-nav a.active, .theme-line #versions-list li a:hover strong, .theme-line #versions-list li a.active .current, .theme-line #versions-list li a:active .current {
-  color: @ignite-red;
-}
-
-.theme-line header .navbar-nav a {
-  font-size: 18px;
-}
-
-.theme-line.body-threes .section-right .threes-nav .btn-default:hover, .theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover {
-  color: @ignite-red;
-  border-color: @ignite-red;
-}
-
-.theme-line .section-right {
-  padding-left: 30px;
-}
-
-.body-overlap .main-content {
-  margin-top: 30px;
-}
-
-.body-box .main-content,
-.body-overlap .main-content {
-  padding: 30px;
-  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
-  background-color: #fff;
-}
-
-body {
-  font-weight: 400;
-  font-family: Roboto Slab, serif;;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  font-weight: 700;
-  font-family: Roboto Slab, serif;
-  margin-bottom: 10px;
-}
-
-.submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover {
-  background-color: @ignite-red;
-}
-
-div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover {
-  background-color: #950d12;
-}
-
-a, .link .title {
-  color: @ignite-red;
-}
-
-a:hover, .link:hover .title {
-  color: #950d12;
-}
-
-.header h1.navbar-brand a {
-  background-image: url("@{logo-path}");
-}
-
-.header h1.navbar-brand {
-  width: 96px;
-}
-
-.block-edit-parameters {
-  text-align: right;
-  padding-bottom: 5px;
-}
-
-.container-footer {
-  margin-top: 20px;
-}
-
-/* Modal */
-.modal {
-  display: block;
-  overflow: hidden;
-}
-
-.modal .close {
-  position: absolute;
-  top: 10px;
-  right: 10px;
-  float: none;
-}
-
-// Close icon
-.modal-header .close {
-  margin-right: -2px;
-}
-
-.modal .modal-dialog {
-  width: 610px;
-}
-
-.modal .modal-content {
-  border-radius: 0;
-  background-color: #f7f7f7;
-}
-
-.modal .modal-content .modal-header {
-  background-color: #fff;
-  text-align: center;
-  color: #555;
-  padding: 15px;
-  font-family: "myriad-pro", sans-serif;
-}
-
-.modal .modal-content .modal-header h4 {
-  font-family: "myriad-pro", sans-serif;
-  font-size: 22px;
-}
-
-.modal .modal-content .modal-header h4 .fa {
-  display: block;
-  font-size: 41px;
-  color: #ddd;
-  margin-bottom: 5px;
-}
-
-.modal .modal-content .modal-header p {
-  color: #aaa;
-  font-size: 1em;
-  margin: 3px 0 0;
-}
-
-.modal .modal-content .modal-spacer {
-  padding: 10px 10px 0 10px;
-}
-
-.modal .modal-content .modal-footer {
-  margin-top: 0;
-}
-
-.modal-body {
-  padding-top: 15px;
-}
-
-h1.ignite-logo {
-  background-image: url("@{logo-path}");
-}
-
-.block-display-image img {
-  max-width: 100%;
-  max-height: 450px;
-  margin: auto;
-  display: block;
-}
-
-.greedy {
-  min-height: 100%;
-  height: ~"calc(100vh - 290px)";
-}
-
-@media (min-width: 768px) {
-  .navbar-nav > li > a {
-    padding-top: 18px;
-    padding-bottom: 10px;
-  }
-}
-
-.details-row {
-  padding: 0 10px;
-}
-
-.details-row, .settings-row {
-  display: block;
-  margin: 10px 0;
-
-  label.table-header {
-    line-height: @input-height;
-  }
-
-  [class*="col-"] {
-    display: inline-block;
-    vertical-align: middle;
-    float: none;
-
-    padding-left: 0 !important;
-    padding-right: 0 !important;
-  }
-
-  input[type="checkbox"] {
-    line-height: 20px;
-    margin-right: 5px;
-  }
-
-  .checkbox label {
-    line-height: 20px;
-    vertical-align: middle;
-  }
-}
-
-button {
-  margin-right: 5px;
-}
-
-h1,
-h2,
-h3 {
-  user-select: none;
-  font-weight: normal;
-  /* Makes the vertical size of the text the same for all fonts. */
-  line-height: 1;
-}
-
-h3 {
-  color: black;
-  font-size: 1.2em;
-  margin-top: 0;
-  margin-bottom: 1.5em;
-}
-
-table tr:hover {
-  cursor: pointer;
-}
-
-.btn {
-  padding: 3px 6px;
-}
-
-button .caret, .btn .caret {
-  float: right;
-  margin-left: 5px;
-  margin-top: 7px;
-}
-
-.base-control {
-  text-align: left;
-  padding: 3px 3px;
-  height: @input-height;
-}
-
-.form-control:extend(.base-control all) {
-  display: inline-block;
-
-  button {
-    text-align: left;
-  }
-}
-
-.theme-line .panel-heading {
-  padding: 10px 10px;
-  margin: 0;
-
-  h3 {
-    margin-bottom: 0;
-  }
-
-  h3 > a {
-    color: black;
-  }
-}
-
-.theme-line .panel-title {
-  a {
-    color: @ignite-red;
-  }
-
-  h3 {
-    margin-bottom: 20px;
-  }
-}
-
-.theme-line .panel-body {
-  padding: 10px 20px;
-}
-
-.theme-line .main-content a.customize {
-  margin-left: 5px;
-  color: @ignite-red;
-}
-
-.theme-line .panel-collapse {
-  margin: 0;
-}
-
-.theme-line .links table {
-  display: table;
-  table-layout: fixed;
-
-  td {
-    padding-left: 18px;
-  }
-
-  .active a {
-    color: @ignite-red;
-    font-weight: bold;
-  }
-
-  a:hover {
-    color: #950d12;
-  }
-
-  a {
-    color: #666;
-  }
-}
-
-.theme-line table.links-edit:extend(.theme-line .links table all) {
-  margin-top: 5px;
-  margin-bottom: 5px;
-
-  label {
-    line-height: @input-height;
-    color: #666;
-  }
-}
-
-.theme-line table.links-edit-details:extend(.theme-line .links table all) {
-  margin-bottom: 10px;
-
-  label {
-    line-height: @input-height;
-    color: #666;
-  }
-
-  td {
-    padding: 0;
-
-    .input-tip {
-      padding: 0;
-    }
-  }
-}
-
-.theme-line table.admin {
-  tr:hover {
-    cursor: default;
-  }
-
-  thead > tr th.header {
-    padding: 0 0 10px;
-
-    div {
-      padding: 0
-    }
-  }
-
-  margin-bottom: 10px;
-
-  label {
-    line-height: @input-height;
-    color: #666;
-  }
-
-  thead > tr th, td {
-    padding: 10px 10px;
-
-    .input-tip {
-      padding: 0;
-    }
-  }
-
-  tfoot > tr > td {
-    padding: 0;
-
-    .pagination {
-      margin: 10px 0;
-
-      > .active > a {
-        color: @ignite-red;
-        font-weight: bold;
-        border-color: #ddd;
-        background-color: #eee;
-      }
-    }
-  }
-}
-
-.theme-line table.sql-results {
-  [class*="col-"] {
-    padding-left: 0 !important;
-    padding-right: 0 !important;
-  }
-
-  td {
-    padding: 3px 6px;
-  }
-
-  > thead > tr > td {
-    padding: 3px 0;
-  }
-
-  thead > tr > th {
-    padding: 3px 6px;
-
-    line-height: @input-height;
-  }
-}
-
-.panel-title a {
-  font-size: 14px;
-}
-
-.panel-details {
-  margin-top: 10px;
-
-  padding: 0;
-
-  border-radius: 5px;
-  border: thin dotted lightgrey;
-}
-
-.table-details {
-  border-radius: 5px;
-  border: thin dotted lightgrey;
-
-  margin-top: 10px;
-
-  padding-left: 10px;
-  padding-right: 5px;
-}
-
-.tooltip.right .tooltip-arrow {
-  border-right-color: @ignite-red;
-}
-
-.tooltip > .tooltip-inner {
-  max-width: 400px;
-  text-align: left;
-  background-color: @ignite-red;
-}
-
-label {
-  font-weight: normal;
-  margin-bottom: 0;
-}
-
-.form-horizontal .checkbox {
-  padding-top: 0;
-}
-
-.input-tip {
-  display: block;
-  overflow: hidden;
-}
-
-.labelField {
-  float: left;
-  margin-right: 5px;
-}
-
-.labelFormField {
-  float: left;
-  line-height: @input-height;
-}
-
-.form-horizontal .form-group {
-  margin: 0;
-}
-
-.form-horizontal .has-feedback .form-control-feedback {
-  right: 0;
-}
-
-.tipField {
-  float: right;
-  line-height: @input-height;
-  margin-left: 5px;
-}
-
-.tipLabel {
-  font-size: 14px;
-  margin-left: 5px;
-}
-
-.fieldSep {
-  float: right;
-  line-height: @input-height;
-  margin: 0 5px;
-}
-
-.fieldButton {
-  float: right;
-  margin-left: 5px;
-  margin-right: 0;
-}
-
-.fa-plus {
-  cursor: pointer;
-}
-
-.fa-remove {
-  color: @ignite-red;
-  cursor: pointer;
-}
-
-.fa-floppy-o {
-  cursor: pointer;
-}
-
-.fa-arrow-up {
-  cursor: pointer;
-}
-
-.fa-arrow-down {
-  cursor: pointer;
-}
-
-label.required:after {
-  color: @ignite-red;
-  content: ' *';
-  display: inline;
-}
-
-.blank {
-  visibility: hidden;
-}
-
-.alert {
-  outline: 0
-}
-
-.alert.bottom, .alert.bottom-left, .alert.bottom-right, .alert.top,
-.alert.top-left, .alert.top-right {
-  position: fixed;
-  z-index: 1050;
-  margin: 20px
-}
-
-.alert.top, .alert.top-left, .alert.top-right {
-  top: 50px
-}
-
-.alert.top {
-  right: 0;
-  left: 0
-}
-
-.alert.top-right {
-  right: 0
-}
-
-.alert.top-right .close {
-  padding-left: 10px
-}
-
-.alert.top-left {
-  left: 0
-}
-
-.alert.top-left .close {
-  padding-right: 10px
-}
-
-.alert.bottom, .alert.bottom-left, .alert.bottom-right {
-  bottom: 0
-}
-
-.alert.bottom {
-  right: 0;
-  left: 0
-}
-
-.alert.bottom-right {
-  right: 0
-}
-
-.alert.bottom-right .close {
-  padding-left: 10px
-}
-
-.alert.bottom-left {
-  left: 0
-}
-
-.alert.bottom-left .close {
-  padding-right: 10px
-}
-
-//  Summary page
-#cfgResult textarea {
-  font-family: monospace;
-  font-size: 12px;
-}
-
-input[type="number"]::-webkit-outer-spin-button,
-input[type="number"]::-webkit-inner-spin-button {
-  -webkit-appearance: none;
-  margin: 0;
-}
-
-input[type="number"] {
-  -moz-appearance: textfield;
-}
-
-input.ng-dirty.ng-invalid, button.ng-dirty.ng-invalid {
-  border-color: @ignite-red;
-
-  :focus {
-    border-color: @ignite-red;
-  }
-}
-
-.form-control-feedback {
-  display: inline-block;
-  color: @ignite-red;
-  right: 18px;
-  line-height: @input-height;
-  pointer-events: initial;
-}
-
-.syntaxhighlighter {
-  padding: 10px 5px;
-  border-radius: 6px;
-}
-
-.theme-line table.links-edit-small-padding:extend(.theme-line .links table all) {
-  label {
-    line-height: @input-height;
-    color: #666;
-  }
-
-  a {
-    line-height: @input-height;
-  }
-
-  input[type="checkbox"] {
-    line-height: 20px;
-    margin-right: 5px;
-  }
-
-  .checkbox label {
-    line-height: 20px;
-    vertical-align: middle;
-  }
-
-  th {
-    text-align: center;
-  }
-
-  td {
-    padding-left: 10px;
-  }
-
-  margin-top: 10px;
-}
-
-.nav-tabs > li > a {
-  padding: 5px 5px;
-}
-
-.viewedUser {
-  position: absolute;
-  width: 100%;
-  left: 0;
-
-  text-align: center;
-
-  margin-top: -15px;
-
-  background-color: #f8d5d8;
-}
-
-a {
-  cursor: pointer;
-}
-
-.st-sort-ascent:after {
-  content: '\25B2';
-}
-
-.st-sort-descent:after {
-  content: '\25BC';
-}
-
-.panel {
-  margin-bottom: 0;
-}
-
-.panel-group {
-  margin-bottom: 0;
-}
-
-.panel-group .panel + .panel {
-  margin-top: 20px;
-}
-
-.margin-top-dflt {
-  margin-top: 10px;
-}
-
-.margin-bottom-dflt {
-  margin-bottom: 10px;
-}
-
-.margin-dflt {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-
-.padding-top-dflt {
-  padding-top: 10px;
-}
-
-.padding-bottom-dflt {
-  padding-bottom: 10px;
-}
-
-.padding-dflt {
-  padding-top: 10px;
-  padding-bottom: 10px;
-}
-
-.theme-line .panel-title h3 {
-  margin-top: 20px;
-  margin-bottom: 20px;
-}
-
-.block-callout-parent {
-  background-color: @ignite-block-callout-background;
-  overflow: hidden;
-}
-
-.block-callout {
-  background-color: @ignite-block-callout-background;
-  display: inline-block;
-  vertical-align: top;
-  width: 50%;
-
-  i {
-    padding: 10px 5px 0 10px;
-    color: @ignite-block-callout;
-  }
-
-  ul {
-    padding-left: 20px;
-    margin-bottom: 0;
-  }
-
-  p {
-    padding: 5px 0 10px 10px;
-    margin: 0;
-  }
-
-  label {
-    font-weight: bold;
-    color: @ignite-block-callout;
-  }
-}
-
-.block-callout-border {
-  border-left: 5px solid;
-  border-color: @ignite-block-callout;
-}
-
-.labelHeader {
-  font-weight: bold;
-}
-
-.ace_editor, #ace_document {
-  margin:  0.65em 0 0 0;
-
-  width: 100%;
-  height: 400px;
-
-  .ace_gutter {
-    background: transparent !important;
-    border: 1px #ddd;
-    border-right-style: solid;
-  }
-
-  .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell {
-    padding-left: 0.65em;
-    padding-right: 0.9em;
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/public/stylesheets/style.scss b/modules/web-control-center/src/main/js/public/stylesheets/style.scss
new file mode 100644
index 0000000..e2542ce
--- /dev/null
+++ b/modules/web-control-center/src/main/js/public/stylesheets/style.scss
@@ -0,0 +1,1270 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+$logo-path: "https://www.filepicker.io/api/file/QagunjDGRFul2JgNCAli";
+$input-height: 28px;
+$ignite-red: #ec1c24;
+$ignite-block-callout-background: #f3f8f3;
+$ignite-block-callout: #50af51;
+
+hr {
+    margin: 20px 0;
+}
+
+.main-header .logo {
+    height: auto;
+}
+
+.main-sidebar {
+    padding-top: 60px;
+}
+
+.navbar-default .navbar-brand, .navbar-default .navbar-brand:hover {
+    position: absolute;
+    width: 100%;
+    left: 0;
+    text-align: center;
+}
+
+.modal-backdrop.am-fade {
+    opacity: .5;
+    transition: opacity .15s linear;
+    &.ng-enter {
+        opacity: 0;
+        &.ng-enter-active {
+            opacity: .5;
+        }
+    }
+    &.ng-leave {
+        opacity: .5;
+        &.ng-leave-active {
+            opacity: 0;
+        }
+    }
+}
+
+.modal.center .modal-dialog {
+    position: fixed;
+    top: 50%;
+    left: 50%;
+    -webkit-transform: translateX(-50%) translateY(-50%);
+    transform: translateX(-50%) translateY(-50%);
+}
+
+.border-left {
+    box-shadow: 1px 0 0 0 #eee inset;
+}
+
+.border-right {
+    box-shadow: 1px 0 0 0 #eee;
+}
+
+.theme-line {
+    background-color: #f9f9f9;
+}
+
+.theme-line header {
+    background-color: #fff;
+}
+
+.theme-line header a.btn {
+    border: 0 none;
+    padding: 10px 25px;
+    background-color: rgba(0, 0, 0, 0.15);
+}
+
+.theme-line header a.btn:hover {
+    background-color: rgba(0, 0, 0, 0.25);
+}
+
+.theme-line header a.btn.btn-link {
+    background: transparent;
+    color: rgba(255, 255, 255, 0.8);
+}
+
+.theme-line header a.btn.btn-link:hover {
+    color: #fff;
+    text-decoration: none;
+}
+
+.theme-line .navbar-nav a {
+    background-color: transparent;
+}
+
+.theme-line .navbar-nav a:hover,
+.theme-line .navbar-nav a:active,
+.theme-line .navbar-nav a:focus {
+    background-color: transparent;
+}
+
+.theme-line .main-links {
+    padding-top: 50px;
+}
+
+.theme-line .main-links h3 {
+    margin-top: 0;
+    font-size: 17px;
+}
+
+.theme-line .main-links .links a {
+    color: #888;
+}
+
+.theme-line .main-links .links a:hover {
+    text-decoration: none;
+}
+
+.theme-line #category-columns,
+.theme-solid #category-columns {
+    margin: 50px 30px 0;
+}
+
+.theme-line #category-columns h4 {
+    text-transform: uppercase;
+    font-weight: 300;
+    color: #999;
+    font-size: 14px;
+}
+
+.theme-line #category-columns ul {
+    list-style: none;
+    padding: 0;
+    margin-bottom: 15px;
+}
+
+.theme-line #category-columns ul li a {
+    padding: 5px 0;
+    display: block;
+    font-size: 16px;
+}
+
+.theme-line #category-columns ul .view-all {
+    font-size: 0.85em;
+}
+
+.theme-line .docs-header {
+    color: #999;
+    overflow: hidden;
+}
+
+.theme-line .docs-header h1 {
+    color: #444;
+    margin-top: 0;
+    font-size: 22px;
+}
+
+.theme-line .btn-primary {
+    border: 0 none;
+    background-color: $ignite-red;
+}
+
+.theme-line .btn-primary:hover {
+    background-color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a {
+    box-shadow: 0 0;
+    border: 0 none;
+    background-color: #fff;
+    border-radius: 0;
+    color: #aaa;
+    padding: 6px;
+    margin: 0 14px;
+}
+
+.theme-line .main-content .nav-horizontal a:hover {
+    color: #999;
+    border-bottom: 5px solid #ddd;
+}
+
+.theme-line .main-content .nav-horizontal a.active {
+    border-bottom: 5px solid #888;
+}
+
+.theme-line .navbar-nav, .theme-line .sidebar-nav {
+    ul li > a.active {
+        cursor: default;
+        pointer-events: none;
+    }
+}
+
+.theme-line .sidebar-nav {
+    color: #474a54;
+    padding-bottom: 30px;
+
+    ul {
+        padding: 0;
+        list-style: none;
+        font-size: 14px;
+        margin: 3px 0 0;
+        li {
+            color: #666;
+            line-height: $input-height;
+
+            span.fa-stack {
+                margin-right: 5px;
+                font-size: 12px;
+                height: 26px;
+            }
+
+            a {
+                font-size: 18px;
+                color: #666;
+                position: relative;
+                white-space: nowrap;
+                overflow: hidden;
+                -o-text-overflow: ellipsis;
+                text-overflow: ellipsis;
+            }
+        }
+    }
+}
+
+.theme-line .sidebar-nav ul li a:hover {
+    text-decoration: none;
+}
+
+.theme-line .select,
+.theme-line .typeahead {
+    li a {
+        color: #666;
+        background-color: transparent;
+    }
+
+    li a:hover {
+        color: $ignite-red;
+    }
+
+    .active {
+        background-color: #eee;
+    }
+}
+
+.theme-line .sidebar-nav ul li .subcategory {
+    padding-left: 15px;
+}
+
+.theme-line .sidebar-nav h4 {
+    margin-top: 2em;
+    font-weight: normal;
+    text-transform: uppercase;
+    font-size: 11px;
+    margin-bottom: 10px;
+    color: #bbb;
+}
+
+.theme-line .sidebar-nav h4:first-child {
+    margin-top: 0;
+}
+
+.theme-line .sidebar-nav .ask {
+    width: 100%;
+    text-align: center;
+    padding: 10px;
+}
+
+.theme-line .border-left .sidebar-nav {
+    padding-left: 15px;
+}
+
+.theme-line .suggest {
+    padding: 5px;
+    display: inline-block;
+    font-size: 12px;
+}
+
+.header {
+    padding: 15px;
+}
+
+.header .has-github {
+    padding-right: 136px;
+}
+
+.header h1.navbar-brand {
+    height: 40px;
+    width: 200px;
+    padding: 0;
+    margin: 5px 15px 0 0;
+}
+
+.header h1.navbar-brand a {
+    text-indent: -99999px;
+    background: no-repeat center center;
+    display: block;
+    width: 100%;
+    height: 100%;
+    background-size: contain;
+}
+
+.header .nav.navbar-nav.pull-right {
+    position: relative;
+    right: -30px;
+}
+
+.header .nav.navbar-nav .not-link {
+    padding: 15px;
+    display: inline-block;
+}
+
+.header .nav.navbar-nav .stable,
+.header .nav.navbar-nav .beta,
+.header .nav.navbar-nav .private {
+    font-size: 9px;
+    padding: 3px 5px;
+    display: inline-block;
+    line-height: 8px;
+    border-radius: 3px;
+    margin-left: 6px;
+    color: #fff;
+    top: -2px;
+    position: relative;
+    opacity: 0.6;
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
+    filter: alpha(opacity=60);
+}
+
+.header .nav.navbar-nav a:hover > .stable,
+.header .nav.navbar-nav a:hover > .beta,
+.header .nav.navbar-nav a:hover > .private {
+    opacity: 1;
+    -ms-filter: none;
+    filter: none;
+}
+
+.header .nav.navbar-nav .beta {
+    background-color: #59c3d1;
+}
+
+.header .nav.navbar-nav .stable {
+    background-color: #41b841;
+}
+
+.header .nav.navbar-nav .private {
+    background-color: #333;
+}
+
+.theme-line header {
+    border-bottom: 8px solid;
+}
+
+.theme-line header h2 {
+    color: #aaa;
+}
+
+.theme-line header p {
+    color: #666;
+}
+
+.theme-line header {
+    border-bottom-color: $ignite-red;
+}
+
+.theme-line .navbar-nav {
+    color: #888;
+}
+
+.theme-line .navbar-nav a {
+    color: #bbb;
+}
+
+.theme-line header a.btn {
+    background-color: $ignite-red;
+}
+
+.theme-line header a.btn:hover {
+    background-color: #950d12;
+}
+
+.theme-line header .navbar-nav .tt-cursor {
+    background-color: $ignite-red;
+}
+
+.theme-line header .navbar-nav a:hover, .theme-line header .navbar-nav .open > a {
+    color: $ignite-red;
+}
+
+.theme-line .navbar-nav .active a {
+    //font-weight: bold;
+    color: $ignite-red;
+}
+
+.theme-line .navbar-nav .active a:hover {
+    color: #950d12;
+}
+
+.theme-line .main-links .links a:hover {
+    color: $ignite-red;
+}
+
+.theme-line .main-content a {
+    color: #666;
+}
+
+.theme-line .main-content a:hover {
+    color: #950d12;
+}
+
+.theme-line .sidebar-nav ul li a.active:before {
+    background-color: $ignite-red;
+}
+
+.theme-line .sidebar-nav ul li a.active {
+    color: $ignite-red;
+}
+
+.theme-line .sidebar-nav ul li a:hover, .theme-line .sidebar-nav ul li a.active:hover {
+    color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a.active {
+    border-color: $ignite-red;
+    color: $ignite-red;
+}
+
+.theme-line .main-content .nav-horizontal a:hover {
+    color: #950d12;
+}
+
+.theme-line .main-content .nav-horizontal a.active:hover {
+    border-color: #950d12;
+}
+
+.theme-line header .navbar-nav a.active, .theme-line #versions-list li a:hover strong, .theme-line #versions-list li a.active .current, .theme-line #versions-list li a:active .current {
+    color: $ignite-red;
+}
+
+.theme-line header .navbar-nav a {
+    font-size: 18px;
+}
+
+.theme-line.body-threes .section-right .threes-nav .btn-default:hover, .theme-line.page-docs.body-threes .section-right .threes-nav .pull-right a:hover {
+    color: $ignite-red;
+    border-color: $ignite-red;
+}
+
+.theme-line .section-right {
+    padding-left: 30px;
+}
+
+.body-overlap .main-content {
+    margin-top: 30px;
+}
+
+.body-box .main-content,
+.body-overlap .main-content {
+    padding: 30px;
+    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
+    background-color: #fff;
+}
+
+body {
+    font-weight: 400;
+    font-family: Roboto Slab, serif;;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    font-weight: 700;
+    font-family: Roboto Slab, serif;
+    margin-bottom: 10px;
+}
+
+.submit-vote.submit-vote-parent.voted a.submit-vote-button, .submit-vote.submit-vote-parent a.submit-vote-button:hover {
+    background-color: $ignite-red;
+}
+
+div.submit-vote.submit-vote-parent.voted a.submit-vote-button:hover {
+    background-color: #950d12;
+}
+
+a, .link .title {
+    color: $ignite-red;
+}
+
+a:hover, .link:hover .title {
+    color: #950d12;
+}
+
+.header h1.navbar-brand a {
+    background-image: url("#{$logo-path}");
+}
+
+.header h1.navbar-brand {
+    width: 96px;
+}
+
+.block-edit-parameters {
+    text-align: right;
+    padding-bottom: 5px;
+}
+
+.container-footer {
+    margin-top: 20px;
+}
+
+/* Modal */
+.modal {
+    display: block;
+    overflow: hidden;
+}
+
+.modal .close {
+    position: absolute;
+    top: 10px;
+    right: 10px;
+    float: none;
+}
+
+// Close icon
+.modal-header .close {
+    margin-right: -2px;
+}
+
+.modal .modal-dialog {
+    width: 610px;
+}
+
+.modal .modal-content {
+    border-radius: 0;
+    background-color: #f7f7f7;
+}
+
+.modal .modal-content .modal-header {
+    background-color: #fff;
+    text-align: center;
+    color: #555;
+    padding: 15px;
+    font-family: "myriad-pro", sans-serif;
+}
+
+.modal .modal-content .modal-header h4 {
+    font-family: "myriad-pro", sans-serif;
+    font-size: 22px;
+}
+
+.modal .modal-content .modal-header h4 .fa {
+    display: block;
+    font-size: 41px;
+    color: #ddd;
+    margin-bottom: 5px;
+}
+
+.modal .modal-content .modal-header p {
+    color: #aaa;
+    font-size: 1em;
+    margin: 3px 0 0;
+}
+
+.modal .modal-content .modal-spacer {
+    padding: 10px 10px 0 10px;
+}
+
+.modal .modal-content .modal-footer {
+    margin-top: 0;
+}
+
+.modal-body {
+    padding-top: 15px;
+}
+
+h1.ignite-logo {
+    background-image: url("#{$logo-path}");
+}
+
+.block-display-image img {
+    max-width: 100%;
+    max-height: 450px;
+    margin: auto;
+    display: block;
+}
+
+.greedy {
+    min-height: 100%;
+    height: #{"calc(100vh - 290px)"};
+}
+
+@media (min-width: 768px) {
+    .navbar-nav > li > a {
+        padding-top: 18px;
+        padding-bottom: 10px;
+    }
+}
+
+.details-row {
+    padding: 0 10px;
+}
+
+.details-row, .settings-row {
+    display: block;
+    margin: 10px 0;
+
+    label.table-header {
+        line-height: $input-height;
+    }
+
+    [class*="col-"] {
+        display: inline-block;
+        vertical-align: middle;
+        float: none;
+
+        padding-left: 0 !important;
+        padding-right: 0 !important;
+    }
+
+    input[type="checkbox"] {
+        line-height: 20px;
+        margin-right: 5px;
+    }
+
+    .checkbox label {
+        line-height: 20px;
+        vertical-align: middle;
+    }
+}
+
+button {
+    margin-right: 5px;
+}
+
+h1,
+h2,
+h3 {
+    user-select: none;
+    font-weight: normal;
+    /* Makes the vertical size of the text the same for all fonts. */
+    line-height: 1;
+}
+
+h3 {
+    color: black;
+    font-size: 1.2em;
+    margin-top: 0;
+    margin-bottom: 1.5em;
+}
+
+table tr:hover {
+    cursor: pointer;
+}
+
+.btn {
+    padding: 3px 6px;
+}
+
+button .caret, .btn .caret {
+    float: right;
+    margin-left: 5px;
+    margin-top: 7px;
+}
+
+.base-control {
+    text-align: left;
+    padding: 3px 3px;
+    height: $input-height;
+}
+
+.form-control {
+    @extend .base-control;
+
+    display: inline-block;
+
+    button {
+        text-align: left;
+    }
+}
+
+.theme-line .panel-heading {
+    padding: 10px 10px;
+    margin: 0;
+
+    h3 {
+        margin-bottom: 0;
+    }
+
+    h3 > a {
+        color: black;
+    }
+}
+
+.theme-line .panel-title {
+    a {
+        color: $ignite-red;
+    }
+
+    h3 {
+        margin-bottom: 20px;
+    }
+}
+
+.theme-line .panel-body {
+    padding: 10px 20px;
+}
+
+.theme-line .main-content a.customize {
+    margin-left: 5px;
+    color: $ignite-red;
+}
+
+.theme-line .panel-collapse {
+    margin: 0;
+}
+
+.theme-line table.links {
+    display: table;
+    table-layout: fixed;
+
+    td {
+        padding-left: 18px;
+    }
+
+    .active a {
+        color: $ignite-red;
+        font-weight: bold;
+    }
+
+    a:hover {
+        color: #950d12;
+    }
+
+    a {
+        color: #666;
+    }
+}
+
+.theme-line table.links-edit {
+    @extend table.links;
+
+    margin-top: 5px;
+    margin-bottom: 5px;
+
+    label {
+        line-height: $input-height;
+        color: #666;
+    }
+}
+
+.theme-line table.links-edit-details {
+    @extend table.links;
+
+    margin-bottom: 10px;
+
+    label {
+        line-height: $input-height;
+        color: #666;
+    }
+
+    td {
+        padding: 0;
+
+        .input-tip {
+            padding: 0;
+        }
+    }
+}
+
+.theme-line table.admin {
+    tr:hover {
+        cursor: default;
+    }
+
+    thead > tr th.header {
+        padding: 0 0 10px;
+
+        div {
+            padding: 0
+        }
+    }
+
+    margin-bottom: 10px;
+
+    label {
+        line-height: $input-height;
+        color: #666;
+    }
+
+    thead > tr th, td {
+        padding: 10px 10px;
+
+        .input-tip {
+            padding: 0;
+        }
+    }
+
+    tfoot > tr > td {
+        padding: 0;
+
+        .pagination {
+            margin: 10px 0;
+
+            > .active > a {
+                color: $ignite-red;
+                font-weight: bold;
+                border-color: #ddd;
+                background-color: #eee;
+            }
+        }
+    }
+}
+
+.theme-line table.sql-results {
+    [class*="col-"] {
+        padding-left: 0 !important;
+        padding-right: 0 !important;
+    }
+
+    td {
+        padding: 3px 6px;
+    }
+
+    > thead > tr > td {
+        padding: 3px 0;
+    }
+
+    thead > tr > th {
+        padding: 3px 6px;
+
+        line-height: $input-height;
+    }
+}
+
+.panel-title a {
+    font-size: 14px;
+}
+
+.panel-details {
+    margin-top: 10px;
+
+    padding: 0;
+
+    border-radius: 5px;
+    border: thin dotted lightgrey;
+}
+
+.table-details {
+    border-radius: 5px;
+    border: thin dotted lightgrey;
+
+    margin-top: 10px;
+
+    padding-left: 10px;
+    padding-right: 5px;
+}
+
+.tooltip.right .tooltip-arrow {
+    border-right-color: $ignite-red;
+}
+
+.tooltip > .tooltip-inner {
+    max-width: 400px;
+    text-align: left;
+    background-color: $ignite-red;
+}
+
+label {
+    font-weight: normal;
+    margin-bottom: 0;
+}
+
+.form-horizontal .checkbox {
+    padding-top: 0;
+}
+
+.input-tip {
+    display: block;
+    overflow: hidden;
+}
+
+.labelField {
+    float: left;
+    margin-right: 5px;
+}
+
+.labelFormField {
+    float: left;
+    line-height: $input-height;
+}
+
+.form-horizontal .form-group {
+    margin: 0;
+}
+
+.form-horizontal .has-feedback .form-control-feedback {
+    right: 0;
+}
+
+.tipField {
+    float: right;
+    line-height: $input-height;
+    margin-left: 5px;
+}
+
+.tipLabel {
+    font-size: 14px;
+    margin-left: 5px;
+}
+
+.fieldSep {
+    float: right;
+    line-height: $input-height;
+    margin: 0 5px;
+}
+
+.fieldButton {
+    float: right;
+    margin-left: 5px;
+    margin-right: 0;
+}
+
+.fa-plus {
+    cursor: pointer;
+}
+
+.fa-remove {
+    color: $ignite-red;
+    cursor: pointer;
+}
+
+.fa-floppy-o {
+    cursor: pointer;
+}
+
+.fa-arrow-up {
+    cursor: pointer;
+}
+
+.fa-arrow-down {
+    cursor: pointer;
+}
+
+label.required:after {
+    color: $ignite-red;
+    content: ' *';
+    display: inline;
+}
+
+.blank {
+    visibility: hidden;
+}
+
+.alert {
+    outline: 0
+}
+
+.alert.bottom, .alert.bottom-left, .alert.bottom-right, .alert.top,
+.alert.top-left, .alert.top-right {
+    position: fixed;
+    z-index: 1050;
+    margin: 20px
+}
+
+.alert.top, .alert.top-left, .alert.top-right {
+    top: 50px
+}
+
+.alert.top {
+    right: 0;
+    left: 0
+}
+
+.alert.top-right {
+    right: 0
+}
+
+.alert.top-right .close {
+    padding-left: 10px
+}
+
+.alert.top-left {
+    left: 0
+}
+
+.alert.top-left .close {
+    padding-right: 10px
+}
+
+.alert.bottom, .alert.bottom-left, .alert.bottom-right {
+    bottom: 0
+}
+
+.alert.bottom {
+    right: 0;
+    left: 0
+}
+
+.alert.bottom-right {
+    right: 0
+}
+
+.alert.bottom-right .close {
+    padding-left: 10px
+}
+
+.alert.bottom-left {
+    left: 0
+}
+
+.alert.bottom-left .close {
+    padding-right: 10px
+}
+
+//  Summary page
+#cfgResult textarea {
+    font-family: monospace;
+    font-size: 12px;
+}
+
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+    margin: 0;
+}
+
+input[type="number"] {
+    -moz-appearance: textfield;
+}
+
+input.ng-dirty.ng-invalid, button.ng-dirty.ng-invalid {
+    border-color: $ignite-red;
+
+    :focus {
+        border-color: $ignite-red;
+    }
+}
+
+.form-control-feedback {
+    display: inline-block;
+    color: $ignite-red;
+    right: 18px;
+    line-height: $input-height;
+    pointer-events: initial;
+}
+
+.syntaxhighlighter {
+    padding: 10px 5px;
+    border-radius: 6px;
+}
+
+.theme-line table.links-edit-small-padding {
+    @extend table.links;
+
+    label {
+        line-height: $input-height;
+        color: #666;
+    }
+
+    a {
+        line-height: $input-height;
+    }
+
+    input[type="checkbox"] {
+        line-height: 20px;
+        margin-right: 5px;
+    }
+
+    .checkbox label {
+        line-height: 20px;
+        vertical-align: middle;
+    }
+
+    th {
+        text-align: center;
+    }
+
+    td {
+        padding-left: 10px;
+    }
+
+    margin-top: 10px;
+}
+
+.nav-tabs > li > a {
+    padding: 5px 5px;
+}
+
+.viewedUser {
+    position: absolute;
+    width: 100%;
+    left: 0;
+
+    text-align: center;
+
+    margin-top: -15px;
+
+    background-color: #f8d5d8;
+}
+
+a {
+    cursor: pointer;
+}
+
+.st-sort-ascent:after {
+    content: '\25B2';
+}
+
+.st-sort-descent:after {
+    content: '\25BC';
+}
+
+.panel {
+    margin-bottom: 0;
+}
+
+.panel-group {
+    margin-bottom: 0;
+}
+
+.panel-group .panel + .panel {
+    margin-top: 20px;
+}
+
+.margin-top-dflt {
+    margin-top: 10px;
+}
+
+.margin-bottom-dflt {
+    margin-bottom: 10px;
+}
+
+.margin-dflt {
+    margin-top: 10px;
+    margin-bottom: 10px;
+}
+
+.padding-top-dflt {
+    padding-top: 10px;
+}
+
+.padding-bottom-dflt {
+    padding-bottom: 10px;
+}
+
+.padding-dflt {
+    padding-top: 10px;
+    padding-bottom: 10px;
+}
+
+.theme-line .panel-title h3 {
+    margin-top: 20px;
+    margin-bottom: 20px;
+}
+
+.block-callout-parent {
+    background-color: $ignite-block-callout-background;
+    overflow: hidden;
+}
+
+.block-callout {
+    background-color: $ignite-block-callout-background;
+    display: inline-block;
+    vertical-align: top;
+    width: 50%;
+
+    i {
+        padding: 10px 5px 0 10px;
+        color: $ignite-block-callout;
+    }
+
+    ul {
+        padding-left: 20px;
+        margin-bottom: 0;
+    }
+
+    p {
+        padding: 5px 0 10px 10px;
+        margin: 0;
+    }
+
+    label {
+        font-weight: bold;
+        color: $ignite-block-callout;
+    }
+}
+
+.block-callout-border {
+    border-left: 5px solid;
+    border-color: $ignite-block-callout;
+}
+
+.labelHeader {
+    font-weight: bold;
+}
+
+.ace_editor, #ace_document {
+    margin: 0.65em 0 0 0;
+
+    width: 100%;
+    height: 400px;
+
+    .ace_gutter {
+        background: transparent !important;
+        border: 1px #ddd;
+        border-right-style: solid;
+    }
+
+    .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell {
+        padding-left: 0.65em;
+        padding-right: 0.9em;
+    }
+}
+
+.loading-indicator {
+    box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    width: 100%;
+    text-align: center;
+    padding: 0.7em;
+
+    :before {
+        display: inline-block;
+        margin: 0 0.4em;
+        min-width: 1em;
+        min-height: 1em;
+        border: 4px solid #646464;
+        border-right-color: #e6e6e6;
+        border-left-color: #e6e6e6;
+        content: "";
+        -webkit-animation: halfspin 1s ease infinite;
+        -moz-animation: halfspin 1s ease infinite;
+        -o-animation: halfspin 1s ease infinite;
+        animation: halfspin 1s ease infinite;
+        border-radius: 100%;
+    }
+}
+
+@-webkit-keyframes halfspin {
+    to {
+        -webkit-transform: rotate(180deg);
+        -moz-transform: rotate(180deg);
+        transform: rotate(180deg);
+    }
+}
+
+@-moz-keyframes halfspin {
+    to {
+        -webkit-transform: rotate(180deg);
+        -moz-transform: rotate(180deg);
+        transform: rotate(180deg);
+    }
+}
+
+@keyframes halfspin {
+    to {
+        -webkit-transform: rotate(180deg);
+        -moz-transform: rotate(180deg);
+        transform: rotate(180deg);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/caches.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/caches.jade b/modules/web-control-center/src/main/js/views/configuration/caches.jade
index 3a011fc..ea50317 100644
--- a/modules/web-control-center/src/main/js/views/configuration/caches.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/caches.jade
@@ -27,10 +27,10 @@ block content
         hr
     .docs-body(ng-controller='cachesController')
         +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
-        .links(ng-hide='caches.length == 0')
+        div(ng-hide='caches.length == 0')
             .padding-dflt
                 lable.labelHeader Caches:
-                table(st-table='caches')
+                table.links(st-table='caches')
                     tbody
                         tr(ng-repeat='row in caches track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/clusters.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/clusters.jade b/modules/web-control-center/src/main/js/views/configuration/clusters.jade
index 81acfed..cf429e5 100644
--- a/modules/web-control-center/src/main/js/views/configuration/clusters.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/clusters.jade
@@ -27,10 +27,10 @@ block content
         hr
     .docs-body(ng-controller='clustersController')
         +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
-        .links(ng-hide='clusters.length == 0')
+        div(ng-hide='clusters.length == 0')
             .padding-dflt
                 lable.labelHeader Clusters:
-                table(st-table='clusters')
+                table.links(st-table='clusters')
                     tbody
                         tr(ng-repeat='row in clusters track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/metadata.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/metadata.jade b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
index 1197795..9f94965 100644
--- a/modules/web-control-center/src/main/js/views/configuration/metadata.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/metadata.jade
@@ -27,10 +27,10 @@ block content
         hr
     .docs-body(ng-controller='metadataController')
         +block-callout('{{screenTip.workflowTitle}}', 'joinTip(screenTip.workflowContent)', '{{screenTip.whatsNextTitle}}', 'joinTip(screenTip.whatsNextContent)')
-        .links(ng-hide='metadatas.length == 0')
+        div(ng-hide='metadatas.length == 0')
             .padding-dflt
                 lable.labelHeader Types metadata:
-                table(st-table='metadatas')
+                table.links(st-table='metadatas')
                     tbody
                         tr(ng-repeat='row in metadatas track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/configuration/summary.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/configuration/summary.jade b/modules/web-control-center/src/main/js/views/configuration/summary.jade
index 0370ef4..688f85e 100644
--- a/modules/web-control-center/src/main/js/views/configuration/summary.jade
+++ b/modules/web-control-center/src/main/js/views/configuration/summary.jade
@@ -46,8 +46,7 @@ block content
             | &nbsp;it.
         .padding-dflt(ng-if='clusters.length > 0')
             lable.labelHeader Clusters:
-            .links
-                table(st-table='clusters')
+                table.links(st-table='clusters')
                     tbody
                         tr(ng-repeat='row in clusters track by row._id')
                             td.col-sm-6(ng-class='{active: row._id == selectedItem._id}')

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6b58c47d/modules/web-control-center/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/src/main/js/views/sql/sql.jade b/modules/web-control-center/src/main/js/views/sql/sql.jade
index 864b0d5..1e625ff 100644
--- a/modules/web-control-center/src/main/js/views/sql/sql.jade
+++ b/modules/web-control-center/src/main/js/views/sql/sql.jade
@@ -42,9 +42,9 @@ block container
                                 'rendererOptions: {showPrintMargin: false, highlightGutterLine: false, fontSize: 14},' +
                                 'advanced: {enableSnippets: false, enableBasicAutocompletion: true, enableLiveAutocompletion: true}}' ng-model='#{tab}.query')
                         .col-sm-3
-                            .links(ng-hide='caches.length == 0' style='margin-top: 0.65em')
+                            div(ng-hide='caches.length == 0' style='margin-top: 0.65em')
                                 lable.labelHeader Caches:
-                                table(st-table='caches')
+                                table.links(st-table='caches')
                                     tbody
                                         tr(ng-repeat='row in caches track by row._id')
                                             td.col-sm-6(ng-class='{active: row._id == #{tab}.selectedItem._id}')
@@ -78,5 +78,8 @@ block container
                                     tr
                                         th(ng-repeat='column in #{tab}.cols' st-sort='{{column}}') {{column}}
                                 tbody
+                                    //tr
+                                    //    td(colspan='{{#{tab}.cols.length}}')
+                                    //        .loading-indicator
                                     tr(ng-repeat='row in rows')
                                         td(ng-repeat="column in #{tab}.cols") {{row[column]}}
\ No newline at end of file