Merge branch 'master' of github.com:elasticsearch/kibana

Conflicts:
	docs/kibana/configuration/config.js.asciidoc
	src/app/directives/configModal.js
	src/app/directives/kibanaPanel.js
	src/app/panels/filtering/module.html
	src/app/panels/query/module.html
	src/app/panels/query/query.css
	src/app/panels/table/editor.html
	src/app/panels/table/module.js
	src/app/partials/dashLoader.html
	src/app/partials/dashboard.html
	src/app/services/querySrv.js
	src/css/bootstrap.dark.min.css
	src/index.html
	tasks/docs_task.js
pull/7/head
Torkel Ödegaard 12 years ago
commit 24e624ba63
  1. 773
      grafana.sublime-workspace
  2. 24
      sample/lighttpd_basic.conf
  3. 10
      src/app/controllers/dash.js
  4. 6
      src/app/controllers/dashLoader.js
  5. 1
      src/app/controllers/graphiteTarget.js
  6. 19
      src/app/directives/configModal.js
  7. 7
      src/app/directives/kibanaPanel.js
  8. 14
      src/app/panels/filtering/module.html
  9. 20
      src/app/panels/filtering/module.js
  10. 4
      src/app/panels/histogram/module.html
  11. 10
      src/app/panels/timepicker/editor.html
  12. 39
      src/app/partials/dashboard.html
  13. 2
      src/app/partials/dasheditor.html
  14. 3
      src/app/partials/paneleditor.html
  15. 5
      src/app/partials/roweditor.html
  16. 2
      src/app/services/dashboard.js
  17. 4
      src/app/services/filterSrv.js
  18. 2
      src/app/services/graphite/graphiteSrv.js
  19. 2
      src/config.js
  20. 2
      src/css/bootstrap.dark.min.css
  21. 2
      src/css/bootstrap.light.min.css
  22. BIN
      src/img/cubes.png
  23. BIN
      src/img/light.png
  24. 1
      src/index.html
  25. 555
      src/vendor/bootstrap/less/bak/bootswatch.dark.less
  26. 304
      src/vendor/bootstrap/less/bak/variables.dark.less
  27. 666
      src/vendor/bootstrap/less/bootswatch.dark.less
  28. 598
      src/vendor/bootstrap/less/bootswatch.light.less
  29. 2
      src/vendor/bootstrap/less/modals.less
  30. 138
      src/vendor/bootstrap/less/overrides.less
  31. 189
      src/vendor/bootstrap/less/variables.dark.less
  32. 165
      src/vendor/bootstrap/less/variables.light.less

File diff suppressed because one or more lines are too long

@ -0,0 +1,24 @@
$HTTP["host"] =~ "kibana" {
server.document-root = "/var/ww/kibana/src"
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/kibanapassword"
index-file.names = ( "index.html", "index.htm" )
auth.require = ( "/" => (
"method" => "basic",
"realm" => "Password Protected",
"require" => "valid-user"
)
)
$HTTP["url"] =~ "^/kibana-int/(dashboard/|temp).*$" {
proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) )
}
$HTTP["url"] =~ "^.*/_(mapping|search|nodes|aliases)$" {
proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "127.0.0.1", "port" => "9200" ) ) )
}
}

