`, and ``.
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-base: @font-family-sans-serif;
-@font-size-base: 14px;
+@font-size-base: 13px;
@font-size-large: ceil((@font-size-base * 1.25)); // ~18px
@font-size-small: ceil((@font-size-base * 0.85)); // ~12px
-@font-size-h1: floor((@font-size-base * 2.6)); // ~36px
-@font-size-h2: floor((@font-size-base * 2.15)); // ~30px
-@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px
-@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px
-@font-size-h5: @font-size-base;
-@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px
+@font-size-h1: 56px;
+@font-size-h2: 45px;
+@font-size-h3: 34px;
+@font-size-h4: 24px;
+@font-size-h5: 20px;
+@font-size-h6: 14px;
//** Unit-less `line-height` for use in components like buttons.
-@line-height-base: 1.428571429; // 20/14
+@line-height-base: 1.846; // 20/14
//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
//** By default, this inherits from the ``.
@headings-font-family: inherit;
-@headings-font-weight: 500;
+@headings-font-weight: 400;
@headings-line-height: 1.1;
-@headings-color: inherit;
+@headings-color: #444;
//== Iconography
@@ -88,7 +88,7 @@
//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
@padding-base-vertical: 6px;
-@padding-base-horizontal: 12px;
+@padding-base-horizontal: 16px;
@padding-large-vertical: 10px;
@padding-large-horizontal: 16px;
@@ -99,11 +99,11 @@
@padding-xs-vertical: 1px;
@padding-xs-horizontal: 5px;
-@line-height-large: 1.33;
+@line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome
@line-height-small: 1.5;
-@border-radius-base: 4px;
-@border-radius-large: 6px;
+@border-radius-base: 3px;
+@border-radius-large: 3px;
@border-radius-small: 3px;
//** Global color for active items (e.g., navs or dropdowns).
@@ -144,49 +144,55 @@
@btn-font-weight: normal;
-@btn-default-color: #333;
+@btn-default-color: #444;
@btn-default-bg: #fff;
-@btn-default-border: #ccc;
+@btn-default-border: transparent;
@btn-primary-color: #fff;
@btn-primary-bg: @brand-primary;
-@btn-primary-border: darken(@btn-primary-bg, 5%);
+@btn-primary-border: transparent;
@btn-success-color: #fff;
@btn-success-bg: @brand-success;
-@btn-success-border: darken(@btn-success-bg, 5%);
+@btn-success-border: transparent;
@btn-info-color: #fff;
@btn-info-bg: @brand-info;
-@btn-info-border: darken(@btn-info-bg, 5%);
+@btn-info-border: transparent;
@btn-warning-color: #fff;
@btn-warning-bg: @brand-warning;
-@btn-warning-border: darken(@btn-warning-bg, 5%);
+@btn-warning-border: transparent;
@btn-danger-color: #fff;
@btn-danger-bg: @brand-danger;
-@btn-danger-border: darken(@btn-danger-bg, 5%);
+@btn-danger-border: transparent;
@btn-link-disabled-color: @gray-light;
+// Allows for customizing button radius independently from global border radius
+@btn-border-radius-base: @border-radius-base;
+@btn-border-radius-large: @border-radius-large;
+@btn-border-radius-small: @border-radius-small;
+
//== Forms
//
//##
//** ` ` background color
-@input-bg: #fff;
+@input-bg: transparent;
//** ` ` background color
-@input-bg-disabled: @gray-lighter;
+@input-bg-disabled: transparent;
//** Text color for ` `s
@input-color: @gray;
//** ` ` border color
-@input-border: #ccc;
+@input-border: transparent;
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
//** Default `.form-control` border radius
+// This has no effect on ``s in some browsers, due to the limited stylability of ``s in CSS.
@input-border-radius: @border-radius-base;
//** Large `.form-control` border radius
@input-border-radius-large: @border-radius-large;
@@ -197,7 +203,7 @@
@input-border-focus: #66afe9;
//** Placeholder text color
-@input-color-placeholder: #999;
+@input-color-placeholder: @gray-light;
//** Default `.form-control` height
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
@@ -206,11 +212,14 @@
//** Small `.form-control` height
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
+//** `.form-group` margin
+@form-group-margin-bottom: 15px;
+
@legend-color: @gray-dark;
@legend-border-color: #e5e5e5;
//** Background color for textual input addons
-@input-group-addon-bg: @gray-lighter;
+@input-group-addon-bg: transparent;
//** Border color for textual input addons
@input-group-addon-border-color: @input-border;
@@ -232,11 +241,11 @@
@dropdown-divider-bg: #e5e5e5;
//** Dropdown link text color.
-@dropdown-link-color: @gray-dark;
+@dropdown-link-color: @text-color;
//** Hover color for dropdown links.
@dropdown-link-hover-color: darken(@gray-dark, 5%);
//** Hover background for dropdown links.
-@dropdown-link-hover-bg: #f5f5f5;
+@dropdown-link-hover-bg: @gray-lighter;
//** Active dropdown menu item text color.
@dropdown-link-active-color: @component-active-color;
@@ -250,7 +259,7 @@
@dropdown-header-color: @gray-light;
//** Deprecated `@dropdown-caret-color` as of v3.1.0
-@dropdown-caret-color: #000;
+@dropdown-caret-color: @gray-light;
//-- Z-index master list
@@ -265,7 +274,8 @@
@zindex-popover: 1060;
@zindex-tooltip: 1070;
@zindex-navbar-fixed: 1030;
-@zindex-modal: 1040;
+@zindex-modal-background: 1040;
+@zindex-modal: 1050;
//== Media queries breakpoints
@@ -347,45 +357,45 @@
//##
// Basics of a navbar
-@navbar-height: 50px;
+@navbar-height: 64px;
@navbar-margin-bottom: @line-height-computed;
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
@navbar-collapse-max-height: 340px;
-@navbar-default-color: #777;
-@navbar-default-bg: #f8f8f8;
-@navbar-default-border: darken(@navbar-default-bg, 6.5%);
+@navbar-default-color: @gray-light;
+@navbar-default-bg: #fff;
+@navbar-default-border: transparent;
// Navbar links
-@navbar-default-link-color: #777;
-@navbar-default-link-hover-color: #333;
+@navbar-default-link-color: @gray;
+@navbar-default-link-hover-color: @gray-dark;
@navbar-default-link-hover-bg: transparent;
-@navbar-default-link-active-color: #555;
+@navbar-default-link-active-color: @gray-dark;
@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
@navbar-default-link-disabled-color: #ccc;
@navbar-default-link-disabled-bg: transparent;
// Navbar brand label
@navbar-default-brand-color: @navbar-default-link-color;
-@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%);
+@navbar-default-brand-hover-color: @navbar-default-link-hover-color;
@navbar-default-brand-hover-bg: transparent;
// Navbar toggle
-@navbar-default-toggle-hover-bg: #ddd;
-@navbar-default-toggle-icon-bar-bg: #888;
-@navbar-default-toggle-border-color: #ddd;
+@navbar-default-toggle-hover-bg: transparent;
+@navbar-default-toggle-icon-bar-bg: rgba(0,0,0,0.5);
+@navbar-default-toggle-border-color: transparent;
-// Inverted navbar
+//=== Inverted navbar
// Reset inverted navbar basics
-@navbar-inverse-color: lighten(@gray-light, 15%);
-@navbar-inverse-bg: #222;
-@navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
+@navbar-inverse-color: @gray-light;
+@navbar-inverse-bg: @brand-primary;
+@navbar-inverse-border: transparent;
// Inverted navbar links
-@navbar-inverse-link-color: lighten(@gray-light, 15%);
+@navbar-inverse-link-color: lighten(@brand-primary, 30%);
@navbar-inverse-link-hover-color: #fff;
@navbar-inverse-link-hover-bg: transparent;
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
@@ -398,10 +408,10 @@
@navbar-inverse-brand-hover-color: #fff;
@navbar-inverse-brand-hover-bg: transparent;
-// Inverted navbar toggle
-@navbar-inverse-toggle-hover-bg: #333;
-@navbar-inverse-toggle-icon-bar-bg: #fff;
-@navbar-inverse-toggle-border-color: #333;
+// Inverted navbar toggle\
+@navbar-inverse-toggle-hover-bg: transparent;
+@navbar-inverse-toggle-icon-bar-bg: rgba(0,0,0,0.5);
+@navbar-inverse-toggle-border-color: transparent;
//== Navs
@@ -416,15 +426,15 @@
@nav-disabled-link-hover-color: @gray-light;
//== Tabs
-@nav-tabs-border-color: #ddd;
+@nav-tabs-border-color: transparent;
@nav-tabs-link-hover-border-color: @gray-lighter;
-@nav-tabs-active-link-hover-bg: @body-bg;
+@nav-tabs-active-link-hover-bg: transparent;
@nav-tabs-active-link-hover-color: @gray;
-@nav-tabs-active-link-hover-border-color: #ddd;
+@nav-tabs-active-link-hover-border-color: transparent;
-@nav-tabs-justified-link-border-color: #ddd;
+@nav-tabs-justified-link-border-color: @nav-tabs-border-color;
@nav-tabs-justified-active-link-border-color: @body-bg;
//== Pills
@@ -476,29 +486,30 @@
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
-@jumbotron-bg: @gray-lighter;
-@jumbotron-heading-color: inherit;
+@jumbotron-bg: #f9f9f9;
+@jumbotron-heading-color: @headings-color;
@jumbotron-font-size: ceil((@font-size-base * 1.5));
+@jumbotron-heading-font-size: ceil((@font-size-base * 4.5));
//== Form states and alerts
//
//## Define colors for form feedback states and, by default, alerts.
-@state-success-text: #3c763d;
+@state-success-text: @brand-success;
@state-success-bg: #dff0d8;
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
-@state-info-text: #31708f;
-@state-info-bg: #d9edf7;
+@state-info-text: @brand-info;
+@state-info-bg: #e1bee7;
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
-@state-warning-text: #8a6d3b;
-@state-warning-bg: #fcf8e3;
+@state-warning-text: @brand-warning;
+@state-warning-bg: #ffe0b2;
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
-@state-danger-text: #a94442;
-@state-danger-bg: #f2dede;
+@state-danger-text: @brand-danger;
+@state-danger-bg: #f9bdbb;
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
@@ -511,7 +522,7 @@
//** Tooltip text color
@tooltip-color: #fff;
//** Tooltip background color
-@tooltip-bg: #000;
+@tooltip-bg: #727272;
@tooltip-opacity: .9;
//** Tooltip arrow width
@@ -529,9 +540,9 @@
//** Popover maximum width
@popover-max-width: 276px;
//** Popover border color
-@popover-border-color: rgba(0,0,0,.2);
+@popover-border-color: transparent;
//** Popover fallback border color
-@popover-fallback-border-color: #ccc;
+@popover-fallback-border-color: transparent;
//** Popover title background color
@popover-title-bg: darken(@popover-bg, 3%);
@@ -544,7 +555,7 @@
//** Popover outer arrow width
@popover-arrow-outer-width: (@popover-arrow-width + 1);
//** Popover outer arrow color
-@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
+@popover-arrow-outer-color: fadein(@popover-border-color, 7.5%);
//** Popover outer arrow fallback color
@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
@@ -587,7 +598,7 @@
//** Background color of modal content area
@modal-content-bg: #fff;
//** Modal content border color
-@modal-content-border-color: rgba(0,0,0,.2);
+@modal-content-border-color: transparent;
//** Modal content border color **for IE8**
@modal-content-fallback-border-color: #999;
@@ -596,7 +607,7 @@
//** Modal backdrop opacity
@modal-backdrop-opacity: .5;
//** Modal header border color
-@modal-header-border-color: #e5e5e5;
+@modal-header-border-color: transparent;
//** Modal footer border color
@modal-footer-border-color: @modal-header-border-color;
@@ -709,21 +720,21 @@
@panel-primary-border: @brand-primary;
@panel-primary-heading-bg: @brand-primary;
-@panel-success-text: @state-success-text;
+@panel-success-text: #fff;
@panel-success-border: @state-success-border;
-@panel-success-heading-bg: @state-success-bg;
+@panel-success-heading-bg: @brand-success;
-@panel-info-text: @state-info-text;
+@panel-info-text: #fff;
@panel-info-border: @state-info-border;
-@panel-info-heading-bg: @state-info-bg;
+@panel-info-heading-bg: @brand-info;
-@panel-warning-text: @state-warning-text;
+@panel-warning-text: #fff;
@panel-warning-border: @state-warning-border;
-@panel-warning-heading-bg: @state-warning-bg;
+@panel-warning-heading-bg: @brand-warning;
-@panel-danger-text: @state-danger-text;
+@panel-danger-text: #fff;
@panel-danger-border: @state-danger-border;
-@panel-danger-heading-bg: @state-danger-bg;
+@panel-danger-heading-bg: @brand-danger;
//== Thumbnails
@@ -749,8 +760,8 @@
//
//##
-@well-bg: #f5f5f5;
-@well-border: darken(@well-bg, 7%);
+@well-bg: #f9f9f9;
+@well-border: transparent;
//== Badges
@@ -767,7 +778,7 @@
//** Badge background color in active nav link
@badge-active-bg: #fff;
-@badge-font-weight: bold;
+@badge-font-weight: normal;
@badge-line-height: 1;
@badge-border-radius: 10px;
@@ -809,9 +820,9 @@
//
//##
-@close-font-weight: bold;
+@close-font-weight: normal;
@close-color: #000;
-@close-text-shadow: 0 1px 0 #fff;
+@close-text-shadow: none;
//== Code
diff --git a/public/less/admin/bootswatch.less b/public/less/admin/bootswatch.less
new file mode 100644
index 0000000000..cceb643cf6
--- /dev/null
+++ b/public/less/admin/bootswatch.less
@@ -0,0 +1,607 @@
+// Paper 3.3.5
+// Bootswatch
+// -----------------------------------------------------
+
+@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700");
+
+// Navbar =====================================================================
+
+.navbar {
+ border: none;
+ .box-shadow(0 1px 2px rgba(0,0,0,.3));
+
+ &-brand {
+ font-size: 24px;
+ }
+
+ &-inverse {
+ .form-control {
+ color: #fff;
+ .placeholder(@navbar-inverse-link-color);
+
+ &[type=text],
+ &[type=password] {
+ .box-shadow(inset 0 -1px 0 @navbar-inverse-link-color);
+
+ &:focus {
+ .box-shadow(inset 0 -2px 0 #fff);
+ }
+ }
+ }
+ }
+}
+
+// Buttons ====================================================================
+
+#btn(@class,@bg) {
+ .btn-@{class} {
+ background-size: 200%;
+ background-position: 50%;
+
+ &:focus {
+ background-color: @bg;
+ }
+
+ &:hover,
+ &:active:hover {
+ background-color: darken(@bg, 6%);
+ }
+
+ &:active {
+ background-color: darken(@bg, 12%);
+ #gradient > .radial(darken(@bg, 12%) 10%, @bg 11%);
+ background-size: 1000%;
+ .box-shadow(2px 2px 4px rgba(0,0,0,.4));
+ }
+ }
+}
+
+#btn(default,@btn-default-bg);
+#btn(primary,@btn-primary-bg);
+#btn(success,@btn-success-bg);
+#btn(info,@btn-info-bg);
+#btn(warning,@btn-warning-bg);
+#btn(danger,@btn-danger-bg);
+#btn(link,#fff);
+
+.btn {
+ text-transform: uppercase;
+ border: none;
+ .box-shadow(1px 1px 4px rgba(0,0,0,.4));
+ .transition(all 0.4s);
+
+ &-link {
+ border-radius: @btn-border-radius-base;
+ .box-shadow(none);
+ color: @btn-default-color;
+
+ &:hover,
+ &:focus {
+ .box-shadow(none);
+ color: @btn-default-color;
+ text-decoration: none;
+ }
+ }
+
+ &-default {
+
+ &.disabled {
+ background-color: rgba(0, 0, 0, 0.1);
+ color: rgba(0, 0, 0, 0.4);
+ opacity: 1;
+ }
+ }
+}
+
+.btn-group {
+ .btn + .btn,
+ .btn + .btn-group,
+ .btn-group + .btn,
+ .btn-group + .btn-group {
+ margin-left: 0;
+ }
+
+ &-vertical {
+ > .btn + .btn,
+ > .btn + .btn-group,
+ > .btn-group + .btn,
+ > .btn-group + .btn-group {
+ margin-top: 0;
+ }
+ }
+}
+
+// Typography =================================================================
+
+body {
+ -webkit-font-smoothing: antialiased;
+ letter-spacing: .1px;
+}
+
+p {
+ margin: 0 0 1em;
+}
+
+input,
+button {
+ -webkit-font-smoothing: antialiased;
+ letter-spacing: .1px;
+}
+
+a {
+ .transition(all 0.2s);
+}
+
+// Tables =====================================================================
+
+.table-hover {
+ > tbody > tr,
+ > tbody > tr > th,
+ > tbody > tr > td {
+ .transition(all 0.2s);
+ }
+}
+
+// Forms ======================================================================
+
+label {
+ font-weight: normal;
+}
+
+textarea,
+textarea.form-control,
+input.form-control,
+input[type=text],
+input[type=password],
+input[type=email],
+input[type=number],
+[type=text].form-control,
+[type=password].form-control,
+[type=email].form-control,
+[type=tel].form-control,
+[contenteditable].form-control {
+ padding: 0;
+ border: none;
+ border-radius: 0;
+ -webkit-appearance: none;
+ .box-shadow(inset 0 -1px 0 #ddd);
+ font-size: 16px;
+
+ &:focus {
+ .box-shadow(inset 0 -2px 0 @brand-primary);
+ }
+
+ &[disabled],
+ &[readonly] {
+ .box-shadow(none);
+ border-bottom: 1px dotted #ddd;
+ }
+
+ &.input {
+ &-sm {
+ font-size: @font-size-small;
+ }
+
+ &-lg {
+ font-size: @font-size-large;
+ }
+ }
+}
+
+select,
+select.form-control {
+ border: 0;
+ border-radius: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ padding-left: 0;
+ padding-right: 0\9; // remove padding for < ie9 since default arrow can't be removed
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmaP/QSjAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);
+ background-size: 13px;
+ background-repeat: no-repeat;
+ background-position: right center;
+ .box-shadow(inset 0 -1px 0 #ddd);
+ font-size: 16px;
+ line-height: 1.5;
+
+ &::-ms-expand {
+ display: none;
+ }
+
+ &.input {
+ &-sm {
+ font-size: @font-size-small;
+ }
+
+ &-lg {
+ font-size: @font-size-large;
+ }
+ }
+
+ &:focus {
+ .box-shadow(inset 0 -2px 0 @brand-primary);
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISF8S9ewAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);
+ }
+
+ &[multiple] {
+ background: none;
+ }
+}
+
+.radio,
+.radio-inline,
+.checkbox,
+.checkbox-inline {
+ label {
+ padding-left: 25px;
+ }
+
+ input[type="radio"],
+ input[type="checkbox"] {
+ margin-left: -25px;
+ }
+}
+
+input[type="radio"],
+.radio input[type="radio"],
+.radio-inline input[type="radio"] {
+ position: relative;
+ margin-top: 6px;
+ margin-right: 4px;
+ vertical-align: top;
+ border: none;
+ background-color: transparent;
+ -webkit-appearance: none;
+ appearance: none;
+ cursor: pointer;
+
+ &:focus {
+ outline: none;
+ }
+
+ &:before,
+ &:after {
+ content: "";
+ display: block;
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ .transition(240ms);
+ }
+
+ &:before {
+ position: absolute;
+ left: 0;
+ top: -3px;
+ background-color: @brand-primary;
+ .scale(0);
+ }
+
+ &:after {
+ position: relative;
+ top: -3px;
+ border: 2px solid @gray;
+ }
+
+ &:checked:before {
+ .scale(0.5);
+ }
+
+ &:disabled:checked:before {
+ background-color: @gray-light;
+ }
+
+ &:checked:after {
+ border-color: @brand-primary;
+ }
+
+ &:disabled:after,
+ &:disabled:checked:after {
+ border-color: @gray-light;
+ }
+}
+
+input[type="checkbox"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+ position: relative;
+ border: none;
+ margin-bottom: -4px;
+ -webkit-appearance: none;
+ appearance: none;
+ cursor: pointer;
+
+ &:focus {
+ outline: none;
+ }
+
+ &:after {
+ content: "";
+ display: block;
+ width: 18px;
+ height: 18px;
+ margin-top: -2px;
+ margin-right: 5px;
+ border: 2px solid @gray;
+ border-radius: 2px;
+ .transition(240ms);
+ }
+
+ &:checked:before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 6px;
+ display: table;
+ width: 6px;
+ height: 12px;
+ border: 2px solid #fff;
+ border-top-width: 0;
+ border-left-width: 0;
+ .rotate(45deg);
+ }
+
+ &:checked:after {
+ background-color: @brand-primary;
+ border-color: @brand-primary;
+ }
+
+ &:disabled:after {
+ border-color: @gray-light;
+ }
+
+ &:disabled:checked:after {
+ background-color: @gray-light;
+ border-color: transparent;
+ }
+}
+
+.has-warning {
+ input:not([type=checkbox]),
+ .form-control,
+ input.form-control[readonly],
+ input[type=text][readonly],
+ [type=text].form-control[readonly],
+ input:not([type=checkbox]):focus,
+ .form-control:focus {
+ border-bottom: none;
+ .box-shadow(inset 0 -2px 0 @brand-warning);
+ }
+}
+
+.has-error {
+ input:not([type=checkbox]),
+ .form-control,
+ input.form-control[readonly],
+ input[type=text][readonly],
+ [type=text].form-control[readonly],
+ input:not([type=checkbox]):focus,
+ .form-control:focus {
+ border-bottom: none;
+ .box-shadow(inset 0 -2px 0 @brand-danger);
+ }
+}
+
+.has-success {
+ input:not([type=checkbox]),
+ .form-control,
+ input.form-control[readonly],
+ input[type=text][readonly],
+ [type=text].form-control[readonly],
+ input:not([type=checkbox]):focus,
+ .form-control:focus {
+ border-bottom: none;
+ .box-shadow(inset 0 -2px 0 @brand-success);
+ }
+}
+
+// Remove the Bootstrap feedback styles for input addons
+.input-group-addon {
+ .has-warning &, .has-error &, .has-success & {
+ color: @input-color;
+ border-color: @input-group-addon-border-color;
+ background-color: @input-group-addon-bg;
+ }
+}
+
+// Navs =======================================================================
+
+.nav-tabs {
+ > li > a,
+ > li > a:focus {
+ margin-right: 0;
+ background-color: transparent;
+ border: none;
+ color: @navbar-default-link-color;
+ .box-shadow(inset 0 -1px 0 #ddd);
+ .transition(all 0.2s);
+
+ &:hover {
+ background-color: transparent;
+ .box-shadow(inset 0 -2px 0 @brand-primary);
+ color: @brand-primary;
+ }
+ }
+
+ & > li.active > a,
+ & > li.active > a:focus {
+ border: none;
+ .box-shadow(inset 0 -2px 0 @brand-primary);
+ color: @brand-primary;
+
+ &:hover {
+ border: none;
+ color: @brand-primary;
+ }
+ }
+
+ & > li.disabled > a {
+ .box-shadow(inset 0 -1px 0 #ddd);
+ }
+
+ &.nav-justified {
+
+ & > li > a,
+ & > li > a:hover,
+ & > li > a:focus,
+ & > .active > a,
+ & > .active > a:hover,
+ & > .active > a:focus {
+ border: none;
+ }
+ }
+
+ .dropdown-menu {
+ margin-top: 0;
+ }
+}
+
+.dropdown-menu {
+ margin-top: 0;
+ border: none;
+ .box-shadow(0 1px 4px rgba(0,0,0,.3));
+}
+
+// Indicators =================================================================
+
+.alert {
+ border: none;
+ color: #fff;
+
+ &-success {
+ background-color: @brand-success;
+ }
+
+ &-info {
+ background-color: @brand-info;
+ }
+
+ &-warning {
+ background-color: @brand-warning;
+ }
+
+ &-danger {
+ background-color: @brand-danger;
+ }
+
+ a:not(.close),
+ .alert-link {
+ color: #fff;
+ font-weight: bold;
+ }
+
+ .close {
+ color: #fff;
+ }
+}
+
+.badge {
+ padding: 3px 6px 5px;
+}
+
+.progress {
+ position: relative;
+ z-index: 1;
+ height: 6px;
+ border-radius: 0;
+
+ .box-shadow(none);
+
+ &-bar {
+ .box-shadow(none);
+
+ &:last-child {
+ border-radius: 0 3px 3px 0;
+ }
+
+ &:last-child {
+ &:before {
+ display: block;
+ content: "";
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ right: 0;
+ z-index: -1;
+ background-color: lighten(@progress-bar-bg, 35%);
+ }
+ }
+
+ &-success:last-child.progress-bar:before {
+ background-color: lighten(@brand-success, 35%);
+ }
+
+ &-info:last-child.progress-bar:before {
+ background-color: lighten(@brand-info, 45%);
+ }
+ &-warning:last-child.progress-bar:before {
+ background-color: lighten(@brand-warning, 35%);
+ }
+
+ &-danger:last-child.progress-bar:before {
+ background-color: lighten(@brand-danger, 25%);
+ }
+ }
+}
+
+// Progress bars ==============================================================
+
+// Containers =================================================================
+
+.close {
+ font-size: 34px;
+ font-weight: 300;
+ line-height: 24px;
+ opacity: 0.6;
+ .transition(all 0.2s);
+
+ &:hover {
+ opacity: 1;
+ }
+}
+
+.list-group {
+
+ &-item {
+ padding: 15px;
+ }
+
+ &-item-text {
+ color: @gray-light;
+ }
+}
+
+.well {
+ border-radius: 0;
+ .box-shadow(none);
+}
+
+.panel {
+ border: none;
+ border-radius: 2px;
+ .box-shadow(0 1px 4px rgba(0,0,0,.3));
+
+ &-heading {
+ border-bottom: none;
+ }
+
+ &-footer {
+ border-top: none;
+ }
+}
+
+.popover {
+ border: none;
+ .box-shadow(0 1px 4px rgba(0,0,0,.3));
+}
+
+.carousel {
+ &-caption {
+ h1, h2, h3, h4, h5, h6 {
+ color: inherit;
+ }
+ }
+}
+