{“version”:3,“sources”:,“names”:[],“mappings”:“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”,“sourcesContent”:[“n//n// Load core variables and mixinsn// ————————————————–nn@import "variables.less";n@import "mixins.less";nnnn//n// Buttonsn// ————————————————–nn// Common stylesn.btn-default,n.btn-primary,n.btn-success,n.btn-info,n.btn-warning,n.btn-danger {n text-shadow: 0 -1px 0 rgba(0,0,0,.2);n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);n .box-shadow(@shadow);nn // Reset the shadown &:active,n &.active {n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));n }n}nn// Mixin for generating new stylesn.btn-styles(@btn-color: #555) {n gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded cornersn background-repeat: repeat-x;n border-color: darken(@btn-color, 14%);nn &:hover,n &:focus {n background-color: darken(@btn-color, 12%);n background-position: 0 -15px;n }nn &:active,n &.active {n background-color: darken(@btn-color, 12%);n border-color: darken(@btn-color, 14%);n }n}nn// Common stylesn.btn {n // Remove the gradient for the pressed/active staten &:active,n &.active {n background-image: none;n }n}nn// Apply the mixin to the buttonsn.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 fff; border-color: ccc; }n.btn-primary { .btn-styles(@btn-primary-bg); }n.btn-success { .btn-styles(@btn-success-bg); }n.btn-info { .btn-styles(@btn-info-bg); }n.btn-warning { .btn-styles(@btn-warning-bg); }n.btn-danger { .btn-styles(@btn-danger-bg); }nnnn//n// Imagesn// ————————————————–nn.thumbnail,n.img-thumbnail {n .box-shadow(0 1px 2px rgba(0,0,0,.075));n}nnnn//n// Dropdownsn// ————————————————–nn.dropdown-menu > li > a:hover,n.dropdown-menu > li > a:focus {n gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));n background-color: darken(@dropdown-link-hover-bg, 5%);n}n.dropdown-menu > .active > a,n.dropdown-menu > .active > a:hover,n.dropdown-menu > .active > a:focus {n gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));n background-color: darken(@dropdown-link-active-bg, 5%);n}nnnn//n// Navbarn// ————————————————–nn// Default navbarn.navbar-default {n gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don’t get triggeredn border-radius: @navbar-border-radius;n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);n .box-shadow(@shadow);nn .navbar-nav > .active > a {n gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));n }n}n.navbar-brand,n.navbar-nav > li > a {n text-shadow: 0 1px 0 rgba(255,255,255,.25);n}nn// Inverted navbarn.navbar-inverse {n gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don’t get triggerednn .navbar-nav > .active > a {n gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));n }nn .navbar-brand,n .navbar-nav > li > a {n text-shadow: 0 -1px 0 rgba(0,0,0,.25);n }n}nn// Undo rounded corners in static and fixed navbarsn.navbar-static-top,n.navbar-fixed-top,n.navbar-fixed-bottom {n border-radius: 0;n}nnnn//n// Alertsn// ————————————————–nn// Common stylesn.alert {n text-shadow: 0 1px 0 rgba(255,255,255,.2);n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);n .box-shadow(@shadow);n}nn// Mixin for generating new stylesn.alert-styles(@color) {n gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));n border-color: darken(@color, 15%);n}nn// Apply the mixin to the alertsn.alert-success { .alert-styles(@alert-success-bg); }n.alert-info { .alert-styles(@alert-info-bg); }n.alert-warning { .alert-styles(@alert-warning-bg); }n.alert-danger { .alert-styles(@alert-danger-bg); }nnnn//n// Progress barsn// ————————————————–nn// Give the progress background some depthn.progress {n gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)n}nn// Mixin for generating new stylesn.progress-bar-styles(@color) {n gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));n}nn// Apply the mixin to the progress barsn.progress-bar { .progress-bar-styles(@progress-bar-bg); }n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }nnnn//n// List groupsn// ————————————————–nn.list-group {n border-radius: @border-radius-base;n .box-shadow(0 1px 2px rgba(0,0,0,.075));n}n.list-group-item.active,n.list-group-item.active:hover,n.list-group-item.active:focus {n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);n gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));n border-color: darken(@list-group-active-border, 7.5%);n}nnnn//n// Panelsn// ————————————————–nn// Common stylesn.panel {n .box-shadow(0 1px 2px rgba(0,0,0,.05));n}nn// Mixin for generating new stylesn.panel-heading-styles(@color) {n gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));n}nn// Apply the mixin to the panel headings onlyn.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }nnnn//n// Wellsn// ————————————————–nn.well {n gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);n border-color: darken(@well-bg, 10%);n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);n .box-shadow(@shadow);n}n”,“//n// Mixinsn// ————————————————–nnn// Utilitiesn// ————————-nn// Clearfixn// Source: nicolasgallagher.com/micro-clearfix-hack/n//n// For modern browsersn// 1. The space content is one way to avoid an Opera bug when then// contenteditable attribute is included anywhere else in the document.n// Otherwise it causes space to appear at the top and bottom of elementsn// that are clearfixed.n// 2. The use of ‘table` rather than `block` is only necessary if usingn// `:before` to contain the top-margins of child elements.n.clearfix() {n &:before,n &:after {n content: " "; // 1n display: table; // 2n }n &:after {n clear: both;n }n}nn// WebKit-style focusn.tab-focus() {n // Defaultn outline: thin dotted;n // WebKitn outline: 5px auto -webkit-focus-ring-color;n outline-offset: -2px;n}nn// Center-align a block level elementn.center-block() {n display: block;n margin-left: auto;n margin-right: auto;n}nn// Sizing shortcutsn.size(@width; @height) {n width: @width;n height: @height;n}n.square(@size) {n .size(@size; @size);n}nn// Placeholder textn.placeholder(@color: @input-color-placeholder) {n &::-moz-placeholder { color: @color; // Firefoxn opacity: 1; } // See github.com/twbs/bootstrap/pull/11526n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+n &::-webkit-input-placeholder { color: @color; } // Safari and Chromen}nn// Text overflown// Requires inline-block or block for proper stylingn.text-overflow() {n overflow: hidden;n text-overflow: ellipsis;n white-space: nowrap;n}nn// CSS image replacementn//n// Heads up! v3 launched with with only `.hide-text()`, but per our pattern forn// mixins being reused as classes with the same name, this doesn’t hold up. Asn// of v3.0.1 we have added ‘.text-hide()` and deprecated `.hide-text()`. Noten// that we cannot chain the mixins together in Less, so they are repeated.n//n// Source: github.com/h5bp/html5-boilerplate/commit/aa0396eae757nn// Deprecated as of v3.0.1 (will be removed in v4)n.hide-text() {n font: ~"0/0" a;n color: transparent;n text-shadow: none;n background-color: transparent;n border: 0;n}n// New mixin to use as of v3.0.1n.text-hide() {n .hide-text();n}nnnn// CSS3 PROPERTIESn// ————————————————–nn// Single side border-radiusn.border-top-radius(@radius) {n border-top-right-radius: @radius;n border-top-left-radius: @radius;n}n.border-right-radius(@radius) {n border-bottom-right-radius: @radius;n border-top-right-radius: @radius;n}n.border-bottom-radius(@radius) {n border-bottom-right-radius: @radius;n border-bottom-left-radius: @radius;n}n.border-left-radius(@radius) {n border-bottom-left-radius: @radius;n border-top-left-radius: @radius;n}nn// Drop shadowsn//n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap’sn// supported browsers that have box shadow capabilities now support then// standard ‘box-shadow` property.n.box-shadow(@shadow) {n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1n box-shadow: @shadow;n}nn// Transitionsn.transition(@transition) {n -webkit-transition: @transition;n transition: @transition;n}n.transition-property(@transition-property) {n -webkit-transition-property: @transition-property;n transition-property: @transition-property;n}n.transition-delay(@transition-delay) {n -webkit-transition-delay: @transition-delay;n transition-delay: @transition-delay;n}n.transition-duration(@transition-duration) {n -webkit-transition-duration: @transition-duration;n transition-duration: @transition-duration;n}n.transition-transform(@transition) {n -webkit-transition: -webkit-transform @transition;n -moz-transition: -moz-transform @transition;n -o-transition: -o-transform @transition;n transition: transform @transition;n}nn// Transformationsn.rotate(@degrees) {n -webkit-transform: rotate(@degrees);n -ms-transform: rotate(@degrees); // IE9 onlyn transform: rotate(@degrees);n}n.scale(@ratio; @ratio-y…) {n -webkit-transform: scale(@ratio, @ratio-y);n -ms-transform: scale(@ratio, @ratio-y); // IE9 onlyn transform: scale(@ratio, @ratio-y);n}n.translate(@x; @y) {n -webkit-transform: translate(@x, @y);n -ms-transform: translate(@x, @y); // IE9 onlyn transform: translate(@x, @y);n}n.skew(@x; @y) {n -webkit-transform: skew(@x, @y);n -ms-transform: skewX(@x) skewY(@y); // See github.com/twbs/bootstrap/issues/4885; IE9+n transform: skew(@x, @y);n}n.translate3d(@x; @y; @z) {n -webkit-transform: translate3d(@x, @y, @z);n transform: translate3d(@x, @y, @z);n}nn.rotateX(@degrees) {n -webkit-transform: rotateX(@degrees);n -ms-transform: rotateX(@degrees); // IE9 onlyn transform: rotateX(@degrees);n}n.rotateY(@degrees) {n -webkit-transform: rotateY(@degrees);n -ms-transform: rotateY(@degrees); // IE9 onlyn transform: rotateY(@degrees);n}n.perspective(@perspective) {n -webkit-perspective: @perspective;n -moz-perspective: @perspective;n perspective: @perspective;n}n.perspective-origin(@perspective) {n -webkit-perspective-origin: @perspective;n -moz-perspective-origin: @perspective;n perspective-origin: @perspective;n}n.transform-origin(@origin) {n -webkit-transform-origin: @origin;n -moz-transform-origin: @origin;n -ms-transform-origin: @origin; // IE9 onlyn transform-origin: @origin;n}nn// Animationsn.animation(@animation) {n -webkit-animation: @animation;n animation: @animation;n}n.animation-name(@name) {n -webkit-animation-name: @name;n animation-name: @name;n}n.animation-duration(@duration) {n -webkit-animation-duration: @duration;n animation-duration: @duration;n}n.animation-timing-function(@timing-function) {n -webkit-animation-timing-function: @timing-function;n animation-timing-function: @timing-function;n}n.animation-delay(@delay) {n -webkit-animation-delay: @delay;n animation-delay: @delay;n}n.animation-iteration-count(@iteration-count) {n -webkit-animation-iteration-count: @iteration-count;n animation-iteration-count: @iteration-count;n}n.animation-direction(@direction) {n -webkit-animation-direction: @direction;n animation-direction: @direction;n}nn// Backface visibilityn// Prevent browsers from flickering when using CSS 3D transforms.n// Default value is `visible`, but can be changed to `hidden`n.backface-visibility(@visibility){n -webkit-backface-visibility: @visibility;n -moz-backface-visibility: @visibility;n backface-visibility: @visibility;n}nn// Box sizingn.box-sizing(@boxmodel) {n -webkit-box-sizing: @boxmodel;n -moz-box-sizing: @boxmodel;n box-sizing: @boxmodel;n}nn// User selectn// For selecting text on the pagen.user-select(@select) {n -webkit-user-select: @select;n -moz-user-select: @select;n -ms-user-select: @select; // IE10+n user-select: @select;n}nn// Resize anythingn.resizable(@direction) {n resize: @direction; // Options: horizontal, vertical, bothn overflow: auto; // Safari fixn}nn// CSS3 Content Columnsn.content-columns(@column-count; @column-gap: @grid-gutter-width) {n -webkit-column-count: @column-count;n -moz-column-count: @column-count;n column-count: @column-count;n -webkit-column-gap: @column-gap;n -moz-column-gap: @column-gap;n column-gap: @column-gap;n}nn// Optional hyphenationn.hyphens(@mode: auto) {n word-wrap: break-word;n -webkit-hyphens: @mode;n -moz-hyphens: @mode;n -ms-hyphens: @mode; // IE10+n -o-hyphens: @mode;n hyphens: @mode;n}nn// Opacityn.opacity(@opacity) {n opacity: @opacity;n // IE8 filtern @opacity-ie: (@opacity * 100);n filter: ~"alpha(opacity=@{opacity-ie})";n}nnnn// GRADIENTSn// ————————————————–nn#gradient {nn // Horizontal gradient, from left to rightn //n // Creates two color stops, start and end, by specifying a color and position for each color stop.n // Color stops are not available in IE9 and below.n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {n background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+n background-repeat: repeat-x;n filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr=’%d’, endColorstr=‘%d’, GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and downn }nn // Vertical gradient, from top to bottomn //n // Creates two color stops, start and end, by specifying a color and position for each color stop.n // Color stops are not available in IE9 and below.n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+n background-repeat: repeat-x;n filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr=‘%d’, endColorstr=‘%d’, GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and downn }nn .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {n background-repeat: repeat-x;n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+n }n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: c3325f) {n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);n background-repeat: no-repeat;n filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr=‘%d’, endColorstr=‘%d’, GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallbackn }n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: c3325f) {n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);n background-repeat: no-repeat;n filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr=‘%d’, endColorstr=‘%d’, GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallbackn }n .radial(@inner-color: #555; @outer-color: #333) {n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);n background-image: radial-gradient(circle, @inner-color, @outer-color);n background-repeat: no-repeat;n }n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);n }n}nn// Reset filters for IEn//n// When you need to remove a gradient background, do not forget to use this to resetn// the IE filter for IE9 and below.n.reset-filter() {n filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));n}nnnn// Retina imagesn//n// Short retina mixin for setting background-image and -sizenn.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {n background-image: url("@{file-1x}");nn @median only screen and (-webkit-min-device-pixel-ratio: 2),n only screen and ( min–moz-device-pixel-ratio: 2),n only screen and ( -o-min-device-pixel-ratio: 2/1),n only screen and ( min-device-pixel-ratio: 2),n only screen and ( min-resolution: 192dpi),n only screen and ( min-resolution: 2dppx) {n background-image: url("@{file-2x}");n background-size: @width-1x @height-1x;n }n}nnn// Responsive imagen//n// Keep images from scaling beyond the width of their parents.nn.img-responsive(@display: block) {n display: @display;n max-width: 100%; // Part 1: Set a maximum relative to the parentn height: auto; // Part 2: Scale the height according to the width, otherwise you get stretchingn}nnn// COMPONENT MIXINSn// ————————————————–nn// Horizontal dividersn// ————————-n// Dividers (basically an hr) within dropdowns and nav listsn.nav-divider(@color: e5e5e5) {n height: 1px;n margin: ((@line-height-computed / 2) - 1) 0;n overflow: hidden;n background-color: @color;n}nn// Panelsn// ————————-n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {n border-color: @border;nn & > .panel-heading {n color: @heading-text-color;n background-color: @heading-bg-color;n border-color: @heading-border;nn + .panel-collapse .panel-body {n border-top-color: @border;n }n }n & > .panel-footer {n + .panel-collapse .panel-body {n border-bottom-color: @border;n }n }n}nn// Alertsn// ————————-n.alert-variant(@background; @border; @text-color) {n background-color: @background;n border-color: @border;n color: @text-color;nn hr {n border-top-color: darken(@border, 5%);n }n .alert-link {n color: darken(@text-color, 10%);n }n}nn// Tablesn// ————————-n.table-row-variant(@state; @background) {n // Exact selectors below required to override ‘.table-striped` and preventn // inheritance to nested tables.n .table > thead > tr,n .table > tbody > tr,n .table > tfoot > tr {n > td.@{state},n > th.@{state},n &.@{state} > td,n &.@{state} > th {n background-color: @background;n }n }nn // Hover states for `.table-hover`n // Note: this is not available for cells or rows within `thead` or `tfoot`.n .table-hover > tbody > tr {n > td.@{state}:hover,n > th.@{state}:hover,n &.@{state}:hover > td,n &.@{state}:hover > th {n background-color: darken(@background, 5%);n }n }n}nn// List Groupsn// ————————-n.list-group-item-variant(@state; @background; @color) {n .list-group-item-@{state} {n color: @color;n background-color: @background;nn a& {n color: @color;nn .list-group-item-heading { color: inherit; }nn &:hover,n &:focus {n color: @color;n background-color: darken(@background, 5%);n }n &.active,n &.active:hover,n &.active:focus {n color: fff;n background-color: @color;n border-color: @color;n }n }n }n}nn// Button variantsn// ————————-n// Easily pump out default styles, as well as :hover, :focus, :active,n// and disabled options for all buttonsn.button-variant(@color; @background; @border) {n color: @color;n background-color: @background;n border-color: @border;nn &:hover,n &:focus,n &:active,n &.active,n .open .dropdown-toggle& {n color: @color;n background-color: darken(@background, 8%);n border-color: darken(@border, 12%);n }n &:active,n &.active,n .open .dropdown-toggle& {n background-image: none;n }n &.disabled,n &[disabled],n fieldset & {n &,n &:hover,n &:focus,n &:active,n &.active {n background-color: @background;n border-color: @border;n }n }nn .badge {n color: @background;n background-color: @color;n }n}nn// Button sizesn// ————————-n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {n padding: @padding-vertical @padding-horizontal;n font-size: @font-size;n line-height: @line-height;n border-radius: @border-radius;n}nn// Paginationn// ————————-n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {n > li {n > a,n > span {n padding: @padding-vertical @padding-horizontal;n font-size: @font-size;n }n &:first-child {n > a,n > span {n .border-left-radius(@border-radius);n }n }n &:last-child {n > a,n > span {n .border-right-radius(@border-radius);n }n }n }n}nn// Labelsn// ————————-n.label-variant(@color) {n background-color: @color;n &[href] {n &:hover,n &:focus {n background-color: darken(@color, 10%);n }n }n}nn// Contextual backgroundsn// ————————-n.bg-variant(@color) {n background-color: @color;n a&:hover {n background-color: darken(@color, 10%);n }n}nn// Typographyn// ————————-n.text-emphasis-variant(@color) {n color: @color;n a&:hover {n color: darken(@color, 10%);n }n}nn// Navbar vertical alignn// ————————-n// Vertically center elements in the navbar.n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.n.navbar-vertical-align(@element-height) {n margin-top: ((@navbar-height - @element-height) / 2);n margin-bottom: ((@navbar-height - @element-height) / 2);n}nn// Progress barsn// ————————-n.progress-bar-variant(@color) {n background-color: @color;n .progress-striped & {n gradient > .striped();n }n}nn// Responsive utilitiesn// ————————-n// More easily include all the states for responsive-utilities.less.n.responsive-visibility() {n display: block !important;n table& { display: table; }n tr& { display: table-row !important; }n th&,n td& { display: table-cell !important; }n}nn.responsive-invisibility() {n display: none !important;n}nnn// Grid Systemn// ———–nn// Centered container elementn.container-fixed() {n margin-right: auto;n margin-left: auto;n padding-left: (@grid-gutter-width / 2);n padding-right: (@grid-gutter-width / 2);n &:extend(.clearfix all);n}nn// Creates a wrapper for a series of columnsn.make-row(@gutter: @grid-gutter-width) {n margin-left: (@gutter / -2);n margin-right: (@gutter / -2);n &:extend(.clearfix all);n}nn// Generate the extra small columnsn.make-xs-column(@columns; @gutter: @grid-gutter-width) {n position: relative;n float: left;n width: percentage((@columns / @grid-columns));n min-height: 1px;n padding-left: (@gutter / 2);n padding-right: (@gutter / 2);n}n.make-xs-column-offset(@columns) {n @media (min-width: @screen-xs-min) {n margin-left: percentage((@columns / @grid-columns));n }n}n.make-xs-column-push(@columns) {n @media (min-width: @screen-xs-min) {n left: percentage((@columns / @grid-columns));n }n}n.make-xs-column-pull(@columns) {n @media (min-width: @screen-xs-min) {n right: percentage((@columns / @grid-columns));n }n}nnn// Generate the small columnsn.make-sm-column(@columns; @gutter: @grid-gutter-width) {n position: relative;n min-height: 1px;n padding-left: (@gutter / 2);n padding-right: (@gutter / 2);nn @media (min-width: @screen-sm-min) {n float: left;n width: percentage((@columns / @grid-columns));n }n}n.make-sm-column-offset(@columns) {n @media (min-width: @screen-sm-min) {n margin-left: percentage((@columns / @grid-columns));n }n}n.make-sm-column-push(@columns) {n @media (min-width: @screen-sm-min) {n left: percentage((@columns / @grid-columns));n }n}n.make-sm-column-pull(@columns) {n @media (min-width: @screen-sm-min) {n right: percentage((@columns / @grid-columns));n }n}nnn// Generate the medium columnsn.make-md-column(@columns; @gutter: @grid-gutter-width) {n position: relative;n min-height: 1px;n padding-left: (@gutter / 2);n padding-right: (@gutter / 2);nn @media (min-width: @screen-md-min) {n float: left;n width: percentage((@columns / @grid-columns));n }n}n.make-md-column-offset(@columns) {n @media (min-width: @screen-md-min) {n margin-left: percentage((@columns / @grid-columns));n }n}n.make-md-column-push(@columns) {n @media (min-width: @screen-md-min) {n left: percentage((@columns / @grid-columns));n }n}n.make-md-column-pull(@columns) {n @media (min-width: @screen-md-min) {n right: percentage((@columns / @grid-columns));n }n}nnn// Generate the large columnsn.make-lg-column(@columns; @gutter: @grid-gutter-width) {n position: relative;n min-height: 1px;n padding-left: (@gutter / 2);n padding-right: (@gutter / 2);nn @media (min-width: @screen-lg-min) {n float: left;n width: percentage((@columns / @grid-columns));n }n}n.make-lg-column-offset(@columns) {n @media (min-width: @screen-lg-min) {n margin-left: percentage((@columns / @grid-columns));n }n}n.make-lg-column-push(@columns) {n @media (min-width: @screen-lg-min) {n left: percentage((@columns / @grid-columns));n }n}n.make-lg-column-pull(@columns) {n @media (min-width: @screen-lg-min) {n right: percentage((@columns / @grid-columns));n }n}nnn// Framework grid generationn//n// Used only by Bootstrap to generate the correct number of grid classes givenn// any value of `@grid-columns`.nn.make-grid-columns() {n // Common styles for all sizes of grid columns, widths 1-12n .col(@index) when (@index = 1) { // initialn @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";n .col((@index + 1), @item);n }n .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn’t a typon @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";n .col((@index + 1), ~"@{list}, @{item}");n }n .col(@index, @list) when (@index > @grid-columns) { // terminaln @{list} {n position: relative;n // Prevent columns from collapsing when emptyn min-height: 1px;n // Inner gutter via paddingn padding-left: (@grid-gutter-width / 2);n padding-right: (@grid-gutter-width / 2);n }n }n .col(1); // kickstart itn}nn.float-grid-columns(@class) {n .col(@index) when (@index = 1) { // initialn @item: ~".col-@{class}-@{index}";n .col((@index + 1), @item);n }n .col(@index, @list) when (@index =< @grid-columns) { // generaln @item: ~".col-@{class}-@{index}";n .col((@index + 1), ~"@{list}, @{item}");n }n .col(@index, @list) when (@index > @grid-columns) { // terminaln @{list} {n float: left;n }n }n .col(1); // kickstart itn}nn.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {n .col-@{class}-@{index} {n width: percentage((@index / @grid-columns));n }n}n.calc-grid-column(@index, @class, @type) when (@type = push) {n .col-@{class}-push-@{index} {n left: percentage((@index / @grid-columns));n }n}n.calc-grid-column(@index, @class, @type) when (@type = pull) {n .col-@{class}-pull-@{index} {n right: percentage((@index / @grid-columns));n }n}n.calc-grid-column(@index, @class, @type) when (@type = offset) {n .col-@{class}-offset-@{index} {n margin-left: percentage((@index / @grid-columns));n }n}nn// Basic looping in LESSn.loop-grid-columns(@index, @class, @type) when (@index >= 0) {n .calc-grid-column(@index, @class, @type);n // next iterationn .loop-grid-columns((@index - 1), @class, @type);n}nn// Create grid for specific classn.make-grid(@class) {n .float-grid-columns(@class);n .loop-grid-columns(@grid-columns, @class, width);n .loop-grid-columns(@grid-columns, @class, pull);n .loop-grid-columns(@grid-columns, @class, push);n .loop-grid-columns(@grid-columns, @class, offset);n}nn// Form validation statesn//n// Used in forms.less to generate the form validation CSS for warnings, errors,n// and successes.nn.form-control-validation(@text-color: #555; @border-color: ccc; @background-color: f5f5f5) {n // Color the label and help textn .help-block,n .control-label,n .radio,n .checkbox,n .radio-inline,n .checkbox-inline {n color: @text-color;n }n // Set the border and box shadow on specific inputs to matchn .form-control {n border-color: @border-color;n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions workn &:focus {n border-color: darken(@border-color, 10%);n @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);n .box-shadow(@shadow);n }n }n // Set validation states also for addonsn .input-group-addon {n color: @text-color;n border-color: @border-color;n background-color: @background-color;n }n // Optional feedback iconn .form-control-feedback {n color: @text-color;n }n}nn// Form control focus staten//n// Generate a customized focus state and for any input with the specified color,n// which defaults to the ‘@input-focus-border` variable.n//n// We highly encourage you to not customize the default value, but instead usen// this to tweak colors on an as-needed basis. This aesthetic change is based onn// WebKit’s default styles, but applicable to a wider range of browsers. Itsn// usability and accessibility should be taken into account with any change.n//n// Example usage: change the default blue border and shadow to white for bettern// contrast against a dark gray background.nn.form-control-focus(@color: @input-border-focus) {n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);n &:focus {n border-color: @color;n outline: 0;n .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}");n }n}nn// Form control sizingn//n// Relative text size, padding, and border-radii changes for form controls. Forn// horizontal sizing, wrap controls in the predefined grid classes. ‘<select>`n// element gets special love because it’s special, and that’s a fact!nn.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {n height: @input-height;n padding: @padding-vertical @padding-horizontal;n font-size: @font-size;n line-height: @line-height;n border-radius: @border-radius;nn select& {n height: @input-height;n line-height: @input-height;n }nn textarea&,n select& {n height: auto;n }n}n”]}