@ -77,7 +77,7 @@ function (angular, $, config, _) {
$rootScope.$emit('open-search', evt); $rootScope.$emit('open-search', evt);
}, { inputDisabled: true }); }, { inputDisabled: true });
keyboardManager.bind('ctrl+h', function(evt) { keyboardManager.bind('ctrl+h', function() {
var current = dashboard.current.hideControls; var current = dashboard.current.hideControls;
dashboard.current.hideControls = !current; dashboard.current.hideControls = !current;
dashboard.current.panel_hints = !current; dashboard.current.panel_hints = !current;
@ -87,7 +87,7 @@ function (angular, $, config, _) {
$rootScope.$emit('save-dashboard', evt); $rootScope.$emit('save-dashboard', evt);
}, { inputDisabled: true }); }, { inputDisabled: true });
keyboardManager.bind('ctrl+r', function(evt) { keyboardManager.bind('ctrl+r', function() {
dashboard.refresh(); dashboard.refresh();
}, { inputDisabled: true }); }, { inputDisabled: true });
@ -162,6 +162,12 @@ function (angular, $, config, _) {
} }
}; };
$scope.pulldownTabStyle = function(i) {
var classes = ['bgPrimary','bgSuccess','bgWarning','bgDanger','bgInverse','bgInfo'];
i = i%classes.length;
return classes[i];
};
$scope.setEditorTabs = function(panelMeta) { $scope.setEditorTabs = function(panelMeta) {
$scope.editorTabs = ['General','Panel']; $scope.editorTabs = ['General','Panel'];
if(!_.isUndefined(panelMeta.editorTabs)) { if(!_.isUndefined(panelMeta.editorTabs)) {

@ -1,8 +1,9 @@
define([ define([
'angular', 'angular',
'underscore' 'underscore',
'moment'
], ],
function (angular, _) { function (angular, _, moment) {
'use strict'; 'use strict';
var module = angular.module('kibana.controllers'); var module = angular.module('kibana.controllers');
@ -160,7 +161,6 @@ function (angular, _) {
type:'time', type:'time',
from:moment.utc(_from).toDate(), from:moment.utc(_from).toDate(),
to:moment.utc(_to).toDate(), to:moment.utc(_to).toDate(),
field:"@timestamp"
}); });
}; };

@ -15,7 +15,6 @@ function (angular, _, config, graphiteFuncs, Parser) {
$scope.init = function() { $scope.init = function() {
$scope.funcCategories = graphiteFuncs.getCategories(); $scope.funcCategories = graphiteFuncs.getCategories();
parseTarget(); parseTarget();
i = 10;
}; };
function parseTarget() { function parseTarget() {

@ -1,8 +1,8 @@
define([ define([
'angular', 'angular',
'app', 'underscore'
], ],
function (angular) { function (angular,_) {
'use strict'; 'use strict';
angular angular
@ -11,6 +11,7 @@ function (angular) {
return { return {
restrict: 'A', restrict: 'A',
link: function(scope, elem) { link: function(scope, elem) {
// create a new modal. Can't reuse one modal unforunately as the directive will not // create a new modal. Can't reuse one modal unforunately as the directive will not
// re-render on show. // re-render on show.
elem.bind('click',function(){ elem.bind('click',function(){
@ -20,11 +21,23 @@ function (angular) {
return; return;
} }
// Create a temp scope so we can discard changes to it if needed
var tmpScope = scope.$new();
tmpScope.panel = angular.copy(scope.panel);
tmpScope.editSave = function(panel) {
// Correctly set the top level properties of the panel object
_.each(panel,function(v,k) {
scope.panel[k] = panel[k];
});
};
var panelModal = $modal({ var panelModal = $modal({
template: './app/partials/paneleditor.html', template: './app/partials/paneleditor.html',
persist: true, persist: true,
show: false, show: false,
scope: scope, scope: tmpScope,
keyboard: false keyboard: false
}); });

@ -30,9 +30,6 @@ function (angular) {
'onStop:\'panelMoveStop\''+ 'onStop:\'panelMoveStop\''+
'}" ng-model="row.panels"><i class="icon-move"></i></span>'+ '}" ng-model="row.panels"><i class="icon-move"></i></span>'+
'</span>' + '</span>' +
'<span class="extra row-button" ng-show="panel.draggable == false">' +
'<span class="row-text">{{panel.type}}</span>'+
'</span>' +
'<span class="row-button extra" ng-show="panel.editable != false">' + '<span class="row-button extra" ng-show="panel.editable != false">' +
'<span config-modal class="pointer">'+ '<span config-modal class="pointer">'+
@ -51,7 +48,7 @@ function (angular) {
'</span>' + '</span>' +
'<span ng-if="panelMeta.menuItems" class="dropdown" ng-show="panel.title">' + '<span ng-if="panelMeta.menuItems" class="dropdown" ng-show="panel.title">' +
'<span class="pointer dropdown-toggle row-text row-button panel-title pointer" data-toggle="dropdown" tabindex="1">' + '<span class="dropdown-toggle panel-text panel-title pointer" data-toggle="dropdown" tabindex="1">' +
'{{panel.title}}' + '{{panel.title}}' +
'</span>' + '</span>' +
'<ul class="dropdown-menu" role="menu">' + '<ul class="dropdown-menu" role="menu">' +
@ -59,7 +56,7 @@ function (angular) {
'</ul>' + '</ul>' +
'</span>'+ '</span>'+
'<span ng-if="!panelMeta.menuItems" class="row-button row-text panel-title pointer" ng-show="panel.title">' + '<span ng-if="!panelMeta.menuItems" class="panel-text panel-title" ng-show="panel.title">' +
'{{panel.title}}' + '{{panel.title}}' +
'</span>'+ '</span>'+

@ -8,23 +8,14 @@
vertical-align: top; vertical-align: top;
width: 220px; width: 220px;
padding: 5px 5px 0px 5px; padding: 5px 5px 0px 5px;
border: #555 1px solid;
margin: 5px 5px 5px 0px; margin: 5px 5px 5px 0px;
color: #fff;
background-color: #444;
} }
.filter-panel-filter ul { .filter-panel-filter ul {
margin-bottom: 3px; margin-bottom: 3px;
} }
.filter-must {
border-top: #7EB26D 3px solid;
}
.filter-mustNot {
border-top: #E24D42 3px solid;
}
.filter-either {
border-top: #EF843C 3px solid;
}
.filter-deselected { .filter-deselected {
opacity: 0.5; opacity: 0.5;
} }
@ -39,7 +30,6 @@
} }
.filter-apply { .filter-apply {
float:right; float:right;
margin-bottom: 5px;
} }
</style> </style>

@ -44,7 +44,7 @@ function (angular, app, _) {
dashboard.refresh(); dashboard.refresh();
}; };
$scope.add = function(query) { $scope.add = function() {
filterSrv.set({ filterSrv.set({
editing : true, editing : true,
type : 'filter', type : 'filter',
@ -74,6 +74,24 @@ function (angular, app, _) {
return !_.contains(['type','id','active','editing', 'name', 'query', 'value'],key); return !_.contains(['type','id','active','editing', 'name', 'query', 'value'],key);
}; };
$scope.getFilterClass = function(filter) {
if(filter.active !== true) {
return 'muted';
} else {
switch (filter.mandate)
{
case 'must':
return 'text-success';
case 'mustNot':
return 'text-error';
case 'either':
return 'text-warning';
default:
return 'text-info';
}
}
};
$scope.isEditable = function(filter) { $scope.isEditable = function(filter) {
var uneditable = ['time']; var uneditable = ['time'];
if(_.contains(uneditable,filter.type)) { if(_.contains(uneditable,filter.type)) {

@ -35,8 +35,8 @@
</style> </style>
<div> <div>
<span ng-show='panel.options'> <span ng-show='panel.options'>
<a class="link underline small" ng-show='panel.options' ng-click="options=!options"> <a class="link small" ng-show='panel.options' ng-click="options=!options">
<i ng-show="!options" class="icon-caret-right"></i><i ng-show="options" class="icon-caret-down"></i> View View <i ng-show="!options" class="icon-caret-right"></i><i ng-show="options" class="icon-caret-down"></i>
</a> |&nbsp </a> |&nbsp
</span> </span>
<span ng-show='panel.zoomlinks && data'> <span ng-show='panel.zoomlinks && data'>

@ -1,14 +1,16 @@
<div class="row-fluid"> <div class="editor-row">
<div class="span4"> <div class="section">
<div class="editor-option">
<label class="small">Relative time options <small>comma seperated</small></label> <label class="small">Relative time options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.time_options"> <input type="text" array-join class="input-large" ng-model="panel.time_options">
</div> </div>
<div class="span4"> <div class="editor-option">
<label class="small">Auto-refresh options <small>comma seperated</small></label> <label class="small">Auto-refresh options <small>comma seperated</small></label>
<input type="text" array-join class="input-large" ng-model="panel.refresh_intervals"> <input type="text" array-join class="input-large" ng-model="panel.refresh_intervals">
</div> </div>
<div class="span2"> <div class="editor-option">
<label class="small">Time Field</label> <label class="small">Time Field</label>
<input type="text" class="input-small" ng-model="panel.timefield"> <input type="text" class="input-small" ng-model="panel.timefield">
</div> </div>
</div> </div>
</div>

@ -1,15 +1,16 @@
<!-- is there a better way to repeat without actually affecting the page? --> <!-- is there a better way to repeat without actually affecting the page? -->
<nil ng-repeat="pulldown in dashboard.current.pulldowns" ng-controller="PulldownCtrl" ng-show="pulldown.enable"> <nil ng-repeat="pulldown in dashboard.current.pulldowns" ng-controller="PulldownCtrl" ng-show="pulldown.enable">
<div class="top-row-close pointer pull-left" ng-class="pulldownTabStyle($index)" ng-click="toggle_pulldown(pulldown);dismiss();" bs-tooltip="'Toggle '+pulldown.type" data-placement="bottom">
<span class="small">{{pulldown.type}}</span>
<i class="small" ng-class="{'icon-caret-left':pulldown.collapse,'icon-caret-right':!pulldown.collapse}"></i>
<i class="small icon-star" ng-show="row.notice && pulldown.collapse"></i>
</div>
<div class="clearfix bgNav" ng-hide="pulldown.collapse"></div>
<div class="top-row-open" ng-hide="pulldown.collapse"> <div class="top-row-open" ng-hide="pulldown.collapse">
<kibana-simple-panel type="pulldown.type" ng-cloak></kibana-simple-panel> <kibana-simple-panel type="pulldown.type" ng-cloak></kibana-simple-panel>
</div> </div>
<div class="top-row-close pointer" ng-click="toggle_pulldown(pulldown);dismiss();" bs-tooltip="'Toggle '+pulldown.type" data-placement="bottom">
<span class="small row-text">{{pulldown.type}}</span>
<i class="small" ng-class="{'icon-caret-left':pulldown.collapse,'icon-caret-up':!pulldown.collapse}"></i>
<i class="small icon-star text-warning" ng-show="row.notice && pulldown.collapse"></i>
</div>
</nil> </nil>
<div class="clearfix bgNav" ></div>
<div class="container-fluid main" ng-class="{'grafana-dashboard-hide-controls': dashboard.current.hideControls}"> <div class="container-fluid main" ng-class="{'grafana-dashboard-hide-controls': dashboard.current.hideControls}">
<div class="row-fluid"> <div class="row-fluid">
<div class="row-fluid container" style="margin-top:10px; width:98%"> <div class="row-fluid container" style="margin-top:10px; width:98%">
@ -21,32 +22,28 @@
<div class="row-fluid grafana-row" style="padding:0px;margin:0px;position:relative;"> <div class="row-fluid grafana-row" style="padding:0px;margin:0px;position:relative;">
<div class="row-close span12" ng-show="row.collapse" data-placement="bottom" > <div class="row-close span12" ng-show="row.collapse" data-placement="bottom" >
<span class="row-button" bs-modal="'app/partials/roweditor.html'" class="pointer"> <span class="row-button bgWarning" bs-modal="'app/partials/roweditor.html'" class="pointer">
<i bs-tooltip="'Configure row'" data-placement="right" ng-show="row.editable" class="icon-cog pointer"></i> <i bs-tooltip="'Configure row'" data-placement="right" ng-show="row.editable" class="icon-cog pointer"></i>
</span> </span>
<span class="row-button" ng-click="toggle_row(row)" ng-show="row.collapsable"> <span class="row-button bgPrimary" ng-click="toggle_row(row)" ng-show="row.collapsable">
<i bs-tooltip="'Expand row'" data-placement="right" ng-show="row.editable" class="icon-caret-right pointer" ></i> <i bs-tooltip="'Expand row'" data-placement="right" ng-show="row.editable" class="icon-caret-left pointer" ></i>
</span> </span>
<span class="row-button row-text" ng-click="toggle_row(row)" ng-class="{'pointer':row.collapsable}">{{row.title || 'Row '+$index}}</span> <span class="row-button row-text" ng-click="toggle_row(row)" ng-class="{'pointer':row.collapsable}">{{row.title || 'Row '+$index}}</span>
</div> </div>
<div style="text-align:center" class="row-open" ng-show="!row.collapse"> <div style="text-align:center" class="row-open" ng-show="!row.collapse">
<span ng-show="row.collapsable"> <div ng-show="row.collapsable" class='row-tab bgPrimary' ng-click="toggle_row(row)">
<i bs-tooltip="'Hide row'" data-placement="right" class="icon-caret-up" ng-click="toggle_row(row)"></i> <i bs-tooltip="'Hide row'" data-placement="right" class="icon-caret-right" ></i>
<br> <br>
</span> </div>
<span bs-modal="'app/partials/roweditor.html'" ng-show="row.editable"> <div bs-modal="'app/partials/roweditor.html'" class='row-tab bgWarning' ng-show="row.editable">
<i bs-tooltip="'Configure row'" data-placement="right" class="icon-cog pointer"></i> <i bs-tooltip="'Configure row'" data-placement="right" class="icon-cog pointer"></i>
<br> <br>
</span> </div>
<span ng-show="rowSpan(row) == 12 && row.editable"> <div ng-show="rowSpan(row) > 12" class='row-tab bgDanger'>
<i bs-tooltip="'Row full. Create a new row to add more panels'" data-placement="right" class="icon-columns"></i> <i bs-tooltip="'Total span > 12. This row may format poorly'" data-placement="right" class="icon-warning-sign"></i>
<br>
</span>
<span ng-show="rowSpan(row) > 12">
<i bs-tooltip="'Total span > 12. This row may format poorly'" data-placement="right" class="icon-warning-sign text-warning"></i>
<br> <br>
</span> </div>
</div> </div>
</div> </div>

@ -35,7 +35,7 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="span8"> <div class="span8">
<h4>Rows</h4> <h4>Rows</h4>
<table class="table table-condensed table-bordered"> <table class="table table-striped">
<thead> <thead>
<th width="1%"></th> <th width="1%"></th>
<th width="1%"></th> <th width="1%"></th>

@ -19,5 +19,6 @@
<div class="modal-footer"> <div class="modal-footer">
<!-- close_edit() is provided here to allow for a scope to perform action on dismiss --> <!-- close_edit() is provided here to allow for a scope to perform action on dismiss -->
<button type="button" class="btn btn-danger" ng-click="editor.index=0;close_edit();dismiss()">Close</button> <button type="button" class="btn btn-success" ng-click="editor.index=0;editSave(panel);close_edit();dismiss()">Save</button>
<button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss()">Cancel</button>
</div> </div>

@ -22,7 +22,7 @@
</div> </div>
<div class="row-fluid" ng-if="editor.index == 1"> <div class="row-fluid" ng-if="editor.index == 1">
<div class="span12"> <div class="span12">
<h4>Panels <i class="icon-plus-sign link" bs-tooltip="'Add panel'" ng-click="editor.index = 2"></i></h4> <h4>Panels</h4>
<table class="table table-condensed table-striped"> <table class="table table-condensed table-striped">
<thead> <thead>
<th>Title</th> <th>Title</th>
@ -60,6 +60,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button ng-show="panel.type &amp;&amp; editor.index == 2" ng-click="add_panel(row,panel); reset_panel(); editor.index == 1;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button> <button ng-show="editor.index == 1" ng-click="editor.index = 2;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button>
<button ng-show="panel.type && editor.index == 2" ng-click="add_panel(row,panel); reset_panel(); editor.index = 1;" class="btn btn-success" ng-disabled="panel.loadingEditor">Add Panel</button>
<button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss();reset_panel();close_edit()">Close</button> <button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss();reset_panel();close_edit()">Close</button>
</div> </div>

@ -115,7 +115,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
// as their default // as their default
if (Modernizr.localstorage) { if (Modernizr.localstorage) {
if(!(_.isUndefined(window.localStorage['dashboard'])) && window.localStorage['dashboard'] !== '') { if(!(_.isUndefined(window.localStorage['dashboard'])) && window.localStorage['dashboard'] !== '') {
console.log(window.localStorage['dashboard']);
$location.path(config.default_route); $location.path(config.default_route);
alertSrv.set('Saving to browser storage has been replaced',' with saving to Elasticsearch.'+ alertSrv.set('Saving to browser storage has been replaced',' with saving to Elasticsearch.'+
' Click <a href="#/dashboard/local/deprecated">here</a> to load your old dashboard anyway.'); ' Click <a href="#/dashboard/local/deprecated">here</a> to load your old dashboard anyway.');
@ -215,7 +214,6 @@ function (angular, $, kbn, _, config, moment, Modernizr) {
}; };
this.set_default = function(route) { this.set_default = function(route) {
console.log(route);
if (Modernizr.localstorage) { if (Modernizr.localstorage) {
// Purge any old dashboards // Purge any old dashboards
if(!_.isUndefined(window.localStorage['dashboard'])) { if(!_.isUndefined(window.localStorage['dashboard'])) {

@ -236,7 +236,9 @@ define([
var idCount = dashboard.current.services.filter.ids.length; var idCount = dashboard.current.services.filter.ids.length;
if(idCount > 0) { if(idCount > 0) {
// Make a sorted copy of the ids array // Make a sorted copy of the ids array
var ids = _.clone(dashboard.current.services.filter.ids).sort(); var ids = _.sortBy(_.clone(dashboard.current.services.filter.ids),function(num){
return num;
});
return kbn.smallestMissing(ids); return kbn.smallestMissing(ids);
} else { } else {
// No ids currently in list // No ids currently in list

@ -57,7 +57,7 @@ function (angular, _, $, config) {
}; };
}); });
}); });
} };
function buildGraphitePostParams(options) { function buildGraphitePostParams(options) {

@ -18,7 +18,7 @@ function (Settings) {
* The URL to your elasticsearch server. You almost certainly don't * The URL to your elasticsearch server. You almost certainly don't
* want +http://localhost:9200+ here. Even if Kibana and Elasticsearch are on * want +http://localhost:9200+ here. Even if Kibana and Elasticsearch are on
* the same host. By default this will attempt to reach ES at the same host you have * the same host. By default this will attempt to reach ES at the same host you have
* elasticsearch installed on. You probably want to set it to the FQDN of your * kibana installed on. You probably want to set it to the FQDN of your
* elasticsearch host * elasticsearch host
*/ */
elasticsearch: "http://"+window.location.hostname+":9200", elasticsearch: "http://"+window.location.hostname+":9200",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@ -22,6 +22,7 @@
<body ng-cloak> <body ng-cloak>
<!--<link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">-->
<link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css"> <link rel="stylesheet" ng-href="css/bootstrap.{{dashboard.current.style||'dark'}}.min.css">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css"> <link rel="stylesheet" href="css/bootstrap-responsive.min.css">
<link rel="stylesheet" href="css/font-awesome.min.css"> <link rel="stylesheet" href="css/font-awesome.min.css">

@ -0,0 +1,555 @@
// Slate 2.3.2
// Bootswatch
// -----------------------------------------------------
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 3%);
margin: 0px;
}
// TYPOGRAPHY
// -----------------------------------------------------
h1, h2, h3, h4, h5, h6 {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
}
code, pre {
background-color: #F7F7F7;
border: 1px solid darken(@grayDarker, 5%);
text-shadow: none;
}
// SCAFFOLDING
// -----------------------------------------------------
legend, .page-header {
border-bottom: 1px solid @hrBorder;
}
hr {
border-bottom: none;
}
// NAVBAR
// -----------------------------------------------------
.navbar {
.navbar-inner {
#gradient > .vertical-three-colors(@grayDark, darken(@bodyBackground,3%), 70%, darken(@bodyBackground,3%));
}
.brand {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: none;
}
.navbar-text {
padding: 0 15px;
font-weight: bold;
}
.nav > li > a {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid rgba(0, 0, 0, 0.2);
border-left: 1px solid rgba(255, 255, 255, 0.1);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
}
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 2%), lighten(@grayDark, 2%), 0deg);
border-right: 1px solid darken(@gray, 15%);
}
.navbar-search .search-query {
border: 1px solid darken(@gray, 15%);
}
.btn,
.btn-group {
margin: 4px 0;
}
.divider-vertical {
background-color: transparent;
border-right: none;
}
.dropdown-menu::after {
border-bottom: 6px solid @grayDark;
}
&-inverse {
.navbar-inner {
#gradient > .vertical-three-colors(darken(@grayDarker, 3%), darken(@grayDarker, 8%), 70%, darken(@grayDarker, 8%));
}
.nav li > a {
background-image: none;
background-color: transparent;
}
.nav li > a:hover,
.nav li.active > a,
.nav li.active > a:hover {
#gradient > .directional(darken(@grayDarker, 10%), darken(@grayDarker, 5%), 280deg);
}
}
}
@media (max-width: @navbarCollapseWidth) {
.navbar .nav-collapse {
.nav li > a,
.nav li > a:hover,
.nav .active > a,
.nav .active > a:hover {
.box-shadow(none);
color: @grayLighter;
border: 1px solid transparent;
background-color: transparent;
background-image: none;
}
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker;
}
.navbar-form,
.navbar-search {
border-color: transparent;
.box-shadow(none);
}
.nav-header {
color: @grayLight;
}
}
.navbar-inverse .nav-collapse {
.nav li > a:hover,
.nav .active > a:hover {
background-color: @grayDarker !important;
}
}
}
.nav-tabs {
.active > a, .active a:hover {
border-bottom: 1px solid darken(@grayDark, 5%);;
}
}
div.subnav {
margin: 0 1px;
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
.nav > li > a {
color: @grayLighter;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
&:hover {
color: @grayLighter;
background-color: @grayDark;
//#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
}
.nav > li.active > a,
.nav > li.active > a:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-right: 1px solid darken(@gray, 15%);
}
.nav > li:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid transparent;
}
.nav > li.active:last-child > a,
.nav > li:last-child > a:hover {
border-right: 1px solid darken(@gray, 15%);
}
.open .dropdown-toggle {
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
}
&.subnav-fixed {
top: @navbarHeight;
margin: 0;
.box-shadow(none);
.nav > li.active:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid darken(@gray, 15%);
}
}
}
// NAV
// -----------------------------------------------------
.nav {
.nav-header {
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
}
& > li > a {
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
border: none;
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
li.active > a,
li.active > a:hover {
background-color: transparent;
color: @white;
}
& > li.disabled > a,
& > li.disabled > a:hover {
color: @gray;
}
li > a:hover {
background-color: transparent;
color: @grayLighter;
}
}
.breadcrumb {
border: 1px solid transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
a {
color: @grayLighter;
font-weight: bold;
}
li {
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
}
.pagination {
ul {
.box-shadow(none);
}
ul > li > a,
ul > li > span {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
color: @grayLighter;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
}
}
ul > .active > a,
ul > .active > a:hover,
ul > .active > span,
ul > .active > span:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-left: 1px solid transparent;
}
ul > .disabled > a,
ul > .disabled > a:hover,
ul > .disabled > span,
ul > .disabled > span:hover {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@grayLight, @gray, 70%, @gray);
}
}
.pager {
li > a,
li > span {
border: 1px solid transparent;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border: 1px solid transparent;
}
}
.disabled a,
.disabled a:hover {
background-color: transparent;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
}
}
// BUTTONS
// -----------------------------------------------------
.btn {
.buttonBackground(@gray, darken(@gray, 10%));
.border-radius(3px);
border: 1px solid @grayDarker;
}
.btn, .btn:hover {
color: @white;
font-weight: bold;
text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.3);
}
.btn-primary {
.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));
color: @grayDark;
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3);
}
.btn-warning {
.buttonBackground(lighten(@orange, 15%), @orange);
}
.btn-danger {
.buttonBackground(@red, #bd362f);
}
.btn-success {
.buttonBackground(@green, #51a351);
}
.btn-info {
.buttonBackground(@blue, #2f96b4);
}
.btn-inverse {
.buttonBackground(@gray, @grayDarker);
}
.caret {
border-top-color: @white;
}
// TABLES
// -----------------------------------------------------
.table {
tbody tr.success td {
background-color: @successText;
}
tbody tr.error td {
background-color: @errorText;
}
tbody tr.info td {
background-color: @infoText;
}
}
// FORMS
// -----------------------------------------------------
label, input, button, select, textarea, legend {
color: @textColor;
}
legend, label {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
}
.input-prepend .add-on,
.input-append .add-on {
vertical-align: top;
background-color: @gray;
border-top: 1px solid @grayLight;
border-left: 1px solid @grayLight;
border-bottom: 1px solid @grayDark;
border-right: 1px solid @grayDark;
text-shadow: none;
}
.input-append .btn,
.input-prepend .btn {
margin-top: -1px;
padding: 5px 14px;
}
.uneditable-input,
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
color: @gray;
background: @grayDarker;
}
.form-actions {
border-top: none;
}
// DROPDOWNS
// -----------------------------------------------------
.dropdown-menu {
.box-shadow(0 5px 5px rgba(0, 0, 0, 0.2));
}
.dropdown.open .dropdown-toggle {
background-color: @grayDark;
color: @grayLighter;
}
.dropdown-submenu > a::after {
border-left-color: @white;
}
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
.label, .alert {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
.box-shadow(1px 1px 1px rgba(0, 0, 0, 0.3));
}
.alert {
background-color: @orange;
border-color: @orange;
.alert-heading {
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4);
}
}
.alert-success {
background-color: @successText;
border-color: @successText;
}
.alert-error {
background-color: @errorText;
border-color: @errorText;
}
.alert-info {
background-color: @infoText;
border-color: @infoText;
}
// MISC
// -----------------------------------------------------
.well, .hero-unit {
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
}
.thumbnail,
a.thumbnail:hover {
border: 1px solid darken(@grayDarker, 5%);
}
.progress {
background-color: darken(@grayDarker, 3%);
#gradient > .vertical(darken(@grayDarker, 3%), darken(@grayDarker, 3%));
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
}
.footer {
border-top: 1px solid darken(@grayDarker, 5%);
p {
color: @textColor;
}
}
.modal {
background-color: darken(@grayDark, 5%);
&-header {
border-bottom: none;
}
&-body {
border-bottom: 1px solid #1C1E22;
}
&-footer {
border-top: none;
background-color: @grayDarker;
.box-shadow(none);
}
}
// MEDIA QUERIES
// -----------------------------------------------------
@media (max-width: 979px) {
.navbar .brand {
border-right: none;
}
}
@media (max-width: 768px) {
div.subnav .nav > li + li > a {
border-top: 1px solid transparent;
}
}

@ -0,0 +1,304 @@
// Slate 2.3.2
// Variables
// --------------------------------------------------
// Global values
// --------------------------------------------------
// Grays
// -------------------------
@black: #000;
@grayDarker: #272B30;
@grayDark: #3A3F44;
@gray: #52575C;
@grayLight: #7A8288;
@grayLighter: #BBBFC2;
@white: #fff;
// Accent colors
// -------------------------
@blue: #5bc0de;
@blueDark: #108CBB;
@green: #62c462;
@red: #ee5f5b;
@yellow: #F6D30D;
@orange: #f89406;
@pink: #c3325f;
@purple: #7a43b6;
// Scaffolding
// -------------------------
@bodyBackground: @grayDarker;
@textColor: #C8C8C8;
// Links
// -------------------------
@linkColor: @white;
@linkColorHover: @white;
// Typography
// -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace;
@baseFontSize: 14px;
@baseFontFamily: @sansFontFamily;
@baseLineHeight: 21px;
@altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0px 6px; // 22px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@tableBackgroundAccent: darken(@grayDark, 5%); // for striping
@tableBackgroundHover: @grayDark; // for hover
@tableBorder: lighten(@grayDark, 2%); // table and cell border
// Buttons
// -------------------------
@btnBackground: @gray;
@btnBackgroundHighlight: darken(@gray, 10%);
@btnBorder: darken(@gray, 20%);
@btnPrimaryBackground: @grayLight;
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%);
@btnInfoBackground: @blue;
@btnInfoBackgroundHighlight: #2f96b4;
@btnSuccessBackground: @green;
@btnSuccessBackgroundHighlight: #51a351;
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: @red;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: @gray;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms
// -------------------------
@inputText: @white;
@inputBackground: @gray;
@inputBorder: @grayLight;
@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: darken(@grayDarker, 3%);
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns
// -------------------------
@dropdownBackground: @grayDark;
@dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: transparent;
@dropdownDividerBottom: darken(@grayDarker, 5%);
@dropdownLinkColor: @grayLight;
@dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @grayDarker;
@dropdownLinkBackgroundHover: @grayDarker;
// COMPONENT VARIABLES
// --------------------------------------------------
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
// Try to avoid customizing these :)
@zindexDropdown: 1000;
@zindexPopover: 1010;
@zindexTooltip: 1030;
@zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040;
@zindexModal: 1050;
// Sprite icons path
// -------------------------
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
// Input placeholder text color
// -------------------------
@placeholderText: @grayLight;
// Hr border color
// -------------------------
@hrBorder: darken(@grayDarker, 5%);
// Horizontal forms & lists
// -------------------------
@horizontalComponentOffset: 180px;
// Wells
// -------------------------
@wellBackground: darken(@grayDarker, 3%);
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @textColor;
@navbarLinkColor: @textColor;
@navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: @grayDark;
@navbarLinkBackgroundActive: @navbarBackground;
@navbarBrandColor: @grayLighter;
// Inverted navbar
@navbarInverseBackground: darken(@grayDarker, 10%);
@navbarInverseBackgroundHighlight: @grayDarker;
@navbarInverseBorder: #252525;
@navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc;
@navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination
// -------------------------
@paginationBackground: #fff;
@paginationBorder: #ddd;
@paginationActiveBackground: #f5f5f5;
// Hero unit
// -------------------------
@heroUnitBackground: darken(@grayDarker, 3%);
@heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit;
// Form states and alerts
// -------------------------
@warningText: #c09853;
@warningBackground: #fcf8e3;
@warningBorder: darken(spin(@warningBackground, -10), 3%);
@errorText: #b94a48;
@errorBackground: #f2dede;
@errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847;
@successBackground: #dff0d8;
@successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad;
@infoBackground: #d9edf7;
@infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers
// -------------------------
@tooltipColor: #fff;
@tooltipBackground: @dropdownBackground;
@tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground;
@popoverBackground: @dropdownBackground;
@popoverArrowWidth: 10px;
@popoverArrowColor: @dropdownBackground;
@popoverTitleBackground: lighten(@popoverBackground, 3%);
// Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1;
@popoverArrowOuterColor: rgba(0,0,0,.25);
// GRID
// --------------------------------------------------
// Default 940px grid
// -------------------------
@gridColumns: 12;
@gridColumnWidth: 60px;
@gridGutterWidth: 10px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min
@gridColumnWidth1200: 70px;
@gridGutterWidth1200: 10px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px
@gridColumnWidth768: 42px;
@gridGutterWidth768: 10px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid
// -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@gridGutterWidth: 10px;
//@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);

@ -1,35 +1,44 @@
// Slate 2.3.2 // Cyborg 2.3.2
// Bootswatch // Bootswatch
// ----------------------------------------------------- // -----------------------------------------------------
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 3%);
margin: 0px;
}
// TYPOGRAPHY // TYPOGRAPHY
// ----------------------------------------------------- // -----------------------------------------------------
h1, h2, h3, h4, h5, h6 { label, input, button, select, textarea,
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); .navbar .search-query:-moz-placeholder,
.navbar .search-query::-webkit-input-placeholder {
font-family: 'Droid Sans', sans-serif;
color: @gray;
} }
code, pre {
background-color: #F7F7F7;
border: 1px solid darken(@grayDarker, 5%); blockquote {
text-shadow: none; border-left: 5px solid @grayDark;
&.pull-right {
border-right: 5px solid @grayDark;
}
} }
// SCAFFOLDING // SCAFFOLDING
// ----------------------------------------------------- // -----------------------------------------------------
legend, .page-header { html {
border-bottom: 1px solid @hrBorder; min-height: 100%;
}
body {
min-height: 100%;
//#gradient > .vertical (@bodyBackground, #252A30);
//background: @bodyBackground;
background: @bodyBackground;
// url('../img/cubes.png') repeat right top;
}
.page-header {
border-bottom: 1px solid @grayDark
} }
hr { hr {
@ -42,73 +51,60 @@ hr {
.navbar { .navbar {
.navbar-inner { .navbar-inner {
#gradient > .vertical-three-colors(@grayDark, darken(@bodyBackground,3%), 70%, darken(@bodyBackground,3%)); .border-radius(0);
.box-shadow(none);
border-bottom: 0px solid @grayDark;
} }
.brand { .brand {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); padding: 15px 20px 15px;
border-right: none; color: @grayLighter;
} font-weight: normal;
text-shadow: none;
.navbar-text {
padding: 0 15px;
font-weight: bold;
} }
.nav > li > a { .nav > li > a {
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); padding: 15px 15px 14px;
border-right: 1px solid rgba(0, 0, 0, 0.2); border-bottom: 1px solid transparent;
border-left: 1px solid rgba(255, 255, 255, 0.1);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
}
} }
.nav > li.active > a, .nav > li > a:hover,
.nav > li.active > a:hover { .nav > .active > a,
color: @grayLighter; .nav > .active > a:hover {
background-color: @grayDark; border-bottom: 1px solid @blue;
#gradient > .directional(lighten(@grayDarker, 2%), lighten(@grayDark, 2%), 0deg);
border-right: 1px solid darken(@gray, 15%);
} }
.navbar-search .search-query { .nav > .active > a,
border: 1px solid darken(@gray, 15%); .nav > .active > a:hover,
.nav > .active > a:focus {
.box-shadow(none);
} }
.btn, .navbar-text {
.btn-group { margin-bottom: 1px;
margin: 4px 0; padding: 15px 15px 14px;
line-height: inherit;
} }
.divider-vertical { .divider-vertical {
background-color: transparent; margin: 0;
border-right: none; border-left: 1px solid @grayDark;
border-right-width: 0;
} }
.dropdown-menu::after { .search-query,
border-bottom: 6px solid @grayDark; .search-query:focus,
.search-query.focused {
.border-radius(1px);
background-color: @grayDark;
line-height: normal;
color: @grayLight;
text-shadow: none;
.placeholder(@gray);
} }
&-inverse { &-inverse {
.navbar-inner {
#gradient > .vertical-three-colors(darken(@grayDarker, 3%), darken(@grayDarker, 8%), 70%, darken(@grayDarker, 8%));
}
.nav li > a {
background-image: none;
background-color: transparent;
}
.nav li > a:hover,
.nav li.active > a,
.nav li.active > a:hover {
#gradient > .directional(darken(@grayDarker, 10%), darken(@grayDarker, 5%), 280deg);
}
} }
} }
@ -116,155 +112,207 @@ hr {
.navbar .nav-collapse { .navbar .nav-collapse {
.nav li > a, .nav li > a {
.nav li > a:hover, border: none;
.nav .active > a,
.nav .active > a:hover {
.box-shadow(none);
color: @grayLighter; color: @grayLighter;
border: 1px solid transparent; font-weight: normal;
background-color: transparent; text-shadow: none;
background-image: none;
&:hover {
border: none;
background-color: @blue;
}
} }
.nav li > a:hover, .nav .active > a {
.nav .active > a:hover { border: none;
background-color: @grayDarker; background-color: @blue;
}
.dropdown-menu a:hover {
background-color: @blue;
} }
.navbar-form, .navbar-form,
.navbar-search { .navbar-search {
border-color: transparent; border-top: none;
.box-shadow(none); border-bottom: none;
} }
.nav-header { .nav-header {
color: @grayLight; color: rgba(128, 128, 128, 0.6);
} }
} }
.navbar-inverse .nav-collapse { .navbar-inverse .nav-collapse {
.nav li > a:hover, .nav li > a:hover {
.nav .active > a:hover { background-color: #111;
background-color: @grayDarker !important;
}
} }
.nav .active > a {
background-color: #111;
} }
.nav-tabs { .nav li.dropdown.open > .dropdown-toggle,
.active > a, .active a:hover { .nav li.dropdown.active > .dropdown-toggle,
border-bottom: 1px solid darken(@grayDark, 5%);; .nav li.dropdown.open.active > .dropdown-toggle {
background-color: #111;
} }
} }
}
.dropdown-menu {
.border-radius(0);
}
div.subnav { div.subnav {
margin: 0 1px; margin: 0 1px;
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark); background-color: @grayDarker;
border: 1px solid transparent; background-image: none;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)'); border: none;
border-bottom: 1px solid @grayDark;
.nav > li > a {
color: @grayLighter;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
&:hover { .nav > li > a,
color: @grayLighter; .nav > li:first-child > a,
background-color: @grayDark; .nav > li:first-child > a:hover {
//#gradient > .directional(@grayDarker, @grayDark, 280deg); padding: 11px 12px;
border-left: 1px solid transparent; border: none;
border-right: 1px solid transparent; background-color: @grayDarker;
} color: @grayLight;
} }
.nav > li > a:hover,
.nav > li.active > a, .nav > li.active > a,
.nav > li.active > a:hover { .nav > li.active > a:hover,
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-right: 1px solid darken(@gray, 15%);
}
.nav > li:first-child > a,
.nav > li:first-child > a:hover { .nav > li:first-child > a:hover {
border-left: 1px solid transparent; padding: 11px 12px;
background: transparent;
border: none;
border-bottom: 1px solid @blue;
color: @white;
} }
.nav > li.active:last-child > a, .nav li.nav-header {
.nav > li:last-child > a:hover { text-shadow: none;
border-right: 1px solid darken(@gray, 15%);
} }
.open .dropdown-toggle {
border-right: 1px solid darken(@gray, 15%);
border-left: 1px solid @gray;
}
&.subnav-fixed {
&-fixed {
top: @navbarHeight; top: @navbarHeight;
margin: 0; margin: 0;
.box-shadow(none);
.nav > li.active:first-child > a,
.nav > li:first-child > a:hover {
border-left: 1px solid darken(@gray, 15%);
}
} }
} }
// NAV // NAV
// ----------------------------------------------------- // -----------------------------------------------------
.nav { .nav-tabs {
.nav-header { border-bottom: 1px solid @grayDark;
text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
}
& > li > a { & > li > a {
//#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark); .border-radius(0);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
border: none;
color: @grayLight;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
} }
li > a:hover,
li.active > a, li.active > a,
li.active > a:hover { li.active > a:hover {
background-color: transparent; border-color: transparent;
background-color: @blue;
color: @white; color: @white;
} }
& > li.disabled > a, li.disabled > a {
& > li.disabled > a:hover { color: @textColor;
color: @gray; }
.open .dropdown-toggle {
background-color: #060606;
border-color: transparent;
}
}
.nav-pills {
li > a:hover {
background-color: @blue;
color: @white;
}
li.disabled > a {
color: @textColor;
}
.open .dropdown-toggle {
background-color: #060606;
}
.dropdown-menu li > a:hover {
border: none;
}
}
.nav-list {
li > a {
text-shadow: none;
} }
li > a:hover { li > a:hover {
background-color: @blue;
color: @white;
}
.nav-header {
text-shadow: none;
}
.divider {
background-color: transparent; background-color: transparent;
color: @grayLighter; border-bottom: 1px solid @grayDark;
} }
}
.nav-stacked {
li > a {
border: 1px solid @grayDark !important;
} }
.breadcrumb { li > a:hover,
border: 1px solid transparent; li.active > a {
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark); background-color: @blue;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)'); color: @white;
}
}
a { .tabbable {
color: @grayLighter; .nav-tabs,
font-weight: bold; .nav-tabs li.active > a {
border-color: @grayDark;
}
} }
.breadcrumb {
background-color: transparent;
background-image: none;
border-width: 0;
.box-shadow(none);
font-size: 14px;
li { li {
color: @grayLight; text-shadow: none;
font-weight: bold; }
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
li > a {
color: @blue;
text-shadow: none;
} }
} }
@ -274,43 +322,17 @@ div.subnav {
.box-shadow(none); .box-shadow(none);
} }
ul > li > a, ul > li > a:hover,
ul > li > span {
border-left: 1px solid @gray;
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
color: @grayLighter;
font-weight: bold;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
&:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg);
border-left: 1px solid transparent;
}
}
ul > .active > a, ul > .active > a,
ul > .active > a:hover, ul > .active > span {
ul > .active > span, // color: @white;
ul > .active > span:hover {
color: @grayLighter;
background-color: @grayDark;
#gradient > .directional(lighten(@grayDarker, 4%), lighten(@grayDark, 4%), 280deg);
border-left: 1px solid transparent;
} }
ul > .disabled > a, ul > .disabled > a,
ul > .disabled > a:hover, ul > .disabled > a:hover,
ul > .disabled > span, ul > .disabled > span,
ul > .disabled > span:hover { ul > .disabled > span:hover {
border-left: 1px solid @gray; background-color: rgba(0, 0, 0, 0.2);
border-right: 1px solid darken(@gray, 15%);
border-top: none;
border-bottom: none;
#gradient > .vertical-three-colors(@grayLight, @gray, 70%, @gray);
} }
} }
@ -318,238 +340,238 @@ div.subnav {
li > a, li > a,
li > span { li > span {
background-color: @bodyBackground;
border: 1px solid transparent; border: none;
.box-shadow('0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1)');
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
&:hover { &:hover {
#gradient > .directional(@grayDarker, @grayDark, 280deg); background-color: @blue;
border: 1px solid transparent;
} }
} }
.disabled a, .disabled a,
.disabled a:hover { .disabled a:hover {
background-color: transparent; background-color: @bodyBackground;
#gradient > .vertical-three-colors(@gray, @grayDark, 70%, @grayDark);
} }
} }
// BUTTONS // BUTTONS
// ----------------------------------------------------- // -----------------------------------------------------
.btn { .btn {
.buttonBackground(@gray, darken(@gray, 10%)); padding: 5px 12px;
.border-radius(3px); background-image: none;
border: 1px solid @grayDarker; .box-shadow(none);
} border: none;
.border-radius(0);
text-shadow: none;
.btn, .btn:hover { &.disabled {
color: @white; box-shadow: inset 0 2px 4px rgba(0,0,0,.15),~" "0 1px 2px rgba(0,0,0,.05);
font-weight: bold;
text-shadow: -1px -1px 1px rgba(0, 0, 0, 0.3);
} }
.btn-primary {
.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));
color: @grayDark;
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.3);
} }
.btn-warning { .btn-large {
.buttonBackground(lighten(@orange, 15%), @orange); padding: 22px 30px;
} }
.btn-danger { .btn-small {
.buttonBackground(@red, #bd362f); padding: 2px 10px;
} }
.btn-success { .btn-mini {
.buttonBackground(@green, #51a351); padding: 2px 6px;
} }
.btn-info { .btn-group {
.buttonBackground(@blue, #2f96b4);
}
.btn-inverse { & > .btn:first-child,
.buttonBackground(@gray, @grayDarker); & > .btn:last-child,
& > .dropdown-toggle {
.border-radius(0);
} }
.caret { & > .btn + .dropdown-toggle {
border-top-color: @white; .box-shadow(none);
}
} }
// TABLES
// -----------------------------------------------------
.table { // FORMS
// -----------------------------------------------------
tbody tr.success td { input, textarea, select {
background-color: @successText; border-width: 2px;
.border-radius(1px);
} }
tbody tr.error td { select, textarea,
background-color: @errorText; input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"],
input[type="time"], input[type="week"], input[type="number"],
input[type="email"], input[type="url"], input[type="search"],
input[type="tel"], input[type="color"], .uneditable-input {
color: @grayLight;
} }
tbody tr.info td { input[disabled], select[disabled], textarea[disabled], input[readonly], select[readonly], textarea[readonly], .uneditable-input {
background-color: @infoText; border-color: #444;
} }
input:focus,
textarea:focus,
input.focused,
textarea.focused {
border-color: rgba(82,168,236,1);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
} }
input[type="file"]:focus,
// FORMS input[type="radio"]:focus,
// ----------------------------------------------------- input[type="checkbox"]:focus,
select:focus {
label, input, button, select, textarea, legend { .box-shadow(none); // override for file inputs
color: @textColor; .tab-focus();
} }
legend, label { legend, label {
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3); color: @textColor;
border-bottom: 0px solid #222;
} }
.input-prepend .add-on, .form-actions {
.input-append .add-on { border-top: 1px solid #222;
vertical-align: top;
background-color: @gray;
border-top: 1px solid @grayLight;
border-left: 1px solid @grayLight;
border-bottom: 1px solid @grayDark;
border-right: 1px solid @grayDark;
text-shadow: none;
} }
.input-append .btn, // TABLES
.input-prepend .btn { // -----------------------------------------------------
margin-top: -1px;
padding: 5px 14px; .table {
.border-radius(1px);
tbody tr.success td {
background-color: @green;
color: @white;
} }
.uneditable-input, tbody tr.error td {
input[disabled], background-color: @red;
select[disabled], color: @white;
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
color: @gray;
background: @grayDarker;
} }
.form-actions { tbody tr.info td {
border-top: none; background-color: @blue;
color: @white;
}
} }
// DROPDOWNS // ALERTS, LABELS, BADGES
// ----------------------------------------------------- // -----------------------------------------------------
.dropdown-menu { .alert,
.box-shadow(0 5px 5px rgba(0, 0, 0, 0.2)); .alert .alert-heading,
.alert-success,
.alert-success .alert-heading,
.alert-danger,
.alert-error,
.alert-danger .alert-heading,
.alert-error .alert-heading,
.alert-info,
.alert-info .alert-heading {
color: @grayLighter;
text-shadow: none;
border: none;
} }
.dropdown.open .dropdown-toggle { .label {
background-color: @grayDark;
color: @grayLighter; color: @grayLighter;
} }
.dropdown-submenu > a::after { .badge {
border-left-color: @white; border-radius: 0;
font-weight: 200;
} }
// ALERTS, LABELS, BADGES .label, .alert { background-color: darken(@gray, 20%); }
// -----------------------------------------------------
.label, .alert { .label:hover { background-color: darken(@gray, 30%); }
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
.box-shadow(1px 1px 1px rgba(0, 0, 0, 0.3));
}
.alert { .label-important,
background-color: @orange; .alert-danger,
border-color: @orange; .alert-error { background-color: @red; }
.alert-heading { .label-important:hover { background-color: darken(@red, 10%); }
color: rgba(255, 255, 255, 0.9);
text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.4);
}
}
.alert-success { .label-warning { background-color: darken(@orange, 10%); }
background-color: @successText;
border-color: @successText;
}
.alert-error { .label-warning:hover { background-color: darken(@orange, 20%); }
background-color: @errorText;
border-color: @errorText;
}
.alert-info { .label-success, .alert-success { background-color: darken(@green, 3%); }
background-color: @infoText;
border-color: @infoText; .label-success:hover { background-color: darken(@green, 13%); }
}
.label-info, .alert-info { background-color: darken(@blueDark, 10%); }
.label-info:hover { background-color: darken(@blueDark, 20%); }
// MISC // MISC
// ----------------------------------------------------- // -----------------------------------------------------
.well, .hero-unit { a:hover {
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5)); text-decoration: none;
} }
.thumbnail, .well, .hero-unit {
a.thumbnail:hover { .border-radius(0px);
border: 1px solid darken(@grayDarker, 5%);
} }
.progress { .well, .hero-unit {
background-color: darken(@grayDarker, 3%); border-top: solid 1px lighten(@grayDark, 5%);
#gradient > .vertical(darken(@grayDarker, 3%), darken(@grayDarker, 3%)); .box-shadow(0 2px 4px rgba(0,0,0,.8));
.box-shadow(inset 1px 1px 1px rgba(0, 0, 0, 0.5));
} }
.footer { .thumbnail {
border-top: 1px solid darken(@grayDarker, 5%); border-color: @grayDark;
p {
color: @textColor;
} }
.progress {
background-color: #060606;
background-image: none;
.border-radius(0);
} }
.modal { .modal {
.border-radius(1px);
background-color: darken(@grayDark, 5%); border-top: solid 1px lighten(@grayDark, 5%);
background-color: @grayDark;
&-header {
border-bottom: none;
} }
&-body { .modal-header {
border-bottom: 1px solid #1C1E22; border-bottom: 1px solid @grayDark;
} }
&-footer { .modal-footer {
border-top: none; background-color: @grayDark;
background-color: @grayDarker; border-top: 1px solid @grayDark;
.border-radius(0 0 0px 0px);
.box-shadow(none); .box-shadow(none);
} }
}
// MEDIA QUERIES .popover {
// ----------------------------------------------------- .border-radius(0);
@media (max-width: 979px) { &-title {
.navbar .brand { border-bottom: none;
border-right: none; color: @white;
}
} }
@media (max-width: 768px) {
div.subnav .nav > li + li > a {
border-top: 1px solid transparent;
} }
.footer {
border-top: 1px solid @grayDark;
} }
// MEDIA QUERIES
// -----------------------------------------------------

