// stylelint-disable selector-no-qualifying-type, selector-max-compound-selectors /*! * Bootstrap v3.4.1 (https://getbootstrap.com/) * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ // // Load core variables and mixins // -------------------------------------------------- @import 'variables.less'; @import 'mixins.less'; // // Buttons // -------------------------------------------------- // Common styles .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); // Reset the shadow &:active, &.active { box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } &.disabled, &[disabled], fieldset[disabled] & { box-shadow: none; } } // Mixin for generating new styles .btn-styles(@btn-color: #555) { background-image: linear-gradient( to bottom, @btn-color 0%, darken(@btn-color, 12%) 100% ); background-repeat: repeat-x; border-color: darken(@btn-color, 14%); &:hover, &:focus { background-color: darken(@btn-color, 12%); background-position: 0 -15px; } &:active, &.active { background-color: darken(@btn-color, 12%); border-color: darken(@btn-color, 14%); } &.disabled, &[disabled], fieldset[disabled] & { &, &:hover, &:focus, &.focus, &:active, &.active { background-color: darken(@btn-color, 12%); background-image: none; } } } // Common styles .btn { // Remove the gradient for the pressed/active state &:active, &.active { background-image: none; } } // Apply the mixin to the buttons .btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; } .btn-primary { .btn-styles(@btn-primary-bg); } .btn-success { .btn-styles(@btn-success-bg); } .btn-info { .btn-styles(@btn-info-bg); } .btn-warning { .btn-styles(@btn-warning-bg); } .btn-danger { .btn-styles(@btn-danger-bg); } // // Dropdowns // -------------------------------------------------- .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-image: linear-gradient( to bottom, @dropdown-link-hover-bg 0%, darken(@dropdown-link-hover-bg, 5%) 100% ); background-repeat: repeat-x; background-color: darken(@dropdown-link-hover-bg, 5%); } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { background-image: linear-gradient( to bottom, @dropdown-link-active-bg 0%, darken(@dropdown-link-active-bg, 5%) 100% ); background-repeat: repeat-x; background-color: darken(@dropdown-link-active-bg, 5%); } // // Navbar // -------------------------------------------------- // Default navbar .navbar-default { background-image: linear-gradient( to bottom, lighten(@navbar-default-bg, 10%) 0%, @navbar-default-bg 100% ); background-repeat: repeat-x; border-radius: @navbar-border-radius; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); .navbar-nav > .open > a, .navbar-nav > .active > a { background-image: linear-gradient( to bottom, darken(@navbar-default-link-active-bg, 5%) 0%, darken(@navbar-default-link-active-bg, 2%) 100% ); background-repeat: repeat-x; box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); } } .navbar-brand, .navbar-nav > li > a { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); } // Inverted navbar .navbar-inverse { background-image: linear-gradient( to bottom, lighten(@navbar-inverse-bg, 10%) 10%, @navbar-inverse-bg 100% ); background-repeat: repeat-x; border-radius: @navbar-border-radius; .navbar-nav > .open > a, .navbar-nav > .active > a { background-image: linear-gradient( to bottom, @navbar-inverse-link-active-bg 0%, lighten(@navbar-inverse-link-active-bg, 2.5%) 100% ); background-repeat: repeat-x; box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); } .navbar-brand, .navbar-nav > li > a { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } } // Undo rounded corners in static and fixed navbars .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } // Fix active state of dropdown items in collapsed mode @media (max-width: @grid-float-breakpoint-max) { .navbar .navbar-nav .open .dropdown-menu > .active > a { &, &:hover, &:focus { color: #fff; background-image: linear-gradient( to bottom, @dropdown-link-active-bg 0%, darken(@dropdown-link-active-bg, 5%) 100% ); background-repeat: repeat-x; } } } // // Alerts // -------------------------------------------------- // Common styles .alert { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); } // Mixin for generating new styles .alert-styles(@color) { background-image: linear-gradient(to bottom, @color 0%, darken(@color, 7.5%) 100%); background-repeat: repeat-x; border-color: darken(@color, 15%); } // Apply the mixin to the alerts .alert-success { .alert-styles(@alert-success-bg); } .alert-info { .alert-styles(@alert-info-bg); } .alert-warning { .alert-styles(@alert-warning-bg); } .alert-danger { .alert-styles(@alert-danger-bg); } // // Progress bars // -------------------------------------------------- // Give the progress background some depth .progress { background-image: linear-gradient( to bottom, darken(@progress-bg, 4%) 0%, @progress-bg 100% ); background-repeat: repeat-x; } // Mixin for generating new styles .progress-bar-styles(@color) { background-image: linear-gradient(to bottom, @color 0%, darken(@color, 10%) 100%); background-repeat: repeat-x; } // Apply the mixin to the progress bars .progress-bar { .progress-bar-styles(@progress-bar-bg); } .progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); } .progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); } .progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); } .progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); } // // List groups // -------------------------------------------------- .list-group { border-radius: @border-radius-base; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%); background-image: linear-gradient( to bottom, @list-group-active-bg 0%, darken(@list-group-active-bg, 7.5%) 100% ); background-repeat: repeat-x; border-color: darken(@list-group-active-border, 7.5%); } // // Panels // -------------------------------------------------- // Common styles .panel { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } // Mixin for generating new styles .panel-heading-styles(@color) { background-image: linear-gradient(to bottom, @color 0%, darken(@color, 5%) 100%); background-repeat: repeat-x; } // Apply the mixin to the panel headings only .panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); } .panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); } .panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); } .panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); } .panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); } .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); } // // Wells // -------------------------------------------------- .well { background-image: linear-gradient(to bottom, darken(@well-bg, 5%) 0%, @well-bg 100%); background-repeat: repeat-x; border-color: darken(@well-bg, 10%); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); }