Protocol-relative URLs for Google Font @imports
[bootswatch] / spruce / bootswatch.less
index e6127af..101c59c 100755 (executable)
@@ -1,44 +1,43 @@
-// Bootswatch.less
-// Swatch: Spruce
-// Version: 2.1.0
+// Spruce 2.2.2
+// Bootswatch
 // -----------------------------------------------------
 
+
 // TYPOGRAPHY
 // --------------------------------------------------
 
-@import url('https://fonts.googleapis.com/css?family=Josefin+Slab:400,700');
-
-.navbar .brand, legend, .btn,
-.navbar .nav > li > a,
-div.subnav li > a,
-.navbar-text  {
-       font-family: @headingsFontFamily;
-       font-weight: @headingsFontWeight;
-}
-
-h1 { font-size: 54px; }
-h2 { font-size: 36px; }
-h3 { font-size: 20px; }
-h4 { font-size: 16px; }
-h5 { font-size: 14px; }
+@import url(//fonts.googleapis.com/css?family=Crete+Round);
 
-h1 > small, h2 > small, h3 > small, h4 > small, h5 > small, h6 > small, .muted {
+h1 > small,
+h2 > small,
+h3 > small,
+h4 > small,
+h5 > small,
+h6 > small,
+.muted {
        color: @headingsColor;
        font-family: @baseFontFamily;
 }
 
-.alert-heading {
-       font-family: @baseFontFamily;
-       color: inherit;
+.jumbotron h1 {
+       font-weight: normal !important;
 }
 
 // SCAFFOLDING
 // --------------------------------------------------
 
-body {
-       // #gradient > .vertical-three-colors (#90A38F, #AEAD8E, 60%, #90A38F);
-       background-size: 100% 1400px;
-       background-repeat: repeat-y;
+.page-header {
+       border-bottom: none;
+       padding-bottom: 5px;
+
+       h1 {
+               margin-bottom: 0;
+       }
+}
+
+hr {
+       border-top: none;
+       border-bottom: 2px solid @headingsColor;
 }
 
 blockquote {
@@ -53,11 +52,6 @@ blockquote {
        }
 }
 
-code, pre {
-       color: lighten(@blueDark, 10%);
-       background-color: @headingsColor;
-}
-
 // NAVBAR
 // --------------------------------------------------
 
@@ -69,18 +63,22 @@ code, pre {
        }
 
        .brand {
+               padding: 18px 20px 16px;
                font-size: 26px;
-               padding: 18px 20px 12px;
+               font-family: @headingsFontFamily;
+               font-weight: @headingsFontWeight;
+
+               &:hover {
+                       background-color: @navbarLinkBackgroundHover;
+               }
        }
 
        .nav > li > a {
+               padding: 20px 20px 14px;
                font-size: 20px;
-               padding: 20px 20px 10px;
-       }
-
-       .nav .active > a,
-       .nav .active > a:hover {
-               color: @yellow;
+               font-family: @headingsFontFamily;
+               font-weight: @headingsFontWeight;
+               text-shadow: none;
        }
 
        .nav > .active > a,
@@ -92,6 +90,8 @@ code, pre {
        .navbar-text {
                margin: 19px 20px 0;
                font-size: 20px;
+               font-family: @headingsFontFamily;
+               font-weight: @headingsFontWeight;
                line-height: inherit;
        }
 
@@ -99,88 +99,112 @@ code, pre {
                border-color: rgba(0, 0, 0, 0.2);
        }
 
-       .navbar-search {
+       .btn-navbar {
+               margin-top: 14px;
+       }
+
+       .navbar-form, .navbar-search {
+               border-color: transparent;
                margin-top: 12px;
+               .box-shadow(none);
+               line-height: normal;
        }
 
        .navbar-search .search-query {
                border-color: transparent;
                background-color: rgba(255, 255, 255, 0.4);
+               line-height: normal;
                color: @white;
        }
 
-       .nav > .open > a {
-               color: @yellow;
+       .dropdown-menu li > a {
+               font-family: @headingsFontFamily;
+               font-weight: @headingsFontWeight;
        }
 
-       .nav > .open > .dropdown-menu {
-               background-color: @headingsColor;
-               color: @textColor;
-               border-color: transparent;
+       .nav > li > .dropdown-menu::before,
+       .nav > li > .dropdown-menu::after {
+               border-bottom: none;
        }
 
-       .nav > .open > .dropdown-menu a:hover {
-               background-color: darken(#90A38F, 10%);
-               color: @headingsColor;
+       &-inverse {
+
+               .dropdown-menu {
+                       background-color: @navbarInverseLinkBackgroundHover;
+
+                       li > a {
+                               color: @headingsColor;
+
+                               &:hover {
+                                       background-color: @navbarInverseBackground;
+                               }
+                       }
+
+                       .divider {
+                               border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+                       }
+
+                       .nav-header {
+                               color: @headingsColor;
+                       }
+               }
+
        }
 
-       .btn-navbar {
-               margin-top: 14px;
+}
+
+@media (max-width: @navbarCollapseWidth) {
+
+       .navbar .nav-collapse {
+
+               .nav li > a {
+                       color: @navbarLinkColor;
+
+                       &:hover {
+                               background-color: @navbarLinkBackgroundHover;
+                       }
+               }       
        }
 
-       .nav-collapse.in .nav li > a {
-               color: @headingsColor;
+       .navbar-inverse .nav-collapse {
 
-               &:hover {
-                       color: @yellow;
-                       background-color: @blue;
+               .nav li > a:hover {
+                       background-color: rgba(0, 0, 0, 0.06) !important;
                }
        }
 
-       .navbar-form, .navbar-search {
-               border-color: transparent;
-               .box-shadow(none);
+       .nav-collapse .navbar-form,
+       .nav-collapse .navbar-search {
+               border: none !important;
+               .box-shadow(none) !important;
        }
 }
 
 div.subnav {
+
        background-color: @green;
        background-image: none;
        border-color: transparent;
-       .box-shadow(0 1px 5px rgba(0,0,0,.1));
-       font-size: 18px;
+       .border-radius(0);
 
        .nav > li > a {
-               padding: 13px 12px 9px;
+               padding: 12px 12px 10px;
                border-color: transparent;
                background-color: transparent;
-               color: @headingsColor;
-       }
-
-       .nav > li + li > a {
-               border-color: transparent;
+               font-family: @headingsFontFamily;
+               font-weight: @headingsFontWeight;
+               color: @navbarLinkColor;
        }
 
-       .nav > li.active > a,
        .nav > li > a:hover,
-       .nav > li.active > a:hover,
+       .nav > .active > a,
+       .nav > .active > a:hover,
        .dropdown.open .dropdown-toggle,
        .dropdown.open.active .dropdown-toggle:hover {
+               background-color: @navbarLinkBackgroundHover;
                .box-shadow(none);
-               background-color: transparent;
                border-color: transparent;
-               color: @yellow;
-       }
-
-       .dropdown.open > .dropdown-menu {
-               background-color: @headingsColor;
-               color: @textColor;
-               border-color: transparent;
-       }
-
-       .dropdown.open > .dropdown-menu a:hover {
-               background-color: darken(#90A38F, 10%);
-               color: @headingsColor;
+               color: @white;
        }
 
        &.subnav-fixed {
@@ -188,271 +212,263 @@ div.subnav {
        }
 }
 
-// TABLES
+// NAV
 // --------------------------------------------------
 
-.table,
-.table.table-bordered,
-.table.table-striped {
-       .border-radius(0 0 8px 8px);
-}
-
-.table-bordered thead:first-child tr:first-child th:first-child,
-.table-bordered tbody:first-child tr:first-child td:first-child,
-.table-bordered thead:first-child tr:first-child th:last-child,
-.table-bordered tbody:first-child tr:first-child td:last-child {
-       .border-radius(0);
-}
+.nav {
 
-.table-striped tbody:last-child tr:last-child td:first-child {
-       .border-radius(0 0 0 8px);
-}
+       .nav-header {
+               color: @headingsColor;
+       }
 
-.table-striped tbody:last-child tr:last-child td:last-child {
-       .border-radius(0 0 8px 0);
+       .disabled > a,
+       .disabled > a:hover {
+               background-color: lighten(@green, 10%);
+               color: @white;
+       }
 }
 
-.table-bordered {
-       border: none;
-}
+.nav-tabs {
+       
+       border-color: transparent;
 
-.table thead tr th:first-child,
-.table tbody tr td:first-child {
-       border-left: none;
-}
+       & > li > a {
+               background-color: @green;
+               color: @white;
 
-.table th,
-.table-striped tbody tr:nth-child(odd) th {
-       background-color: darken(#90A38F, 10%);
-       color: @headingsColor;
-}
+               &:hover {
+                       background-color: @navbarBackground;
+                       border-color: transparent;
+               }       
+       }
 
-// BUTTONS
-// --------------------------------------------------
+       .active > a,
+       .active > a:hover {
+               background-color: @navbarBackground;
+               border-color: transparent;
+               color: @white;
+       }
 
-.btn {
-  .buttonBackground(lighten(@blueDark, 5%), @blueDark);
-    text-shadow: none;
-    color: @white;
-       border-color: transparent;
-       .box-shadow(none);
+       &.nav-stacked > li > a {
+               border-color: transparent;
 
-       &:hover {
-               color: @grayLighter;
+               &:hover {
+                       border-color: transparent;
+               }
        }
-}
 
-.btn-large {
-       font-size: 18px;
+       .open .dropdown-toggle,
+       .active.open .dropdown-toggle {
+               background-color: @navbarBackground;
+       }
 }
 
-.btn-primary {
-       .buttonBackground(lighten(@blue, 10%), lighten(@blue, 5%));
-}
+.nav-pills {
 
-.btn-warning {
-  .buttonBackground(@orange, darken(@orange, 5%));
-}
+       & > li > a {
+               background-color: @green;
+               color: @white;
 
-.btn-danger {
-  .buttonBackground(lighten(@red, 5%), @red);
-}
+               &:hover {
+                       background-color: @navbarBackground;
+                       border-color: transparent;
+               }
+       }
 
-.btn-success {
-  .buttonBackground(#62c462, #51a351);
-}
+       .active > a,
+       .active > a:hover {
+               background-color: @navbarBackground;
+               border-color: transparent;
+               color: @white;
+       }
 
-.btn-info {
-  .buttonBackground(#5bc0de, #2f96b4);
+       .open .dropdown-toggle,
+       .active.open .dropdown-toggle {
+               background-color: @navbarBackground;
+       }
 }
 
-.btn-inverse {
-  .buttonBackground(@yellow, darken(@yellow, 5%));
+.tabbable {
+       .nav-tabs,
+       .nav-tabs > li > a,
+       .nav-tabs > li > a:hover,
+       .nav-tabs > li.active > a,
+       .nav-tabs > li.active > a:hover  {
+               border-color: transparent;
+       }
 }
 
-.btn-group .dropdown-toggle {
-       .box-shadow(none);
-}
+.nav-list {
 
-// NAVIGATION
-// --------------------------------------------------
+       .nav-header,
+       li > a {
+               text-shadow: none;
+       }
 
-.nav {
-       .disabled > a {
+       li > a:hover {
+               background-color: @green;
+               color: @white;
+       }
 
-               color: #ccc;
+       li.active > a,
+       li.active > a:hover {
+               background-color: @navbarBackground;
+               text-shadow: none;
+       }
 
-               &:hover {
-                       background-color: #748C73;
-               }
+       .divider {
+               background-color: transparent;
+               border-bottom: 1px solid @headingsColor;
        }
 }
 
 .breadcrumb {
-       background-color: darken(#90A38F, 10%);
+
+       background-color: @green;
        background-image: none;
-       border-color: transparent;
        .box-shadow(none);
+       border-color: transparent;
+       .border-radius(0);
 
        li {
-               color: @yellow;
+               color: @white;
                text-shadow: none;
 
                a {
-                       color: @yellow;
+                       color: @white;
+                       text-decoration: underline;
                }
 
                a:hover {
-                       color: @yellow;
+                       color: @white;
                }
 
                .divider {
-                       color: @headingsColor;
+                       color: @white;
                }
        }
 
        .active {
-               color: @headingsColor;
+               color: @white;
        }
 }
 
 .pagination {
 
-       & > ul {
-               background-color: darken(#90A38F, 10%);
+       ul {
+               background-color: @green;
                background-image: none;
-               border-color: transparent;
                .box-shadow(none);
+               border-color: transparent;
+               .border-radius(0);
        }
 
-       a {
-               color: @yellow;
+
+       ul > li > a,
+       ul > li > span {
+               background-color: @green;
                border-color: transparent;
+               color: @white;
 
                &:hover {
-                       color: @yellow;
-                       background-color: rgba(0, 0, 0, 0.1);
+                       background-color: @navbarBackground;
+                       color: @white;
                }
        }
 
-       .active a {
-               color: @headingsColor;
-               background-color: rgba(0, 0, 0, 0.1);
+       ul > .active > a,
+       ul > .active > span {
+               background-color: @navbarBackground;
+               color: @white;
        }
 
-       .disabled a,
-       .disabled a:hover {
-               color: @blue;
+       ul > .disabled > a,
+       ul > .disabled > a:hover,
+       ul > .disabled > span,
+       ul > .disabled > span:hover {
+               background-color: lighten(@green, 10%);
+               color: @white;
        }
 }
 
-.nav-list {
+.pager {
 
        li > a,
-       .nav-header {
-               text-shadow: none;
-       }
-
-       li > a:hover {
-               background-color: transparent;
-       }
+       li > span {
+               border: none;
+               background-color: @green;
+               color: @white;
 
-       li.active > a,
-       li.active > a:hover {
-               background-color: #A2CDB5;
-               text-shadow: none;
+               &:hover {
+                       background-color: @navbarBackground;
+               }
        }
 
-       .divider {
-               background-color: transparent;
-               border-bottom: 1px solid @headingsColor;
+       .disabled a,
+       .disabled a:hover {
+               background-color: lighten(@green, 10%);
+               color: @white;
        }
 }
 
-.nav-tabs {
-       border-color: transparent;
-}
-
-.nav-tabs > li > a,
-.nav-pills > li > a {
-       background-color: #748C73;
+// BUTTONS
+// --------------------------------------------------
 
-       &:hover {
-               background-color: #748C73;
-               border-color: transparent;
-       }
+.btn {
+       .border-radius(0);
+       font-family: @headingsFontFamily;
+       font-weight: @headingsFontWeight;
+    text-shadow: none;
 }
 
-.nav-tabs > .active > a,
-.nav-tabs > .active > a:hover,
-.nav-pills .active > a,
-.nav-pills .active > a:hover {
-       background-color: #A2CDB5;
-       border-color: transparent;
-       color: @blue;
+.btn-large {
+       font-size: 18px;
 }
 
-.nav-tabs.nav-stacked > li > a {
-       border-color: transparent;
-
-       &:hover {
-               border-color: transparent;
-       }
+.btn-group .dropdown-toggle {
+       .box-shadow(none);
 }
 
-.nav-tabs .open .dropdown-toggle,
-.nav-pills .open .dropdown-toggle  {
-       background-color: #748C73;
-       border-color: transparent;
-       color: @yellow;
-}
+// TABLES
+// --------------------------------------------------
 
-.nav-tabs .active.open .dropdown-toggle,
-.nav-pills .active.open .dropdown-toggle {
-       background-color: #A2CDB5;
+.table,
+.table.table-bordered,
+.table.table-striped {
+       .border-radius(0);
 }
 
-.nav-tabs .dropdown-menu,
-.nav-pills .dropdown-menu {
-       background-color: @headingsColor;
-       color: @textColor;
-       border-color: transparent;
-
-       a:hover {
-               background-color: #A2CDB5;
-               color: @headingsColor;
-       }
+.table-bordered thead:first-child tr:first-child th:first-child,
+.table-bordered tbody:first-child tr:first-child td:first-child,
+.table-bordered thead:first-child tr:first-child th:last-child,
+.table-bordered tbody:first-child tr:first-child td:last-child,
+.table-bordered tbody:last-child tr:last-child td:first-child, {
+       .border-radius(0);
 }
 
-.nav .nav-header {
-       color: @blue;
+.table thead tr th:first-child,
+.table tbody tr td:first-child {
+       // border-left: none;
 }
 
-.tabbable {
-       .nav-tabs,
-       .nav-tabs > li > a,
-       .nav-tabs > li > a:hover,
-       .nav-tabs > li.active > a,
-       .nav-tabs > li.active > a:hover  {
-               border-color: transparent;
-       }
+.table th,
+.table-striped tbody tr:nth-child(odd) th {
+       background-color: @green;
+       color: @white;
 }
 
-.pager {
+.table {
 
-       a {
-               border: none;
-               background-color: #748C73;
+       tbody tr.success td {
+               background-color: #B5EEAA;
+       }
 
-               &:hover {
-                       background-color: #687D67;
-               }
+       tbody tr.error td {
+               background-color: #EEB8B8;
        }
 
-       .disabled a,
-       .disabled a:hover {
-               background-color: #748C73;
-               color: @textColor;
+       tbody tr.info td {
+               background-color: #AEE2EE;
        }
 }
 
@@ -460,6 +476,9 @@ div.subnav {
 // --------------------------------------------------
 
 legend {
+       border-bottom: none;
+       font-family: @headingsFontFamily;
+       font-weight: @headingsFontWeight;
        color: @headingsColor;
 }
 
@@ -475,83 +494,106 @@ input, textarea, select {
        color: @gray;
 }
 
-legend {
-       border-bottom: 2px solid @white;
-}
-
 .form-actions {
        border-top: none;
        .border-radius(4px);
 }
 
-// MODALS
-// --------------------------------------------------
+.control-group.error {
 
-.modal-header {
-       padding: 12px 15px 6px;
-       background-color: @green;
+       label, .help-block, .help-inline {
+               color: @red;
+       }
+
+       input, select, textarea {
+               border: 1px solid @red;
+               color: @textColor;
+       }
 }
 
-.modal-body,
-.modal-footer {
-       background-color: @headingsColor;
-       border: none;
-       .box-shadow(none);
+.control-group.success {
 
-       label {
+       label, .help-block, .help-inline {
+               color: @green;
+       }
+
+       input, select, textarea {
+               border: 1px solid @green;
                color: @textColor;
        }
 }
 
-.modal-footer {
-       .border-radius(0 0 4px 4px);
+.control-group.warning {
+
+       label, .help-block, .help-inline {
+               color: @orange;
+       }
+
+       input, select, textarea {
+               border: 1px solid @orange;
+               color: @textColor;
+       }
 }
 
-// MISCELLANEOUS
+// ALERTS, LABELS, BADGES
 // --------------------------------------------------
 
 .alert {
        text-shadow: none;
        border: none;
+
+       h1, h2, h3, h4, h5, h6 {
+               font-weight: bold;
+               color: @white;
+       }
+}
+
+.alert-heading {
+       font-family: @baseFontFamily;
+       color: inherit;
 }
 
 .badge,
 .label {
 
-       background-color: @blue;
+       background-color: @green;
        text-shadow: none;
 
        &-success {
-               background-color: @successBackground;
+               background-color: @btnSuccessBackground;
        }
 
        &-warning {
-               background-color: @warningBackground;
+               background-color: @btnWarningBackground;
        }
 
        &-important {
-               background-color: @errorBackground;
+               background-color: @btnDangerBackground;
        }
 
        &-info {
-               background-color: @infoBackground;
+               background-color: @btnInfoBackground;
        }
 
        &-inverse {
-               background-color: @yellow;
+               background-color: @btnInverseBackground;
        }
 }
 
-.progress {
-       background-color: darken(#90A38F, 10%);
-       background-image: none;
-}
+// MISC
+// --------------------------------------------------
 
 .well {
        border: none;
+       .border-radius(0);
        .box-shadow(none);
 }
 
+.hero-unit {
+       border: none;
+       .border-radius(0);
+}
+
 .thumbnail {
        border: none;
        .box-shadow(none);
@@ -561,12 +603,56 @@ legend {
        }
 }
 
-hr {
-       border-top: none;
-       border-bottom: 2px solid @headingsColor;
+.dropdown-menu .nav-header {
+       color: @white;
+       text-shadow: none;
 }
 
-.page-header {
-       border-bottom: 2px solid @headingsColor;
-       padding-bottom: 5px;
+.dropdown-menu li > a:hover,
+.dropdown-menu li > a:focus,
+.dropdown-submenu:hover > a {
+       background-image: none;
+}
+
+.progress {
+       background-color: darken(@grayLighter, 10%);
+       background-image: none;
+}
+
+[class^="icon-"],
+[class*=" icon-"] {
+       vertical-align: baseline;
 }
+
+.modal {
+
+       &-header {
+               padding: 12px 15px 6px;
+               background-color: @green;
+       }
+
+       &-body,
+       &-footer {
+               background-color: @headingsColor;
+               border: none;
+               .box-shadow(none);
+
+               label {
+                       color: @textColor;
+               }
+       }
+
+       &-footer {
+               .border-radius(0 0 4px 4px);
+       }
+}
+
+.popover {
+
+       &-title {
+               color: @white;
+       }
+}
+
+// MEDIA QUERIES
+// --------------------------------------------------