@ -1,9 +1,593 @@
// Cosmo 2.3.2
// Bootswatch
// -----------------------------------------------------
// TYPOGRAPHY
// -----------------------------------------------------
body {
font-weight: 300;
background: @bodyBackground;
//url('../img/light.png') repeat right top;
}
h1 {
font-size: 50px;
}
h2, h3 {
font-size: 26px;
}
h4 {
font-size: 14px;
}
h5, h6 {
font-size: 11px;
}
blockquote {
padding: 10px 15px;
background-color: @grayLighter;
border-left-color: @gray;
&.pull-right {
padding: 10px 15px;
border-right-color: @gray;
}
small {
color: @gray;
}
}
.muted {
color: @gray;
}
.text-warning { color: @orange; }
a.text-warning:hover { color: darken(@orange, 10%); }
.text-error { color: @red; }
a.text-error:hover { color: darken(@red, 10%); }
.text-info { color: @purple; }
a.text-info:hover { color: darken(@purple, 10%); }
.text-success { color: @green; }
a.text-success:hover { color: darken(@green, 10%); }
// SCAFFOLDING
// -----------------------------------------------------
// NAVBAR
// -----------------------------------------------------
.navbar {
.navbar-inner {
background-image: none;
.box-shadow(none);
.border-radius(0);
}
.brand {
&:hover {
color: @navbarLinkColorHover;
}
}
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
.box-shadow(none);
background-color: @navbarLinkBackgroundHover;
}
.nav li.dropdown.open > .dropdown-toggle,
.nav li.dropdown.active > .dropdown-toggle,
.nav li.dropdown.open.active > .dropdown-toggle {
color: @white;
&:hover {
color: @grayLighter;
}
}
.navbar-search .search-query {
line-height: normal;
}
&-inverse {
.brand,
.nav > li > a {
text-shadow: none;
}
.brand:hover,
.nav > .active > a,
.nav > .active > a:hover,
.nav > .active > a:focus {
background-color: @navbarInverseLinkBackgroundHover;
.box-shadow(none);
color: @white;
}
.navbar-search .search-query {
color: @grayDarker;
}
}
}
div.subnav {
margin: 0 1px;
background: @grayLight none;
.box-shadow(none);
border: none;
.border-radius(0);
.nav {
background-color: transparent;
}
.nav > li > a {
border-color: transparent;
}
.nav > .active > a,
.nav > .active > a:hover {
border-color: transparent;
background-color: @black;
color: @white;
.box-shadow(none);
}
&-fixed {
top: @navbarHeight + 1;
margin: 0;
}
}
// NAV
// -----------------------------------------------------
.nav {
.open .dropdown-toggle,
& > li.dropdown.open.active > a:hover {
color: @blue;
}
}
.nav-tabs {
& > li > a {
.border-radius(0);
}
li > a:hover,
li.active > a,
li.active > a:hover {
border-color: transparent;
background-color: @blue;
color: @white;
}
li.disabled > a {
color: @textColor;
}
.open .dropdown-toggle {
background-color: #060606;
border-color: transparent;
}
}
.tabs-below,
.tabs-left,
.tabs-right {
& > .nav-tabs > li > a{
.border-radius(0);
border: 0px;
}
}
.nav-pills {
& > li > a {
//background-color: @grayLight;
.border-radius(0);
color: @black;
&:hover {
background-color: @black;
color: @white;
}
}
& > .disabled > a,
& > .disabled > a:hover {
background-color: @grayLighter;
color: @grayDark;
}
}
.nav-list {
& > li > a {
color: @grayDarker;
&:hover {
background-color: @blue;
color: @white;
text-shadow: none;
}
}
.nav-header {
color: @grayDarker;
}
.divider {
background-color: @gray;
border-bottom: none;
}
}
.pagination {
ul {
.box-shadow(none);
& > li > a,
& > li > span {
margin-right: 6px;
color: @grayDarker;
&:hover {
background-color: @grayDarker;
color: @white;
}
}
& > li:last-child > a,
& > li:last-child > span {
margin-right: 0;
}
& > .active > a,
& > .active > span {
color: @white;
}
& > .disabled > span,
& > .disabled > a,
& > .disabled > a:hover {
background-color: @grayLighter;
color: @grayDark;
}
}
}
.pager {
li > a,
li > span {
background-color: @grayLight;
border: none;
.border-radius(0);
color: @grayDarker;
&:hover {
background-color: @grayDarker;
color: @white;
}
}
.disabled > a,
.disabled > a:hover,
.disabled > span {
background-color: @grayLighter;
color: @grayDark;
}
// KIBANA
.panelCont {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px 10px 10px 10px;
background: darken(@bodyBackground, 5%);
margin: 0px;
} }
.breadcrumb {
background-color: @grayLight;
li {
text-shadow: none;
}
.divider,
.active {
color: @grayDarker;
text-shadow: none;
}
}
// BUTTONS
// -----------------------------------------------------
.btn {
padding: 5px 12px;
background-image: none;
.box-shadow(none);
border: none;
.border-radius(0);
text-shadow: none;
&.disabled {
box-shadow: inset 0 2px 4px rgba(0,0,0,.15),~" "0 1px 2px rgba(0,0,0,.05);
}
}
.btn-large {
padding: 22px 30px;
}
.btn-small {
padding: 2px 10px;
}
.btn-mini {
padding: 2px 6px;
}
.btn-group {
& > .btn:first-child,
& > .btn:last-child,
& > .dropdown-toggle {
.border-radius(0);
}
& > .btn + .dropdown-toggle {
.box-shadow(none);
}
}
// TABLES
// -----------------------------------------------------
.table {
tbody tr.success td {
color: @white;
}
tbody tr.error td {
color: @white;
}
tbody tr.info td {
color: @white;
}
&-bordered {
.border-radius(0);
thead:first-child tr:first-child th:first-child,
tbody:first-child tr:first-child td:first-child {
.border-radius(0);
}
thead:last-child tr:last-child th:first-child,
tbody:last-child tr:last-child td:first-child,
tfoot:last-child tr:last-child td:first-child {
.border-radius(0);
}
}
}
// FORMS
// -----------------------------------------------------
select, textarea, input[type="text"], input[type="password"], input[type="datetime"],
input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"],
input[type="week"], input[type="number"], input[type="email"], input[type="url"],
input[type="search"], input[type="tel"], input[type="color"] {
color: @grayDarker;
}
.control-group {
&.warning {
.control-label,
.help-block,
.help-inline {
color: @orange;
}
input,
select,
textarea {
border-color: @orange;
color: @grayDarker;
}
}
&.error {
.control-label,
.help-block,
.help-inline {
color: @red;
}
input,
select,
textarea {
border-color: @red;
color: @grayDarker;
}
}
&.success {
.control-label,
.help-block,
.help-inline {
color: @green;
}
input,
select,
textarea {
border-color: @green;
color: @grayDarker;
}
}
}
legend {
border-bottom: none;
color: @grayDarker;
}
.form-actions {
border-top: none;
background-color: @grayLighter;
}
// DROPDOWNS
// -----------------------------------------------------
.dropdown-menu {
.border-radius(0);
}
// ALERTS, LABELS, BADGES
// -----------------------------------------------------
.alert {
.border-radius(0);
text-shadow: none;
&-heading, h1, h2, h3, h4, h5, h6 {
color: @white;
}
}
.label {
min-width: 80px;
min-height: 80px;
.border-radius(0);
font-weight: 300;
text-shadow: none;
&-success {
background-color: @green;
}
&-important {
background-color: @red;
}
&-info {
background-color: @purple;
}
&-inverse {
background-color: @black;
}
}
.badge {
.border-radius(0);
font-weight: 300;
text-shadow: none;
color: @black;
&-success {
background-color: @green;
}
&-important {
background-color: @red;
}
&-info {
background-color: @purple;
}
&-inverse {
background-color: @black;
}
}
// MISC
// -----------------------------------------------------
a:hover {
text-decoration: none;
}
.hero-unit {
border: none;
.border-radius(0);
.box-shadow(none);
}
.well {
border: none;
.border-radius(0);
.box-shadow(none);
}
[class^="icon-"], [class*=" icon-"] {
margin: 0 2px;
vertical-align: -2px;
}
a.thumbnail {
background-color: @grayLight;
&:hover {
background-color: @gray;
border-color: transparent;
}
}
.progress {
background-color: @grayLighter;
background-image: none;
.border-radius(0);
}
.modal {
.border-radius(0);
&-header {
border-bottom: none;
}
&-footer {
border-top: none;
background-color: transparent;
}
}
.popover {
.border-radius(0);
&-title {
border-bottom: none;
color: @white;
}
}
// MEDIA QUERIES
// -----------------------------------------------------

@ -53,7 +53,7 @@
.modal-body { .modal-body {
position: relative; position: relative;
overflow-y: auto; overflow-y: auto;
max-height: 700px; //max-height: 700px;
padding: 15px; padding: 15px;
} }
// Remove bottom margin if need be // Remove bottom margin if need be

@ -1,6 +1,70 @@
// Containers
// ---------------------
.container-fluid {
padding-left: 0px;
padding-right: 0px;
}
// Backgrounds
// ---------------------
.bgNav {
background: @navbarBackground;
}
.bgPrimary {
background: @btnPrimaryBackground;
color: rgba(255,255,255,.90);
}
.bgInfo {
background: @btnInfoBackground;
color: rgba(255,255,255,.90);
}
.bgSuccess {
background: @btnSuccessBackground;
color: rgba(255,255,255,.90);
}
.bgWarning {
background: @btnWarningBackground;
color: rgba(255,255,255,.90);
}
.bgDanger {
background: @btnDangerBackground;
color: rgba(255,255,255,.90);
}
.bgInverse {
background: @btnInverseBackground;
color: rgba(255,255,255,.90);
}
code, pre {
background-color: @grayLighter;
}
// KIBANA
.panelCont {
padding: 0px 10px 10px 10px;
background: @kibanaPanelBackground;
//box-shadow: 0px 0px 8px rgba(30, 30, 30, 0.75);
margin: 0px;
border: 1px solid rgba(100, 100, 100, 0.25);
}
div.editor-row { div.editor-row {
vertical-align: top; vertical-align: top;
} }
div.editor-row div.section { div.editor-row div.section {
margin-right: 20px; margin-right: 20px;
vertical-align: top; vertical-align: top;
@ -73,63 +137,66 @@ form input.ng-invalid {
.navbar-inner { .navbar-inner {
border-width: 0 0 0px; border-width: 0 0 0px;
padding-left: 0px;
padding-right: 0px;
} }
.kibana-row { .kibana-row {
margin-bottom: 10px; margin-bottom: 10px;
} }
.row-tab {
padding: 0px;
cursor: pointer;
width: 30px;
height: 30px;
line-height: 30px;
vertical-align: middle;
}
.row-button { .row-button {
border-left: 1px solid lighten(@bodyBackground, 10%); width: 30px;
border-right: 1px solid darken(@bodyBackground, 10%); text-align: center;
padding: 2px 7px 0px 7px;
float: left; float: left;
cursor: pointer;
} }
.row-text { .row-text {
white-space: nowrap;
text-transform: uppercase; text-transform: uppercase;
font-weight: bold; font-weight: bold;
font-size: 0.9em; font-size: 0.9em;
margin: 0px 10px;
} }
.row-close { .row-close {
outline: 1px solid darken(@bodyBackground, 10%);
border-top: 1px solid lighten(@bodyBackground, 10%);
padding: 0px; padding: 0px;
margin: 0px; margin: 0px;
min-height: 24px !important; min-height: 30px !important;
line-height: 24px; line-height: 30px;
background: darken(@bodyBackground, 3%); background: @kibanaPanelBackground;
}
.row-open {
text-align: right;
left:-18px;
position: absolute;
font-size: 13pt;
font-weight: 200;
} }
.top-row-open { .top-row-open {
background: darken(@bodyBackground, 3%); background: @navbarBackground;
padding: 5px 25px 5px 25px; padding: 5px 25px 5px 25px;
} }
.top-row-close { .top-row-close {
outline: 1px solid darken(@bodyBackground, 10%); padding: 5px 10px;
border-top: 1px solid lighten(@bodyBackground, 10%); text-transform: uppercase;
padding: 0px; margin: 0px;
margin: 1px 0px 0px 0px; text-align: left;
text-align: center;
min-height: 16px !important; min-height: 16px !important;
line-height: 16px; line-height: 16px;
background: darken(@bodyBackground, 3%);
} }
.row-open i { .row-open {
font-size: 10pt; left:-34px;
position: absolute;
z-index: 100;
}
.row-open:hover {
left:-12px;
} }
.odd { .odd {
@ -165,11 +232,13 @@ form input.ng-invalid {
.panel-title { .panel-title {
border: 0px; border: 0px;
margin-left: -11px; text-transform: uppercase;
font-weight: bold;
} }
.panel div.panel-extra div.panel-extra-container { .panel div.panel-extra div.panel-extra-container {
margin-right: -11px; margin-right: 0px;
margin-top: 7px;
} }
.panel div.panel-extra { .panel div.panel-extra {
@ -179,7 +248,7 @@ form input.ng-invalid {
.panel div.panel-extra .extra { .panel div.panel-extra .extra {
float:right !important; float:right !important;
border-bottom: 1px solid lighten(@bodyBackground, 5%); //border-bottom: 1px solid lighten(@bodyBackground, 5%);
} }
.dragInProgress { .dragInProgress {
@ -196,11 +265,6 @@ form input.ng-invalid {
color: @linkColorHover; color: @linkColorHover;
} }
.pointer:hover {
color: @linkColorHover;
}
.pointer { .pointer {
cursor: pointer; cursor: pointer;
} }
@ -279,12 +343,12 @@ div.flot-text {
margin-left:0px; margin-left:0px;
padding:3px 0px 3px 0px; padding:3px 0px 3px 0px;
width:100%; width:100%;
color: @textColor;
padding-left:20px; padding-left:20px;
color: @white;
} }
.panel-error { .panel-error {
color: @textColor; color: @white;
padding: 3px 10px 0px 10px; padding: 3px 10px 0px 10px;
} }

@ -1,8 +1,3 @@
// Slate 2.3.2
// Variables
// --------------------------------------------------
// Global values // Global values
// -------------------------------------------------- // --------------------------------------------------
@ -10,35 +5,40 @@
// Grays // Grays
// ------------------------- // -------------------------
@black: #000; @black: #000;
@grayDarker: #272B30; @gray: #bbb;
@grayDark: #3A3F44; @grayDark: #333;
@gray: #52575C; @grayDarker: #1f1f1f;
@grayLight: #7A8288;
@grayLighter: #BBBFC2; @grayLight: #ADAFAE;
@grayLighter: #eee;
@white: #fff; @white: #fff;
// Accent colors // Accent colors
// ------------------------- // -------------------------
@blue: #5bc0de; @blue: #33B5E5;
@blueDark: #108CBB; @blueDark: #0099CC;
@green: #62c462; @green: #669900;
@red: #ee5f5b; @red: #CC0000;
@yellow: #F6D30D; @yellow: #ECBB13;
@orange: #f89406; @orange: #FF8800;
@pink: #c3325f; @pink: #FF4444;
@purple: #7a43b6; @purple: #9933CC;
// Kibana Variables
// -------------------------
@kibanaPanelBackground: @grayDarker;
// Scaffolding // Scaffolding
// ------------------------- // -------------------------
@bodyBackground: @grayDarker; @bodyBackground: @grayDark;
@textColor: #C8C8C8; @textColor: @grayLighter;
// Links // Links
// ------------------------- // -------------------------
@linkColor: @white; @linkColor: darken(@white,5%);
@linkColorHover: @white; @linkColorHover: @white;
@ -46,17 +46,17 @@
// ------------------------- // -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; @sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif; @serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace; @monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
@baseFontSize: 14px; @baseFontSize: 14px;
@baseFontFamily: @sansFontFamily; @baseFontFamily: @sansFontFamily;
@baseLineHeight: 21px; @baseLineHeight: 20px;
@altFontFamily: @serifFontFamily; @altFontFamily: @serifFontFamily;
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily @headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold @headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor @headingsColor: @white; // empty to use BS default, @textColor
@inputText: @black;
// Component sizing // Component sizing
// ------------------------- // -------------------------
@ -70,66 +70,68 @@
@paddingSmall: 2px 10px; // 26px @paddingSmall: 2px 10px; // 26px
@paddingMini: 0px 6px; // 22px @paddingMini: 0px 6px; // 22px
@baseBorderRadius: 4px; @baseBorderRadius: 3px;
@borderRadiusLarge: 6px; @borderRadiusLarge: 4px;
@borderRadiusSmall: 3px; @borderRadiusSmall: 2px;
// Tables // Tables
// ------------------------- // -------------------------
@tableBackground: transparent; // overall background-color @tableBackground: transparent; // overall background-color
@tableBackgroundAccent: darken(@grayDark, 5%); // for striping @tableBackgroundAccent: rgba(100, 100, 100, 0.3); // for striping
@tableBackgroundHover: @grayDark; // for hover @tableBackgroundHover: @grayDark; // for hover
@tableBorder: lighten(@grayDark, 2%); // table and cell border @tableBorder: @grayDark; // table and cell border
// Buttons // Buttons
// ------------------------- // -------------------------
@btnBackground: @gray; @btnBackground: @grayLight;
@btnBackgroundHighlight: darken(@gray, 10%); @btnBackgroundHighlight: darken(@grayLight, 15%);
@btnBorder: darken(@gray, 20%); @btnBorder: #bbb;
@btnPrimaryBackground: @grayLight; @btnPrimaryBackground: lighten(@blue, 5%);
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 15%); @btnPrimaryBackgroundHighlight: darken(@blue, 5%);
@btnInfoBackground: @blue; @btnInfoBackground: lighten(@purple, 5%);
@btnInfoBackgroundHighlight: #2f96b4; @btnInfoBackgroundHighlight: darken(@purple, 5%);
@btnSuccessBackground: @green; @btnSuccessBackground: lighten(@green, 5%);
@btnSuccessBackgroundHighlight: #51a351; @btnSuccessBackgroundHighlight: darken(@green, 5%);
@btnWarningBackground: lighten(@orange, 5%);
@btnWarningBackgroundHighlight: darken(@orange, 5%);
@btnDangerBackground: lighten(@red, 5%);
@btnDangerBackgroundHighlight: darken(@red, 5%);
@btnInverseBackground: lighten(@black, 5%);
@btnInverseBackgroundHighlight: darken(@black, 5%);
@btnWarningBackground: lighten(@orange, 15%);
@btnWarningBackgroundHighlight: @orange;
@btnDangerBackground: @red;
@btnDangerBackgroundHighlight: #bd362f;
@btnInverseBackground: @gray;
@btnInverseBackgroundHighlight: @grayDarker;
// Forms // Forms
// ------------------------- // -------------------------
@inputText: @white; @inputBackground: lighten(@grayDark,10%);
@inputBackground: @gray; @inputBorder: lighten(@grayDark,20%);
@inputBorder: @grayLight;
@inputBorderRadius: @baseBorderRadius; @inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter; @inputDisabledBackground: #555;
@formActionsBackground: darken(@grayDarker, 3%); @formActionsBackground: transparent;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border @inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns // Dropdowns
// ------------------------- // -------------------------
@dropdownBackground: @grayDark; @dropdownBackground: @heroUnitBackground;
@dropdownBorder: rgba(0,0,0,.2); @dropdownBorder: rgba(0,0,0,.2);
@dropdownDividerTop: transparent; @dropdownDividerTop: transparent;
@dropdownDividerBottom: darken(@grayDarker, 5%); @dropdownDividerBottom: #222;
@dropdownLinkColor: @grayLight; @dropdownLinkColor: @textColor;
@dropdownLinkColorHover: @white; @dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white; @dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @grayDarker; @dropdownLinkBackgroundActive: @linkColor;
@dropdownLinkBackgroundHover: @grayDarker; @dropdownLinkBackgroundHover: @blue;
@ -143,7 +145,7 @@
// Try to avoid customizing these :) // Try to avoid customizing these :)
@zindexDropdown: 1000; @zindexDropdown: 1000;
@zindexPopover: 1010; @zindexPopover: 1010;
@zindexTooltip: 1030; @zindexTooltip: 1020;
@zindexFixedNavbar: 1030; @zindexFixedNavbar: 1030;
@zindexModalBackdrop: 1040; @zindexModalBackdrop: 1040;
@zindexModal: 1050; @zindexModal: 1050;
@ -162,7 +164,7 @@
// Hr border color // Hr border color
// ------------------------- // -------------------------
@hrBorder: darken(@grayDarker, 5%); @hrBorder: @grayDark;
// Horizontal forms & lists // Horizontal forms & lists
@ -172,92 +174,92 @@
// Wells // Wells
// ------------------------- // -------------------------
@wellBackground: darken(@grayDarker, 3%); @wellBackground: #131517;
// Navbar // Navbar
// ------------------------- // -------------------------
@navbarCollapseWidth: 979px; @navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1; @navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @grayDarker;
@navbarBackground: @grayDarker; @navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark;
@navbarBorder: darken(@navbarBackground, 12%); @navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @textColor; @navbarText: @grayLight;
@navbarLinkColor: @textColor; @navbarLinkColor: @grayLight;
@navbarLinkColorHover: @white; @navbarLinkColorHover: @white;
@navbarLinkColorActive: @navbarLinkColorHover; @navbarLinkColorActive: @navbarLinkColorHover;
@navbarLinkBackgroundHover: @grayDark; @navbarLinkBackgroundHover: transparent;
@navbarLinkBackgroundActive: @navbarBackground; @navbarLinkBackgroundActive: @navbarBackground;
@navbarBrandColor: @grayLighter; @navbarBrandColor: @navbarLinkColor;
// Inverted navbar // Inverted navbar
@navbarInverseBackground: darken(@grayDarker, 10%); @navbarInverseBackground: #252A30;
@navbarInverseBackgroundHighlight: @grayDarker; @navbarInverseBackgroundHighlight: #252A30;
@navbarInverseBorder: #252525; @navbarInverseBorder: transparent;
@navbarInverseText: @grayLight; @navbarInverseText: @grayLight;
@navbarInverseLinkColor: @grayLight; @navbarInverseLinkColor: @grayLight;
@navbarInverseLinkColorHover: @white; @navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover; @navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent; @navbarInverseLinkBackgroundHover: #242A31;
@navbarInverseLinkBackgroundActive: @navbarInverseBackground; @navbarInverseLinkBackgroundActive: @navbarInverseLinkBackgroundHover;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%); @navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white; @navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground; @navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc; @navbarInverseSearchPlaceholderColor: @white;
@navbarInverseBrandColor: @navbarInverseLinkColor; @navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination // Pagination
// ------------------------- // -------------------------
@paginationBackground: #fff; @paginationBackground: @bodyBackground;
@paginationBorder: #ddd; @paginationBorder: transparent;
@paginationActiveBackground: #f5f5f5; @paginationActiveBackground: @blue;
// Hero unit // Hero unit
// ------------------------- // -------------------------
@heroUnitBackground: darken(@grayDarker, 3%); @heroUnitBackground: @grayDark;
@heroUnitHeadingColor: inherit; @heroUnitHeadingColor: inherit;
@heroUnitLeadColor: inherit; @heroUnitLeadColor: inherit;
// Form states and alerts // Form states and alerts
// ------------------------- // -------------------------
@warningText: #c09853; @warningText: darken(#c09853, 10%);
@warningBackground: #fcf8e3; @warningBackground: @grayLighter;
@warningBorder: darken(spin(@warningBackground, -10), 3%); @warningBorder: transparent;
@errorText: #b94a48; @errorText: #b94a48;
@errorBackground: #f2dede; @errorBackground: @grayLighter;
@errorBorder: darken(spin(@errorBackground, -10), 3%); @errorBorder: darken(spin(@errorBackground, -10), 3%);
@successText: #468847; @successText: #468847;
@successBackground: #dff0d8; @successBackground: @grayLighter;
@successBorder: darken(spin(@successBackground, -10), 5%); @successBorder: darken(spin(@successBackground, -10), 5%);
@infoText: #3a87ad; @infoText: @blueDark;
@infoBackground: #d9edf7; @infoBackground: @grayLighter;
@infoBorder: darken(spin(@infoBackground, -10), 7%); @infoBorder: darken(spin(@infoBackground, -10), 7%);
// Tooltips and popovers // Tooltips and popovers
// ------------------------- // -------------------------
@tooltipColor: #fff; @tooltipColor: #fff;
@tooltipBackground: @dropdownBackground; @tooltipBackground: @heroUnitBackground;
@tooltipArrowWidth: 5px; @tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground; @tooltipArrowColor: @tooltipBackground;
@popoverBackground: @dropdownBackground; @popoverBackground: @heroUnitBackground;
@popoverArrowWidth: 10px; @popoverArrowWidth: 10px;
@popoverArrowColor: @dropdownBackground; @popoverArrowColor: @popoverBackground;
@popoverTitleBackground: lighten(@popoverBackground, 3%); @popoverTitleBackground: @popoverBackground;
// Special enhancement for popovers // Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1; @popoverArrowOuterWidth: @popoverArrowWidth + 1;
@ -273,32 +275,29 @@
// ------------------------- // -------------------------
@gridColumns: 12; @gridColumns: 12;
@gridColumnWidth: 60px; @gridColumnWidth: 60px;
@gridGutterWidth: 10px; @gridGutterWidth: 20px;
@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1));
// 1200px min // 1200px min
@gridColumnWidth1200: 70px; @gridColumnWidth1200: 70px;
@gridGutterWidth1200: 10px; @gridGutterWidth1200: 30px;
@gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1)); @gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1));
// 768px-979px // 768px-979px
@gridColumnWidth768: 42px; @gridColumnWidth768: 42px;
@gridGutterWidth768: 10px; @gridGutterWidth768: 20px;
@gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1)); @gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1));
// Fluid grid // Fluid grid
// ------------------------- // -------------------------
@fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth); @fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth);
@gridGutterWidth: 10px; @fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
//@fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth);
// 1200px min // 1200px min
@fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200); @fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200);
@gridGutterWidth: 10px; @fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
//@fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200);
// 768px-979px // 768px-979px
@fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768); @fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768);
@gridGutterWidth: 10px; @fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);
//@fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768);

@ -1,4 +1,4 @@
// // Cosmo 2.3.2
// Variables // Variables
// -------------------------------------------------- // --------------------------------------------------
@ -10,43 +10,46 @@
// Grays // Grays
// ------------------------- // -------------------------
@black: #000; @black: #000;
@grayDarker: #222; @grayDarker: #080808;
@grayDark: #333; @grayDark: #999;
@gray: #555; @gray: #bbb;
@grayLight: #999; @grayLight: #dfdfdf;
@grayLighter: #eee; @grayLighter: #eee;
@white: #fff; @white: #fff;
// Accent colors // Accent colors
// ------------------------- // -------------------------
@blue: #049cdb; @blue: #007FFF;
@blueDark: #0064cd; @blueDark: #1F26B6;
@green: #46a546; @green: #3FB618;
@red: #9d261d; @red: #FF0039;
@yellow: #ffc40d; @yellow: #FFA500;
@orange: #f89406; @orange: #FF7518;
@pink: #c3325f; @pink: #E671B8;
@purple: #7a43b6; @purple: #9954BB;
// Kibana Variables
// -------------------------
@kibanaPanelBackground: @white;
// Scaffolding // Scaffolding
// ------------------------- // -------------------------
@bodyBackground: #ffffff; @bodyBackground: @grayLighter;
@textColor: @grayDark; @textColor: #555;
// Links // Links
// ------------------------- // -------------------------
@linkColor: #08c; @linkColor: @blue;
@linkColorHover: lighten(@linkColor, 15%); @linkColorHover: darken(@linkColor, 10%);
// Typography // Typography
// ------------------------- // -------------------------
@sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; @sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
@serifFontFamily: Georgia, "Times New Roman", Times, serif; @serifFontFamily: Georgia, "Times New Roman", Times, serif;
@monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace; @monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace;
@baseFontSize: 14px; @baseFontSize: 14px;
@baseFontFamily: @sansFontFamily; @baseFontFamily: @sansFontFamily;
@ -55,7 +58,7 @@
@headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily @headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily
@headingsFontWeight: bold; // instead of browser default, bold @headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor @headingsColor: @grayDarker; // empty to use BS default, @textColor
// Component sizing // Component sizing
@ -66,57 +69,56 @@
@fontSizeSmall: @baseFontSize * 0.85; // ~12px @fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px @fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px @paddingLarge: 22px 30px; // 66px
@paddingSmall: 2px 10px; // 26px @paddingSmall: 2px 10px; // 26px
@paddingMini: 0 6px; // 22px @paddingMini: 2px 6px; // 24px
@baseBorderRadius: 4px; @baseBorderRadius: 3px;
@borderRadiusLarge: 6px; @borderRadiusLarge: 4px;
@borderRadiusSmall: 3px; @borderRadiusSmall: 2px;
// Tables // Tables
// ------------------------- // -------------------------
@tableBackground: transparent; // overall background-color @tableBackground: transparent; // overall background-color
@tableBackgroundAccent: #f9f9f9; // for striping @tableBackgroundAccent: #f9f9f9; // for striping
@tableBackgroundHover: #f5f5f5; // for hover @tableBackgroundHover: #E8F8FD; // for hover
@tableBorder: #ddd; // table and cell border @tableBorder: #ddd; // table and cell border
// Buttons // Buttons
// ------------------------- // -------------------------
@btnBackground: @white; @btnBackground: @grayLighter;
@btnBackgroundHighlight: darken(@white, 10%); @btnBackgroundHighlight: darken(@grayLighter, 15%);
@btnBorder: #ccc; @btnBorder: #bbb;
@btnPrimaryBackground: @linkColor; @btnPrimaryBackground: lighten(@blue, 5%);
@btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%); @btnPrimaryBackgroundHighlight: darken(@blue, 5%);
@btnInfoBackground: #5bc0de; @btnInfoBackground: lighten(@purple, 5%);
@btnInfoBackgroundHighlight: #2f96b4; @btnInfoBackgroundHighlight: darken(@purple, 5%);
@btnSuccessBackground: #62c462; @btnSuccessBackground: lighten(@green, 5%);
@btnSuccessBackgroundHighlight: #51a351; @btnSuccessBackgroundHighlight: darken(@green, 5%);
@btnWarningBackground: lighten(@orange, 15%); @btnWarningBackground: lighten(@orange, 5%);
@btnWarningBackgroundHighlight: @orange; @btnWarningBackgroundHighlight: darken(@orange, 5%);
@btnDangerBackground: #ee5f5b; @btnDangerBackground: lighten(@red, 5%);
@btnDangerBackgroundHighlight: #bd362f; @btnDangerBackgroundHighlight: darken(@red, 5%);
@btnInverseBackground: #444; @btnInverseBackground: lighten(@black, 5%);
@btnInverseBackgroundHighlight: @grayDarker; @btnInverseBackgroundHighlight: darken(@black, 5%);
// Forms // Forms
// ------------------------- // -------------------------
@inputBackground: @white; @inputBackground: @white;
@inputBorder: #ccc; @inputBorder: @gray;
@inputBorderRadius: @baseBorderRadius; @inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter; @inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5; @formActionsBackground: #f5f5f5;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border @inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
@inputText: @grayDarker; @inputText: #020202;
// Dropdowns // Dropdowns
// ------------------------- // -------------------------
@ -129,7 +131,7 @@
@dropdownLinkColorHover: @white; @dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @white; @dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @linkColor; @dropdownLinkBackgroundActive: @blue;
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive; @dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
@ -158,7 +160,7 @@
// Input placeholder text color // Input placeholder text color
// ------------------------- // -------------------------
@placeholderText: @grayLight; @placeholderText: @gray;
// Hr border color // Hr border color
@ -173,52 +175,53 @@
// Wells // Wells
// ------------------------- // -------------------------
@wellBackground: #f5f5f5; @wellBackground: @grayLighter;
// Navbar // Navbar
// ------------------------- // -------------------------
@navbarCollapseWidth: 979px; @navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1; @navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarHeight: 50px;
@navbarBackgroundHighlight: @grayDarker;
@navbarBackground: @grayDarker; @navbarBackground: @grayDarker;
@navbarBackgroundHighlight: @grayDark; @navbarBorder: transparent;
@navbarBorder: darken(@navbarBackground, 12%);
@navbarText: @white; @navbarText: @white;
@navbarLinkColor: @white; @navbarLinkColor: @white;
@navbarLinkColorHover: @white; @navbarLinkColorHover: @gray;
@navbarLinkColorActive: @navbarLinkColorHover; @navbarLinkColorActive: @white;
@navbarLinkBackgroundHover: @grayDark; @navbarLinkBackgroundHover: rgba(0, 0, 0, 0.05);
@navbarLinkBackgroundActive: @navbarBackground; @navbarLinkBackgroundActive: transparent;
@navbarBrandColor: @grayLighter; @navbarBrandColor: @navbarLinkColor;
// Inverted navbar // Inverted navbar
@navbarInverseBackground: #111111; @navbarInverseBackground: @blue;
@navbarInverseBackgroundHighlight: #222222; @navbarInverseBackgroundHighlight: @navbarInverseBackground;
@navbarInverseBorder: #252525; @navbarInverseBorder: transparent;
@navbarInverseText: @grayLight; @navbarInverseText: @white;
@navbarInverseLinkColor: @grayLight; @navbarInverseLinkColor: @white;
@navbarInverseLinkColorHover: @white; @navbarInverseLinkColorHover: @white;
@navbarInverseLinkColorActive: @navbarInverseLinkColorHover; @navbarInverseLinkColorActive: @navbarInverseLinkColorHover;
@navbarInverseLinkBackgroundHover: transparent; @navbarInverseLinkBackgroundHover: rgba(0, 0, 0, 0.05);
@navbarInverseLinkBackgroundActive: @navbarInverseBackground; @navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%); @navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @white; @navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground; @navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc; @navbarInverseSearchPlaceholderColor: @grayDark;
@navbarInverseBrandColor: @navbarInverseLinkColor; @navbarInverseBrandColor: @navbarInverseLinkColor;
// Pagination // Pagination
// ------------------------- // -------------------------
@paginationBackground: #fff; @paginationBackground: @grayLight;
@paginationBorder: #ddd; @paginationBorder: transparent;
@paginationActiveBackground: #f5f5f5; @paginationActiveBackground: @blue;
// Hero unit // Hero unit
@ -230,21 +233,21 @@
// Form states and alerts // Form states and alerts
// ------------------------- // -------------------------
@warningText: #c09853; @warningText: lighten(@orange, 10%);
@warningBackground: #fcf8e3; @warningBackground: @orange;
@warningBorder: darken(spin(@warningBackground, -10), 3%); @warningBorder: transparent;
@errorText: #b94a48; @errorText: lighten(@red, 10%);
@errorBackground: #f2dede; @errorBackground: @red;
@errorBorder: darken(spin(@errorBackground, -10), 3%); @errorBorder: transparent;
@successText: #468847; @successText: lighten(@green, 10%);
@successBackground: #dff0d8; @successBackground: @green;
@successBorder: darken(spin(@successBackground, -10), 5%); @successBorder: transparent;
@infoText: #3a87ad; @infoText: lighten(@purple,10%);
@infoBackground: #d9edf7; @infoBackground: @purple;
@infoBorder: darken(spin(@infoBackground, -10), 7%); @infoBorder: transparent;
// Tooltips and popovers // Tooltips and popovers
@ -254,10 +257,10 @@
@tooltipArrowWidth: 5px; @tooltipArrowWidth: 5px;
@tooltipArrowColor: @tooltipBackground; @tooltipArrowColor: @tooltipBackground;
@popoverBackground: #fff; @popoverBackground: @white;
@popoverArrowWidth: 10px; @popoverArrowWidth: 15px;
@popoverArrowColor: #fff; @popoverArrowColor: @white;
@popoverTitleBackground: darken(@popoverBackground, 3%); @popoverTitleBackground: @white;
// Special enhancement for popovers // Special enhancement for popovers
@popoverArrowOuterWidth: @popoverArrowWidth + 1; @popoverArrowOuterWidth: @popoverArrowWidth + 1;

Loading…
Cancel
Save