/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/forms.less |
@@ -0,0 +1,438 @@ |
// |
// Forms |
// -------------------------------------------------- |
|
|
// Normalize non-controls |
// |
// Restyle and baseline non-control form elements. |
|
fieldset { |
padding: 0; |
margin: 0; |
border: 0; |
// Chrome and Firefox set a `min-width: -webkit-min-content;` on fieldsets, |
// so we reset that to ensure it behaves more like a standard block element. |
// See https://github.com/twbs/bootstrap/issues/12359. |
min-width: 0; |
} |
|
legend { |
display: block; |
width: 100%; |
padding: 0; |
margin-bottom: @line-height-computed; |
font-size: (@font-size-base * 1.5); |
line-height: inherit; |
color: @legend-color; |
border: 0; |
border-bottom: 1px solid @legend-border-color; |
} |
|
label { |
display: inline-block; |
margin-bottom: 5px; |
font-weight: bold; |
} |
|
|
// Normalize form controls |
// |
// While most of our form styles require extra classes, some basic normalization |
// is required to ensure optimum display with or without those classes to better |
// address browser inconsistencies. |
|
// Override content-box in Normalize (* isn't specific enough) |
input[type="search"] { |
.box-sizing(border-box); |
} |
|
// Position radios and checkboxes better |
input[type="radio"], |
input[type="checkbox"] { |
margin: 4px 0 0; |
margin-top: 1px \9; /* IE8-9 */ |
line-height: normal; |
} |
|
// Set the height of file controls to match text inputs |
input[type="file"] { |
display: block; |
} |
|
// Make range inputs behave like textual form controls |
input[type="range"] { |
display: block; |
width: 100%; |
} |
|
// Make multiple select elements height not fixed |
select[multiple], |
select[size] { |
height: auto; |
} |
|
// Focus for file, radio, and checkbox |
input[type="file"]:focus, |
input[type="radio"]:focus, |
input[type="checkbox"]:focus { |
.tab-focus(); |
} |
|
// Adjust output element |
output { |
display: block; |
padding-top: (@padding-base-vertical + 1); |
font-size: @font-size-base; |
line-height: @line-height-base; |
color: @input-color; |
} |
|
|
// Common form controls |
// |
// Shared size and type resets for form controls. Apply `.form-control` to any |
// of the following form controls: |
// |
// 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"] |
|
.form-control { |
display: block; |
width: 100%; |
height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) |
padding: @padding-base-vertical @padding-base-horizontal; |
font-size: @font-size-base; |
line-height: @line-height-base; |
color: @input-color; |
background-color: @input-bg; |
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 |
border: 1px solid @input-border; |
border-radius: @input-border-radius; |
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); |
.transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); |
|
// Customize the `:focus` state to imitate native WebKit styles. |
.form-control-focus(); |
|
// Placeholder |
.placeholder(); |
|
// Disabled and read-only inputs |
// |
// HTML5 says that controls under a fieldset > legend:first-child won't be |
// disabled if the fieldset is disabled. Due to implementation difficulty, we |
// don't honor that edge case; we style them as disabled anyway. |
&[disabled], |
&[readonly], |
fieldset[disabled] & { |
cursor: not-allowed; |
background-color: @input-bg-disabled; |
opacity: 1; // iOS fix for unreadable disabled content |
} |
|
// Reset height for `textarea`s |
textarea& { |
height: auto; |
} |
} |
|
|
// Search inputs in iOS |
// |
// This overrides the extra rounded corners on search inputs in iOS so that our |
// `.form-control` class can properly style them. Note that this cannot simply |
// be added to `.form-control` as it's not specific enough. For details, see |
// https://github.com/twbs/bootstrap/issues/11586. |
|
input[type="search"] { |
-webkit-appearance: none; |
} |
|
|
// Special styles for iOS date input |
// |
// In Mobile Safari, date inputs require a pixel line-height that matches the |
// given height of the input. |
|
input[type="date"] { |
line-height: @input-height-base; |
} |
|
|
// Form groups |
// |
// Designed to help with the organization and spacing of vertical forms. For |
// horizontal forms, use the predefined grid classes. |
|
.form-group { |
margin-bottom: 15px; |
} |
|
|
// Checkboxes and radios |
// |
// Indent the labels to position radios/checkboxes as hanging controls. |
|
.radio, |
.checkbox { |
display: block; |
min-height: @line-height-computed; // clear the floating input if there is no label text |
margin-top: 10px; |
margin-bottom: 10px; |
padding-left: 20px; |
label { |
display: inline; |
font-weight: normal; |
cursor: pointer; |
} |
} |
.radio input[type="radio"], |
.radio-inline input[type="radio"], |
.checkbox input[type="checkbox"], |
.checkbox-inline input[type="checkbox"] { |
float: left; |
margin-left: -20px; |
} |
.radio + .radio, |
.checkbox + .checkbox { |
margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing |
} |
|
// Radios and checkboxes on same line |
.radio-inline, |
.checkbox-inline { |
display: inline-block; |
padding-left: 20px; |
margin-bottom: 0; |
vertical-align: middle; |
font-weight: normal; |
cursor: pointer; |
} |
.radio-inline + .radio-inline, |
.checkbox-inline + .checkbox-inline { |
margin-top: 0; |
margin-left: 10px; // space out consecutive inline controls |
} |
|
// Apply same disabled cursor tweak as for inputs |
// |
// Note: Neither radios nor checkboxes can be readonly. |
input[type="radio"], |
input[type="checkbox"], |
.radio, |
.radio-inline, |
.checkbox, |
.checkbox-inline { |
&[disabled], |
fieldset[disabled] & { |
cursor: not-allowed; |
} |
} |
|
|
// Form control sizing |
// |
// Build on `.form-control` with modifier classes to decrease or increase the |
// height and font-size of form controls. |
|
.input-sm { |
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); |
} |
|
.input-lg { |
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); |
} |
|
|
// Form control feedback states |
// |
// Apply contextual and semantic states to individual form controls. |
|
.has-feedback { |
// Enable absolute positioning |
position: relative; |
|
// Ensure icons don't overlap text |
.form-control { |
padding-right: (@input-height-base * 1.25); |
} |
|
// Feedback icon (requires .glyphicon classes) |
.form-control-feedback { |
position: absolute; |
top: (@line-height-computed + 5); // Height of the `label` and its margin |
right: 0; |
display: block; |
width: @input-height-base; |
height: @input-height-base; |
line-height: @input-height-base; |
text-align: center; |
} |
} |
|
// Feedback states |
.has-success { |
.form-control-validation(@state-success-text; @state-success-text; @state-success-bg); |
} |
.has-warning { |
.form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg); |
} |
.has-error { |
.form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg); |
} |
|
|
// Static form control text |
// |
// Apply class to a `p` element to make any string of text align with labels in |
// a horizontal form layout. |
|
.form-control-static { |
margin-bottom: 0; // Remove default margin from `p` |
} |
|
|
// Help text |
// |
// Apply to any element you wish to create light text for placement immediately |
// below a form control. Use for general help, formatting, or instructional text. |
|
.help-block { |
display: block; // account for any element using help-block |
margin-top: 5px; |
margin-bottom: 10px; |
color: lighten(@text-color, 25%); // lighten the text some for contrast |
} |
|
|
|
// Inline forms |
// |
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline |
// forms begin stacked on extra small (mobile) devices and then go inline when |
// viewports reach <768px. |
// |
// Requires wrapping inputs and labels with `.form-group` for proper display of |
// default HTML form controls and our custom form controls (e.g., input groups). |
// |
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less. |
|
.form-inline { |
|
// Kick in the inline |
@media (min-width: @screen-sm-min) { |
// Inline-block all the things for "inline" |
.form-group { |
display: inline-block; |
margin-bottom: 0; |
vertical-align: middle; |
} |
|
// In navbar-form, allow folks to *not* use `.form-group` |
.form-control { |
display: inline-block; |
width: auto; // Prevent labels from stacking above inputs in `.form-group` |
vertical-align: middle; |
} |
// Input groups need that 100% width though |
.input-group > .form-control { |
width: 100%; |
} |
|
.control-label { |
margin-bottom: 0; |
vertical-align: middle; |
} |
|
// Remove default margin on radios/checkboxes that were used for stacking, and |
// then undo the floating of radios and checkboxes to match (which also avoids |
// a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969). |
.radio, |
.checkbox { |
display: inline-block; |
margin-top: 0; |
margin-bottom: 0; |
padding-left: 0; |
vertical-align: middle; |
} |
.radio input[type="radio"], |
.checkbox input[type="checkbox"] { |
float: none; |
margin-left: 0; |
} |
|
// Validation states |
// |
// Reposition the icon because it's now within a grid column and columns have |
// `position: relative;` on them. Also accounts for the grid gutter padding. |
.has-feedback .form-control-feedback { |
top: 0; |
} |
} |
} |
|
|
// Horizontal forms |
// |
// Horizontal forms are built on grid classes and allow you to create forms with |
// labels on the left and inputs on the right. |
|
.form-horizontal { |
|
// Consistent vertical alignment of labels, radios, and checkboxes |
.control-label, |
.radio, |
.checkbox, |
.radio-inline, |
.checkbox-inline { |
margin-top: 0; |
margin-bottom: 0; |
padding-top: (@padding-base-vertical + 1); // Default padding plus a border |
} |
// Account for padding we're adding to ensure the alignment and of help text |
// and other content below items |
.radio, |
.checkbox { |
min-height: (@line-height-computed + (@padding-base-vertical + 1)); |
} |
|
// Make form groups behave like rows |
.form-group { |
.make-row(); |
} |
|
.form-control-static { |
padding-top: (@padding-base-vertical + 1); |
} |
|
// Only right align form labels here when the columns stop stacking |
@media (min-width: @screen-sm-min) { |
.control-label { |
text-align: right; |
} |
} |
|
// Validation states |
// |
// Reposition the icon because it's now within a grid column and columns have |
// `position: relative;` on them. Also accounts for the grid gutter padding. |
.has-feedback .form-control-feedback { |
top: 0; |
right: (@grid-gutter-width / 2); |
} |
} |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/glyphicons.less |
@@ -0,0 +1,233 @@ |
// |
// Glyphicons for Bootstrap |
// |
// Since icons are fonts, they can be placed anywhere text is placed and are |
// thus automatically sized to match the surrounding child. To use, create an |
// inline element with the appropriate classes, like so: |
// |
// <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a> |
|
// Import the fonts |
@font-face { |
font-family: 'Glyphicons Halflings'; |
src: ~"url('@{icon-font-path}@{icon-font-name}.eot')"; |
src: ~"url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype')", |
~"url('@{icon-font-path}@{icon-font-name}.woff') format('woff')", |
~"url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype')", |
~"url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg')"; |
} |
|
// Catchall baseclass |
.glyphicon { |
position: relative; |
top: 1px; |
display: inline-block; |
font-family: 'Glyphicons Halflings'; |
font-style: normal; |
font-weight: normal; |
line-height: 1; |
-webkit-font-smoothing: antialiased; |
-moz-osx-font-smoothing: grayscale; |
} |
|
// Individual icons |
.glyphicon-asterisk { &:before { content: "\2a"; } } |
.glyphicon-plus { &:before { content: "\2b"; } } |
.glyphicon-euro { &:before { content: "\20ac"; } } |
.glyphicon-minus { &:before { content: "\2212"; } } |
.glyphicon-cloud { &:before { content: "\2601"; } } |
.glyphicon-envelope { &:before { content: "\2709"; } } |
.glyphicon-pencil { &:before { content: "\270f"; } } |
.glyphicon-glass { &:before { content: "\e001"; } } |
.glyphicon-music { &:before { content: "\e002"; } } |
.glyphicon-search { &:before { content: "\e003"; } } |
.glyphicon-heart { &:before { content: "\e005"; } } |
.glyphicon-star { &:before { content: "\e006"; } } |
.glyphicon-star-empty { &:before { content: "\e007"; } } |
.glyphicon-user { &:before { content: "\e008"; } } |
.glyphicon-film { &:before { content: "\e009"; } } |
.glyphicon-th-large { &:before { content: "\e010"; } } |
.glyphicon-th { &:before { content: "\e011"; } } |
.glyphicon-th-list { &:before { content: "\e012"; } } |
.glyphicon-ok { &:before { content: "\e013"; } } |
.glyphicon-remove { &:before { content: "\e014"; } } |
.glyphicon-zoom-in { &:before { content: "\e015"; } } |
.glyphicon-zoom-out { &:before { content: "\e016"; } } |
.glyphicon-off { &:before { content: "\e017"; } } |
.glyphicon-signal { &:before { content: "\e018"; } } |
.glyphicon-cog { &:before { content: "\e019"; } } |
.glyphicon-trash { &:before { content: "\e020"; } } |
.glyphicon-home { &:before { content: "\e021"; } } |
.glyphicon-file { &:before { content: "\e022"; } } |
.glyphicon-time { &:before { content: "\e023"; } } |
.glyphicon-road { &:before { content: "\e024"; } } |
.glyphicon-download-alt { &:before { content: "\e025"; } } |
.glyphicon-download { &:before { content: "\e026"; } } |
.glyphicon-upload { &:before { content: "\e027"; } } |
.glyphicon-inbox { &:before { content: "\e028"; } } |
.glyphicon-play-circle { &:before { content: "\e029"; } } |
.glyphicon-repeat { &:before { content: "\e030"; } } |
.glyphicon-refresh { &:before { content: "\e031"; } } |
.glyphicon-list-alt { &:before { content: "\e032"; } } |
.glyphicon-lock { &:before { content: "\e033"; } } |
.glyphicon-flag { &:before { content: "\e034"; } } |
.glyphicon-headphones { &:before { content: "\e035"; } } |
.glyphicon-volume-off { &:before { content: "\e036"; } } |
.glyphicon-volume-down { &:before { content: "\e037"; } } |
.glyphicon-volume-up { &:before { content: "\e038"; } } |
.glyphicon-qrcode { &:before { content: "\e039"; } } |
.glyphicon-barcode { &:before { content: "\e040"; } } |
.glyphicon-tag { &:before { content: "\e041"; } } |
.glyphicon-tags { &:before { content: "\e042"; } } |
.glyphicon-book { &:before { content: "\e043"; } } |
.glyphicon-bookmark { &:before { content: "\e044"; } } |
.glyphicon-print { &:before { content: "\e045"; } } |
.glyphicon-camera { &:before { content: "\e046"; } } |
.glyphicon-font { &:before { content: "\e047"; } } |
.glyphicon-bold { &:before { content: "\e048"; } } |
.glyphicon-italic { &:before { content: "\e049"; } } |
.glyphicon-text-height { &:before { content: "\e050"; } } |
.glyphicon-text-width { &:before { content: "\e051"; } } |
.glyphicon-align-left { &:before { content: "\e052"; } } |
.glyphicon-align-center { &:before { content: "\e053"; } } |
.glyphicon-align-right { &:before { content: "\e054"; } } |
.glyphicon-align-justify { &:before { content: "\e055"; } } |
.glyphicon-list { &:before { content: "\e056"; } } |
.glyphicon-indent-left { &:before { content: "\e057"; } } |
.glyphicon-indent-right { &:before { content: "\e058"; } } |
.glyphicon-facetime-video { &:before { content: "\e059"; } } |
.glyphicon-picture { &:before { content: "\e060"; } } |
.glyphicon-map-marker { &:before { content: "\e062"; } } |
.glyphicon-adjust { &:before { content: "\e063"; } } |
.glyphicon-tint { &:before { content: "\e064"; } } |
.glyphicon-edit { &:before { content: "\e065"; } } |
.glyphicon-share { &:before { content: "\e066"; } } |
.glyphicon-check { &:before { content: "\e067"; } } |
.glyphicon-move { &:before { content: "\e068"; } } |
.glyphicon-step-backward { &:before { content: "\e069"; } } |
.glyphicon-fast-backward { &:before { content: "\e070"; } } |
.glyphicon-backward { &:before { content: "\e071"; } } |
.glyphicon-play { &:before { content: "\e072"; } } |
.glyphicon-pause { &:before { content: "\e073"; } } |
.glyphicon-stop { &:before { content: "\e074"; } } |
.glyphicon-forward { &:before { content: "\e075"; } } |
.glyphicon-fast-forward { &:before { content: "\e076"; } } |
.glyphicon-step-forward { &:before { content: "\e077"; } } |
.glyphicon-eject { &:before { content: "\e078"; } } |
.glyphicon-chevron-left { &:before { content: "\e079"; } } |
.glyphicon-chevron-right { &:before { content: "\e080"; } } |
.glyphicon-plus-sign { &:before { content: "\e081"; } } |
.glyphicon-minus-sign { &:before { content: "\e082"; } } |
.glyphicon-remove-sign { &:before { content: "\e083"; } } |
.glyphicon-ok-sign { &:before { content: "\e084"; } } |
.glyphicon-question-sign { &:before { content: "\e085"; } } |
.glyphicon-info-sign { &:before { content: "\e086"; } } |
.glyphicon-screenshot { &:before { content: "\e087"; } } |
.glyphicon-remove-circle { &:before { content: "\e088"; } } |
.glyphicon-ok-circle { &:before { content: "\e089"; } } |
.glyphicon-ban-circle { &:before { content: "\e090"; } } |
.glyphicon-arrow-left { &:before { content: "\e091"; } } |
.glyphicon-arrow-right { &:before { content: "\e092"; } } |
.glyphicon-arrow-up { &:before { content: "\e093"; } } |
.glyphicon-arrow-down { &:before { content: "\e094"; } } |
.glyphicon-share-alt { &:before { content: "\e095"; } } |
.glyphicon-resize-full { &:before { content: "\e096"; } } |
.glyphicon-resize-small { &:before { content: "\e097"; } } |
.glyphicon-exclamation-sign { &:before { content: "\e101"; } } |
.glyphicon-gift { &:before { content: "\e102"; } } |
.glyphicon-leaf { &:before { content: "\e103"; } } |
.glyphicon-fire { &:before { content: "\e104"; } } |
.glyphicon-eye-open { &:before { content: "\e105"; } } |
.glyphicon-eye-close { &:before { content: "\e106"; } } |
.glyphicon-warning-sign { &:before { content: "\e107"; } } |
.glyphicon-plane { &:before { content: "\e108"; } } |
.glyphicon-calendar { &:before { content: "\e109"; } } |
.glyphicon-random { &:before { content: "\e110"; } } |
.glyphicon-comment { &:before { content: "\e111"; } } |
.glyphicon-magnet { &:before { content: "\e112"; } } |
.glyphicon-chevron-up { &:before { content: "\e113"; } } |
.glyphicon-chevron-down { &:before { content: "\e114"; } } |
.glyphicon-retweet { &:before { content: "\e115"; } } |
.glyphicon-shopping-cart { &:before { content: "\e116"; } } |
.glyphicon-folder-close { &:before { content: "\e117"; } } |
.glyphicon-folder-open { &:before { content: "\e118"; } } |
.glyphicon-resize-vertical { &:before { content: "\e119"; } } |
.glyphicon-resize-horizontal { &:before { content: "\e120"; } } |
.glyphicon-hdd { &:before { content: "\e121"; } } |
.glyphicon-bullhorn { &:before { content: "\e122"; } } |
.glyphicon-bell { &:before { content: "\e123"; } } |
.glyphicon-certificate { &:before { content: "\e124"; } } |
.glyphicon-thumbs-up { &:before { content: "\e125"; } } |
.glyphicon-thumbs-down { &:before { content: "\e126"; } } |
.glyphicon-hand-right { &:before { content: "\e127"; } } |
.glyphicon-hand-left { &:before { content: "\e128"; } } |
.glyphicon-hand-up { &:before { content: "\e129"; } } |
.glyphicon-hand-down { &:before { content: "\e130"; } } |
.glyphicon-circle-arrow-right { &:before { content: "\e131"; } } |
.glyphicon-circle-arrow-left { &:before { content: "\e132"; } } |
.glyphicon-circle-arrow-up { &:before { content: "\e133"; } } |
.glyphicon-circle-arrow-down { &:before { content: "\e134"; } } |
.glyphicon-globe { &:before { content: "\e135"; } } |
.glyphicon-wrench { &:before { content: "\e136"; } } |
.glyphicon-tasks { &:before { content: "\e137"; } } |
.glyphicon-filter { &:before { content: "\e138"; } } |
.glyphicon-briefcase { &:before { content: "\e139"; } } |
.glyphicon-fullscreen { &:before { content: "\e140"; } } |
.glyphicon-dashboard { &:before { content: "\e141"; } } |
.glyphicon-paperclip { &:before { content: "\e142"; } } |
.glyphicon-heart-empty { &:before { content: "\e143"; } } |
.glyphicon-link { &:before { content: "\e144"; } } |
.glyphicon-phone { &:before { content: "\e145"; } } |
.glyphicon-pushpin { &:before { content: "\e146"; } } |
.glyphicon-usd { &:before { content: "\e148"; } } |
.glyphicon-gbp { &:before { content: "\e149"; } } |
.glyphicon-sort { &:before { content: "\e150"; } } |
.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } |
.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } |
.glyphicon-sort-by-order { &:before { content: "\e153"; } } |
.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } |
.glyphicon-sort-by-attributes { &:before { content: "\e155"; } } |
.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } |
.glyphicon-unchecked { &:before { content: "\e157"; } } |
.glyphicon-expand { &:before { content: "\e158"; } } |
.glyphicon-collapse-down { &:before { content: "\e159"; } } |
.glyphicon-collapse-up { &:before { content: "\e160"; } } |
.glyphicon-log-in { &:before { content: "\e161"; } } |
.glyphicon-flash { &:before { content: "\e162"; } } |
.glyphicon-log-out { &:before { content: "\e163"; } } |
.glyphicon-new-window { &:before { content: "\e164"; } } |
.glyphicon-record { &:before { content: "\e165"; } } |
.glyphicon-save { &:before { content: "\e166"; } } |
.glyphicon-open { &:before { content: "\e167"; } } |
.glyphicon-saved { &:before { content: "\e168"; } } |
.glyphicon-import { &:before { content: "\e169"; } } |
.glyphicon-export { &:before { content: "\e170"; } } |
.glyphicon-send { &:before { content: "\e171"; } } |
.glyphicon-floppy-disk { &:before { content: "\e172"; } } |
.glyphicon-floppy-saved { &:before { content: "\e173"; } } |
.glyphicon-floppy-remove { &:before { content: "\e174"; } } |
.glyphicon-floppy-save { &:before { content: "\e175"; } } |
.glyphicon-floppy-open { &:before { content: "\e176"; } } |
.glyphicon-credit-card { &:before { content: "\e177"; } } |
.glyphicon-transfer { &:before { content: "\e178"; } } |
.glyphicon-cutlery { &:before { content: "\e179"; } } |
.glyphicon-header { &:before { content: "\e180"; } } |
.glyphicon-compressed { &:before { content: "\e181"; } } |
.glyphicon-earphone { &:before { content: "\e182"; } } |
.glyphicon-phone-alt { &:before { content: "\e183"; } } |
.glyphicon-tower { &:before { content: "\e184"; } } |
.glyphicon-stats { &:before { content: "\e185"; } } |
.glyphicon-sd-video { &:before { content: "\e186"; } } |
.glyphicon-hd-video { &:before { content: "\e187"; } } |
.glyphicon-subtitles { &:before { content: "\e188"; } } |
.glyphicon-sound-stereo { &:before { content: "\e189"; } } |
.glyphicon-sound-dolby { &:before { content: "\e190"; } } |
.glyphicon-sound-5-1 { &:before { content: "\e191"; } } |
.glyphicon-sound-6-1 { &:before { content: "\e192"; } } |
.glyphicon-sound-7-1 { &:before { content: "\e193"; } } |
.glyphicon-copyright-mark { &:before { content: "\e194"; } } |
.glyphicon-registration-mark { &:before { content: "\e195"; } } |
.glyphicon-cloud-download { &:before { content: "\e197"; } } |
.glyphicon-cloud-upload { &:before { content: "\e198"; } } |
.glyphicon-tree-conifer { &:before { content: "\e199"; } } |
.glyphicon-tree-deciduous { &:before { content: "\e200"; } } |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/mixins.less |
@@ -0,0 +1,929 @@ |
// |
// Mixins |
// -------------------------------------------------- |
|
|
// Utilities |
// ------------------------- |
|
// Clearfix |
// Source: http://nicolasgallagher.com/micro-clearfix-hack/ |
// |
// For modern browsers |
// 1. The space content is one way to avoid an Opera bug when the |
// contenteditable attribute is included anywhere else in the document. |
// Otherwise it causes space to appear at the top and bottom of elements |
// that are clearfixed. |
// 2. The use of `table` rather than `block` is only necessary if using |
// `:before` to contain the top-margins of child elements. |
.clearfix() { |
&:before, |
&:after { |
content: " "; // 1 |
display: table; // 2 |
} |
&:after { |
clear: both; |
} |
} |
|
// WebKit-style focus |
.tab-focus() { |
// Default |
outline: thin dotted; |
// WebKit |
outline: 5px auto -webkit-focus-ring-color; |
outline-offset: -2px; |
} |
|
// Center-align a block level element |
.center-block() { |
display: block; |
margin-left: auto; |
margin-right: auto; |
} |
|
// Sizing shortcuts |
.size(@width; @height) { |
width: @width; |
height: @height; |
} |
.square(@size) { |
.size(@size; @size); |
} |
|
// Placeholder text |
.placeholder(@color: @input-color-placeholder) { |
&::-moz-placeholder { color: @color; // Firefox |
opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526 |
&:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ |
&::-webkit-input-placeholder { color: @color; } // Safari and Chrome |
} |
|
// Text overflow |
// Requires inline-block or block for proper styling |
.text-overflow() { |
overflow: hidden; |
text-overflow: ellipsis; |
white-space: nowrap; |
} |
|
// CSS image replacement |
// |
// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for |
// mixins being reused as classes with the same name, this doesn't hold up. As |
// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note |
// that we cannot chain the mixins together in Less, so they are repeated. |
// |
// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 |
|
// Deprecated as of v3.0.1 (will be removed in v4) |
.hide-text() { |
font: ~"0/0" a; |
color: transparent; |
text-shadow: none; |
background-color: transparent; |
border: 0; |
} |
// New mixin to use as of v3.0.1 |
.text-hide() { |
.hide-text(); |
} |
|
|
|
// CSS3 PROPERTIES |
// -------------------------------------------------- |
|
// Single side border-radius |
.border-top-radius(@radius) { |
border-top-right-radius: @radius; |
border-top-left-radius: @radius; |
} |
.border-right-radius(@radius) { |
border-bottom-right-radius: @radius; |
border-top-right-radius: @radius; |
} |
.border-bottom-radius(@radius) { |
border-bottom-right-radius: @radius; |
border-bottom-left-radius: @radius; |
} |
.border-left-radius(@radius) { |
border-bottom-left-radius: @radius; |
border-top-left-radius: @radius; |
} |
|
// Drop shadows |
// |
// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's |
// supported browsers that have box shadow capabilities now support the |
// standard `box-shadow` property. |
.box-shadow(@shadow) { |
-webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 |
box-shadow: @shadow; |
} |
|
// Transitions |
.transition(@transition) { |
-webkit-transition: @transition; |
transition: @transition; |
} |
.transition-property(@transition-property) { |
-webkit-transition-property: @transition-property; |
transition-property: @transition-property; |
} |
.transition-delay(@transition-delay) { |
-webkit-transition-delay: @transition-delay; |
transition-delay: @transition-delay; |
} |
.transition-duration(@transition-duration) { |
-webkit-transition-duration: @transition-duration; |
transition-duration: @transition-duration; |
} |
.transition-transform(@transition) { |
-webkit-transition: -webkit-transform @transition; |
-moz-transition: -moz-transform @transition; |
-o-transition: -o-transform @transition; |
transition: transform @transition; |
} |
|
// Transformations |
.rotate(@degrees) { |
-webkit-transform: rotate(@degrees); |
-ms-transform: rotate(@degrees); // IE9 only |
transform: rotate(@degrees); |
} |
.scale(@ratio; @ratio-y...) { |
-webkit-transform: scale(@ratio, @ratio-y); |
-ms-transform: scale(@ratio, @ratio-y); // IE9 only |
transform: scale(@ratio, @ratio-y); |
} |
.translate(@x; @y) { |
-webkit-transform: translate(@x, @y); |
-ms-transform: translate(@x, @y); // IE9 only |
transform: translate(@x, @y); |
} |
.skew(@x; @y) { |
-webkit-transform: skew(@x, @y); |
-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ |
transform: skew(@x, @y); |
} |
.translate3d(@x; @y; @z) { |
-webkit-transform: translate3d(@x, @y, @z); |
transform: translate3d(@x, @y, @z); |
} |
|
.rotateX(@degrees) { |
-webkit-transform: rotateX(@degrees); |
-ms-transform: rotateX(@degrees); // IE9 only |
transform: rotateX(@degrees); |
} |
.rotateY(@degrees) { |
-webkit-transform: rotateY(@degrees); |
-ms-transform: rotateY(@degrees); // IE9 only |
transform: rotateY(@degrees); |
} |
.perspective(@perspective) { |
-webkit-perspective: @perspective; |
-moz-perspective: @perspective; |
perspective: @perspective; |
} |
.perspective-origin(@perspective) { |
-webkit-perspective-origin: @perspective; |
-moz-perspective-origin: @perspective; |
perspective-origin: @perspective; |
} |
.transform-origin(@origin) { |
-webkit-transform-origin: @origin; |
-moz-transform-origin: @origin; |
-ms-transform-origin: @origin; // IE9 only |
transform-origin: @origin; |
} |
|
// Animations |
.animation(@animation) { |
-webkit-animation: @animation; |
animation: @animation; |
} |
.animation-name(@name) { |
-webkit-animation-name: @name; |
animation-name: @name; |
} |
.animation-duration(@duration) { |
-webkit-animation-duration: @duration; |
animation-duration: @duration; |
} |
.animation-timing-function(@timing-function) { |
-webkit-animation-timing-function: @timing-function; |
animation-timing-function: @timing-function; |
} |
.animation-delay(@delay) { |
-webkit-animation-delay: @delay; |
animation-delay: @delay; |
} |
.animation-iteration-count(@iteration-count) { |
-webkit-animation-iteration-count: @iteration-count; |
animation-iteration-count: @iteration-count; |
} |
.animation-direction(@direction) { |
-webkit-animation-direction: @direction; |
animation-direction: @direction; |
} |
|
// Backface visibility |
// Prevent browsers from flickering when using CSS 3D transforms. |
// Default value is `visible`, but can be changed to `hidden` |
.backface-visibility(@visibility){ |
-webkit-backface-visibility: @visibility; |
-moz-backface-visibility: @visibility; |
backface-visibility: @visibility; |
} |
|
// Box sizing |
.box-sizing(@boxmodel) { |
-webkit-box-sizing: @boxmodel; |
-moz-box-sizing: @boxmodel; |
box-sizing: @boxmodel; |
} |
|
// User select |
// For selecting text on the page |
.user-select(@select) { |
-webkit-user-select: @select; |
-moz-user-select: @select; |
-ms-user-select: @select; // IE10+ |
user-select: @select; |
} |
|
// Resize anything |
.resizable(@direction) { |
resize: @direction; // Options: horizontal, vertical, both |
overflow: auto; // Safari fix |
} |
|
// CSS3 Content Columns |
.content-columns(@column-count; @column-gap: @grid-gutter-width) { |
-webkit-column-count: @column-count; |
-moz-column-count: @column-count; |
column-count: @column-count; |
-webkit-column-gap: @column-gap; |
-moz-column-gap: @column-gap; |
column-gap: @column-gap; |
} |
|
// Optional hyphenation |
.hyphens(@mode: auto) { |
word-wrap: break-word; |
-webkit-hyphens: @mode; |
-moz-hyphens: @mode; |
-ms-hyphens: @mode; // IE10+ |
-o-hyphens: @mode; |
hyphens: @mode; |
} |
|
// Opacity |
.opacity(@opacity) { |
opacity: @opacity; |
// IE8 filter |
@opacity-ie: (@opacity * 100); |
filter: ~"alpha(opacity=@{opacity-ie})"; |
} |
|
|
|
// GRADIENTS |
// -------------------------------------------------- |
|
#gradient { |
|
// Horizontal gradient, from left to right |
// |
// Creates two color stops, start and end, by specifying a color and position for each color stop. |
// Color stops are not available in IE9 and below. |
.horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { |
background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+ |
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+ |
background-repeat: repeat-x; |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down |
} |
|
// Vertical gradient, from top to bottom |
// |
// Creates two color stops, start and end, by specifying a color and position for each color stop. |
// Color stops are not available in IE9 and below. |
.vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) { |
background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+ |
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+ |
background-repeat: repeat-x; |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down |
} |
|
.directional(@start-color: #555; @end-color: #333; @deg: 45deg) { |
background-repeat: repeat-x; |
background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+ |
background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+ |
} |
.horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { |
background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color); |
background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color); |
background-repeat: no-repeat; |
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 fallback |
} |
.vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) { |
background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color); |
background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color); |
background-repeat: no-repeat; |
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 fallback |
} |
.radial(@inner-color: #555; @outer-color: #333) { |
background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color); |
background-image: radial-gradient(circle, @inner-color, @outer-color); |
background-repeat: no-repeat; |
} |
.striped(@color: rgba(255,255,255,.15); @angle: 45deg) { |
background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); |
background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent); |
} |
} |
|
// Reset filters for IE |
// |
// When you need to remove a gradient background, do not forget to use this to reset |
// the IE filter for IE9 and below. |
.reset-filter() { |
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); |
} |
|
|
|
// Retina images |
// |
// Short retina mixin for setting background-image and -size |
|
.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { |
background-image: url("@{file-1x}"); |
|
@media |
only screen and (-webkit-min-device-pixel-ratio: 2), |
only screen and ( min--moz-device-pixel-ratio: 2), |
only screen and ( -o-min-device-pixel-ratio: 2/1), |
only screen and ( min-device-pixel-ratio: 2), |
only screen and ( min-resolution: 192dpi), |
only screen and ( min-resolution: 2dppx) { |
background-image: url("@{file-2x}"); |
background-size: @width-1x @height-1x; |
} |
} |
|
|
// Responsive image |
// |
// Keep images from scaling beyond the width of their parents. |
|
.img-responsive(@display: block) { |
display: @display; |
max-width: 100%; // Part 1: Set a maximum relative to the parent |
height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching |
} |
|
|
// COMPONENT MIXINS |
// -------------------------------------------------- |
|
// Horizontal dividers |
// ------------------------- |
// Dividers (basically an hr) within dropdowns and nav lists |
.nav-divider(@color: #e5e5e5) { |
height: 1px; |
margin: ((@line-height-computed / 2) - 1) 0; |
overflow: hidden; |
background-color: @color; |
} |
|
// Panels |
// ------------------------- |
.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { |
border-color: @border; |
|
& > .panel-heading { |
color: @heading-text-color; |
background-color: @heading-bg-color; |
border-color: @heading-border; |
|
+ .panel-collapse .panel-body { |
border-top-color: @border; |
} |
} |
& > .panel-footer { |
+ .panel-collapse .panel-body { |
border-bottom-color: @border; |
} |
} |
} |
|
// Alerts |
// ------------------------- |
.alert-variant(@background; @border; @text-color) { |
background-color: @background; |
border-color: @border; |
color: @text-color; |
|
hr { |
border-top-color: darken(@border, 5%); |
} |
.alert-link { |
color: darken(@text-color, 10%); |
} |
} |
|
// Tables |
// ------------------------- |
.table-row-variant(@state; @background) { |
// Exact selectors below required to override `.table-striped` and prevent |
// inheritance to nested tables. |
.table > thead > tr, |
.table > tbody > tr, |
.table > tfoot > tr { |
> td.@{state}, |
> th.@{state}, |
&.@{state} > td, |
&.@{state} > th { |
background-color: @background; |
} |
} |
|
// Hover states for `.table-hover` |
// Note: this is not available for cells or rows within `thead` or `tfoot`. |
.table-hover > tbody > tr { |
> td.@{state}:hover, |
> th.@{state}:hover, |
&.@{state}:hover > td, |
&.@{state}:hover > th { |
background-color: darken(@background, 5%); |
} |
} |
} |
|
// List Groups |
// ------------------------- |
.list-group-item-variant(@state; @background; @color) { |
.list-group-item-@{state} { |
color: @color; |
background-color: @background; |
|
a& { |
color: @color; |
|
.list-group-item-heading { color: inherit; } |
|
&:hover, |
&:focus { |
color: @color; |
background-color: darken(@background, 5%); |
} |
&.active, |
&.active:hover, |
&.active:focus { |
color: #fff; |
background-color: @color; |
border-color: @color; |
} |
} |
} |
} |
|
// Button variants |
// ------------------------- |
// Easily pump out default styles, as well as :hover, :focus, :active, |
// and disabled options for all buttons |
.button-variant(@color; @background; @border) { |
color: @color; |
background-color: @background; |
border-color: @border; |
|
&:hover, |
&:focus, |
&:active, |
&.active, |
.open .dropdown-toggle& { |
color: @color; |
background-color: darken(@background, 8%); |
border-color: darken(@border, 12%); |
} |
&:active, |
&.active, |
.open .dropdown-toggle& { |
background-image: none; |
} |
&.disabled, |
&[disabled], |
fieldset[disabled] & { |
&, |
&:hover, |
&:focus, |
&:active, |
&.active { |
background-color: @background; |
border-color: @border; |
} |
} |
|
.badge { |
color: @background; |
background-color: @color; |
} |
} |
|
// Button sizes |
// ------------------------- |
.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { |
padding: @padding-vertical @padding-horizontal; |
font-size: @font-size; |
line-height: @line-height; |
border-radius: @border-radius; |
} |
|
// Pagination |
// ------------------------- |
.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) { |
> li { |
> a, |
> span { |
padding: @padding-vertical @padding-horizontal; |
font-size: @font-size; |
} |
&:first-child { |
> a, |
> span { |
.border-left-radius(@border-radius); |
} |
} |
&:last-child { |
> a, |
> span { |
.border-right-radius(@border-radius); |
} |
} |
} |
} |
|
// Labels |
// ------------------------- |
.label-variant(@color) { |
background-color: @color; |
&[href] { |
&:hover, |
&:focus { |
background-color: darken(@color, 10%); |
} |
} |
} |
|
// Contextual backgrounds |
// ------------------------- |
.bg-variant(@color) { |
background-color: @color; |
a&:hover { |
background-color: darken(@color, 10%); |
} |
} |
|
// Typography |
// ------------------------- |
.text-emphasis-variant(@color) { |
color: @color; |
a&:hover { |
color: darken(@color, 10%); |
} |
} |
|
// Navbar vertical align |
// ------------------------- |
// Vertically center elements in the navbar. |
// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. |
.navbar-vertical-align(@element-height) { |
margin-top: ((@navbar-height - @element-height) / 2); |
margin-bottom: ((@navbar-height - @element-height) / 2); |
} |
|
// Progress bars |
// ------------------------- |
.progress-bar-variant(@color) { |
background-color: @color; |
.progress-striped & { |
#gradient > .striped(); |
} |
} |
|
// Responsive utilities |
// ------------------------- |
// More easily include all the states for responsive-utilities.less. |
.responsive-visibility() { |
display: block !important; |
table& { display: table; } |
tr& { display: table-row !important; } |
th&, |
td& { display: table-cell !important; } |
} |
|
.responsive-invisibility() { |
display: none !important; |
} |
|
|
// Grid System |
// ----------- |
|
// Centered container element |
.container-fixed() { |
margin-right: auto; |
margin-left: auto; |
padding-left: (@grid-gutter-width / 2); |
padding-right: (@grid-gutter-width / 2); |
&:extend(.clearfix all); |
} |
|
// Creates a wrapper for a series of columns |
.make-row(@gutter: @grid-gutter-width) { |
margin-left: (@gutter / -2); |
margin-right: (@gutter / -2); |
&:extend(.clearfix all); |
} |
|
// Generate the extra small columns |
.make-xs-column(@columns; @gutter: @grid-gutter-width) { |
position: relative; |
float: left; |
width: percentage((@columns / @grid-columns)); |
min-height: 1px; |
padding-left: (@gutter / 2); |
padding-right: (@gutter / 2); |
} |
.make-xs-column-offset(@columns) { |
@media (min-width: @screen-xs-min) { |
margin-left: percentage((@columns / @grid-columns)); |
} |
} |
.make-xs-column-push(@columns) { |
@media (min-width: @screen-xs-min) { |
left: percentage((@columns / @grid-columns)); |
} |
} |
.make-xs-column-pull(@columns) { |
@media (min-width: @screen-xs-min) { |
right: percentage((@columns / @grid-columns)); |
} |
} |
|
|
// Generate the small columns |
.make-sm-column(@columns; @gutter: @grid-gutter-width) { |
position: relative; |
min-height: 1px; |
padding-left: (@gutter / 2); |
padding-right: (@gutter / 2); |
|
@media (min-width: @screen-sm-min) { |
float: left; |
width: percentage((@columns / @grid-columns)); |
} |
} |
.make-sm-column-offset(@columns) { |
@media (min-width: @screen-sm-min) { |
margin-left: percentage((@columns / @grid-columns)); |
} |
} |
.make-sm-column-push(@columns) { |
@media (min-width: @screen-sm-min) { |
left: percentage((@columns / @grid-columns)); |
} |
} |
.make-sm-column-pull(@columns) { |
@media (min-width: @screen-sm-min) { |
right: percentage((@columns / @grid-columns)); |
} |
} |
|
|
// Generate the medium columns |
.make-md-column(@columns; @gutter: @grid-gutter-width) { |
position: relative; |
min-height: 1px; |
padding-left: (@gutter / 2); |
padding-right: (@gutter / 2); |
|
@media (min-width: @screen-md-min) { |
float: left; |
width: percentage((@columns / @grid-columns)); |
} |
} |
.make-md-column-offset(@columns) { |
@media (min-width: @screen-md-min) { |
margin-left: percentage((@columns / @grid-columns)); |
} |
} |
.make-md-column-push(@columns) { |
@media (min-width: @screen-md-min) { |
left: percentage((@columns / @grid-columns)); |
} |
} |
.make-md-column-pull(@columns) { |
@media (min-width: @screen-md-min) { |
right: percentage((@columns / @grid-columns)); |
} |
} |
|
|
// Generate the large columns |
.make-lg-column(@columns; @gutter: @grid-gutter-width) { |
position: relative; |
min-height: 1px; |
padding-left: (@gutter / 2); |
padding-right: (@gutter / 2); |
|
@media (min-width: @screen-lg-min) { |
float: left; |
width: percentage((@columns / @grid-columns)); |
} |
} |
.make-lg-column-offset(@columns) { |
@media (min-width: @screen-lg-min) { |
margin-left: percentage((@columns / @grid-columns)); |
} |
} |
.make-lg-column-push(@columns) { |
@media (min-width: @screen-lg-min) { |
left: percentage((@columns / @grid-columns)); |
} |
} |
.make-lg-column-pull(@columns) { |
@media (min-width: @screen-lg-min) { |
right: percentage((@columns / @grid-columns)); |
} |
} |
|
|
// Framework grid generation |
// |
// Used only by Bootstrap to generate the correct number of grid classes given |
// any value of `@grid-columns`. |
|
.make-grid-columns() { |
// Common styles for all sizes of grid columns, widths 1-12 |
.col(@index) when (@index = 1) { // initial |
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; |
.col((@index + 1), @item); |
} |
.col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo |
@item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; |
.col((@index + 1), ~"@{list}, @{item}"); |
} |
.col(@index, @list) when (@index > @grid-columns) { // terminal |
@{list} { |
position: relative; |
// Prevent columns from collapsing when empty |
min-height: 1px; |
// Inner gutter via padding |
padding-left: (@grid-gutter-width / 2); |
padding-right: (@grid-gutter-width / 2); |
} |
} |
.col(1); // kickstart it |
} |
|
.float-grid-columns(@class) { |
.col(@index) when (@index = 1) { // initial |
@item: ~".col-@{class}-@{index}"; |
.col((@index + 1), @item); |
} |
.col(@index, @list) when (@index =< @grid-columns) { // general |
@item: ~".col-@{class}-@{index}"; |
.col((@index + 1), ~"@{list}, @{item}"); |
} |
.col(@index, @list) when (@index > @grid-columns) { // terminal |
@{list} { |
float: left; |
} |
} |
.col(1); // kickstart it |
} |
|
.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { |
.col-@{class}-@{index} { |
width: percentage((@index / @grid-columns)); |
} |
} |
.calc-grid-column(@index, @class, @type) when (@type = push) { |
.col-@{class}-push-@{index} { |
left: percentage((@index / @grid-columns)); |
} |
} |
.calc-grid-column(@index, @class, @type) when (@type = pull) { |
.col-@{class}-pull-@{index} { |
right: percentage((@index / @grid-columns)); |
} |
} |
.calc-grid-column(@index, @class, @type) when (@type = offset) { |
.col-@{class}-offset-@{index} { |
margin-left: percentage((@index / @grid-columns)); |
} |
} |
|
// Basic looping in LESS |
.loop-grid-columns(@index, @class, @type) when (@index >= 0) { |
.calc-grid-column(@index, @class, @type); |
// next iteration |
.loop-grid-columns((@index - 1), @class, @type); |
} |
|
// Create grid for specific class |
.make-grid(@class) { |
.float-grid-columns(@class); |
.loop-grid-columns(@grid-columns, @class, width); |
.loop-grid-columns(@grid-columns, @class, pull); |
.loop-grid-columns(@grid-columns, @class, push); |
.loop-grid-columns(@grid-columns, @class, offset); |
} |
|
// Form validation states |
// |
// Used in forms.less to generate the form validation CSS for warnings, errors, |
// and successes. |
|
.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) { |
// Color the label and help text |
.help-block, |
.control-label, |
.radio, |
.checkbox, |
.radio-inline, |
.checkbox-inline { |
color: @text-color; |
} |
// Set the border and box shadow on specific inputs to match |
.form-control { |
border-color: @border-color; |
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work |
&:focus { |
border-color: darken(@border-color, 10%); |
@shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%); |
.box-shadow(@shadow); |
} |
} |
// Set validation states also for addons |
.input-group-addon { |
color: @text-color; |
border-color: @border-color; |
background-color: @background-color; |
} |
// Optional feedback icon |
.form-control-feedback { |
color: @text-color; |
} |
} |
|
// Form control focus state |
// |
// Generate a customized focus state and for any input with the specified color, |
// which defaults to the `@input-focus-border` variable. |
// |
// We highly encourage you to not customize the default value, but instead use |
// this to tweak colors on an as-needed basis. This aesthetic change is based on |
// WebKit's default styles, but applicable to a wider range of browsers. Its |
// usability and accessibility should be taken into account with any change. |
// |
// Example usage: change the default blue border and shadow to white for better |
// contrast against a dark gray background. |
|
.form-control-focus(@color: @input-border-focus) { |
@color-rgba: rgba(red(@color), green(@color), blue(@color), .6); |
&:focus { |
border-color: @color; |
outline: 0; |
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}"); |
} |
} |
|
// Form control sizing |
// |
// Relative text size, padding, and border-radii changes for form controls. For |
// horizontal sizing, wrap controls in the predefined grid classes. `<select>` |
// element gets special love because it's special, and that's a fact! |
|
.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { |
height: @input-height; |
padding: @padding-vertical @padding-horizontal; |
font-size: @font-size; |
line-height: @line-height; |
border-radius: @border-radius; |
|
select& { |
height: @input-height; |
line-height: @input-height; |
} |
|
textarea&, |
select[multiple]& { |
height: auto; |
} |
} |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/navbar.less |
@@ -0,0 +1,616 @@ |
// |
// Navbars |
// -------------------------------------------------- |
|
|
// Wrapper and base class |
// |
// Provide a static navbar from which we expand to create full-width, fixed, and |
// other navbar variations. |
|
.navbar { |
position: relative; |
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode) |
margin-bottom: @navbar-margin-bottom; |
border: 1px solid transparent; |
|
// Prevent floats from breaking the navbar |
&:extend(.clearfix all); |
|
@media (min-width: @grid-float-breakpoint) { |
border-radius: @navbar-border-radius; |
} |
} |
|
|
// Navbar heading |
// |
// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy |
// styling of responsive aspects. |
|
.navbar-header { |
&:extend(.clearfix all); |
|
@media (min-width: @grid-float-breakpoint) { |
float: left; |
} |
} |
|
|
// Navbar collapse (body) |
// |
// Group your navbar content into this for easy collapsing and expanding across |
// various device sizes. By default, this content is collapsed when <768px, but |
// will expand past that for a horizontal display. |
// |
// To start (on mobile devices) the navbar links, forms, and buttons are stacked |
// vertically and include a `max-height` to overflow in case you have too much |
// content for the user's viewport. |
|
.navbar-collapse { |
max-height: @navbar-collapse-max-height; |
overflow-x: visible; |
padding-right: @navbar-padding-horizontal; |
padding-left: @navbar-padding-horizontal; |
border-top: 1px solid transparent; |
box-shadow: inset 0 1px 0 rgba(255,255,255,.1); |
&:extend(.clearfix all); |
-webkit-overflow-scrolling: touch; |
|
&.in { |
overflow-y: auto; |
} |
|
@media (min-width: @grid-float-breakpoint) { |
width: auto; |
border-top: 0; |
box-shadow: none; |
|
&.collapse { |
display: block !important; |
height: auto !important; |
padding-bottom: 0; // Override default setting |
overflow: visible !important; |
} |
|
&.in { |
overflow-y: visible; |
} |
|
// Undo the collapse side padding for navbars with containers to ensure |
// alignment of right-aligned contents. |
.navbar-fixed-top &, |
.navbar-static-top &, |
.navbar-fixed-bottom & { |
padding-left: 0; |
padding-right: 0; |
} |
} |
} |
|
|
// Both navbar header and collapse |
// |
// When a container is present, change the behavior of the header and collapse. |
|
.container, |
.container-fluid { |
> .navbar-header, |
> .navbar-collapse { |
margin-right: -@navbar-padding-horizontal; |
margin-left: -@navbar-padding-horizontal; |
|
@media (min-width: @grid-float-breakpoint) { |
margin-right: 0; |
margin-left: 0; |
} |
} |
} |
|
|
// |
// Navbar alignment options |
// |
// Display the navbar across the entirety of the page or fixed it to the top or |
// bottom of the page. |
|
// Static top (unfixed, but 100% wide) navbar |
.navbar-static-top { |
z-index: @zindex-navbar; |
border-width: 0 0 1px; |
|
@media (min-width: @grid-float-breakpoint) { |
border-radius: 0; |
} |
} |
|
// Fix the top/bottom navbars when screen real estate supports it |
.navbar-fixed-top, |
.navbar-fixed-bottom { |
position: fixed; |
right: 0; |
left: 0; |
z-index: @zindex-navbar-fixed; |
|
// Undo the rounded corners |
@media (min-width: @grid-float-breakpoint) { |
border-radius: 0; |
} |
} |
.navbar-fixed-top { |
top: 0; |
border-width: 0 0 1px; |
} |
.navbar-fixed-bottom { |
bottom: 0; |
margin-bottom: 0; // override .navbar defaults |
border-width: 1px 0 0; |
} |
|
|
// Brand/project name |
|
.navbar-brand { |
float: left; |
padding: @navbar-padding-vertical @navbar-padding-horizontal; |
font-size: @font-size-large; |
line-height: @line-height-computed; |
height: @navbar-height; |
|
&:hover, |
&:focus { |
text-decoration: none; |
} |
|
@media (min-width: @grid-float-breakpoint) { |
.navbar > .container &, |
.navbar > .container-fluid & { |
margin-left: -@navbar-padding-horizontal; |
} |
} |
} |
|
|
// Navbar toggle |
// |
// Custom button for toggling the `.navbar-collapse`, powered by the collapse |
// JavaScript plugin. |
|
.navbar-toggle { |
position: relative; |
float: right; |
margin-right: @navbar-padding-horizontal; |
padding: 9px 10px; |
.navbar-vertical-align(34px); |
background-color: transparent; |
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 |
border: 1px solid transparent; |
border-radius: @border-radius-base; |
|
// We remove the `outline` here, but later compensate by attaching `:hover` |
// styles to `:focus`. |
&:focus { |
outline: none; |
} |
|
// Bars |
.icon-bar { |
display: block; |
width: 22px; |
height: 2px; |
border-radius: 1px; |
} |
.icon-bar + .icon-bar { |
margin-top: 4px; |
} |
|
@media (min-width: @grid-float-breakpoint) { |
display: none; |
} |
} |
|
|
// Navbar nav links |
// |
// Builds on top of the `.nav` components with its own modifier class to make |
// the nav the full height of the horizontal nav (above 768px). |
|
.navbar-nav { |
margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal; |
|
> li > a { |
padding-top: 10px; |
padding-bottom: 10px; |
line-height: @line-height-computed; |
} |
|
@media (max-width: @grid-float-breakpoint-max) { |
// Dropdowns get custom display when collapsed |
.open .dropdown-menu { |
position: static; |
float: none; |
width: auto; |
margin-top: 0; |
background-color: transparent; |
border: 0; |
box-shadow: none; |
> li > a, |
.dropdown-header { |
padding: 5px 15px 5px 25px; |
} |
> li > a { |
line-height: @line-height-computed; |
&:hover, |
&:focus { |
background-image: none; |
} |
} |
} |
} |
|
// Uncollapse the nav |
@media (min-width: @grid-float-breakpoint) { |
float: left; |
margin: 0; |
|
> li { |
float: left; |
> a { |
padding-top: @navbar-padding-vertical; |
padding-bottom: @navbar-padding-vertical; |
} |
} |
|
&.navbar-right:last-child { |
margin-right: -@navbar-padding-horizontal; |
} |
} |
} |
|
|
// Component alignment |
// |
// Repurpose the pull utilities as their own navbar utilities to avoid specificity |
// issues with parents and chaining. Only do this when the navbar is uncollapsed |
// though so that navbar contents properly stack and align in mobile. |
|
@media (min-width: @grid-float-breakpoint) { |
.navbar-left { .pull-left(); } |
.navbar-right { .pull-right(); } |
} |
|
|
// Navbar form |
// |
// Extension of the `.form-inline` with some extra flavor for optimum display in |
// our navbars. |
|
.navbar-form { |
margin-left: -@navbar-padding-horizontal; |
margin-right: -@navbar-padding-horizontal; |
padding: 10px @navbar-padding-horizontal; |
border-top: 1px solid transparent; |
border-bottom: 1px solid transparent; |
@shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); |
.box-shadow(@shadow); |
|
// Mixin behavior for optimum display |
.form-inline(); |
|
.form-group { |
@media (max-width: @grid-float-breakpoint-max) { |
margin-bottom: 5px; |
} |
} |
|
// Vertically center in expanded, horizontal navbar |
.navbar-vertical-align(@input-height-base); |
|
// Undo 100% width for pull classes |
@media (min-width: @grid-float-breakpoint) { |
width: auto; |
border: 0; |
margin-left: 0; |
margin-right: 0; |
padding-top: 0; |
padding-bottom: 0; |
.box-shadow(none); |
|
// Outdent the form if last child to line up with content down the page |
&.navbar-right:last-child { |
margin-right: -@navbar-padding-horizontal; |
} |
} |
} |
|
|
// Dropdown menus |
|
// Menu position and menu carets |
.navbar-nav > li > .dropdown-menu { |
margin-top: 0; |
.border-top-radius(0); |
} |
// Menu position and menu caret support for dropups via extra dropup class |
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { |
.border-bottom-radius(0); |
} |
|
|
// Buttons in navbars |
// |
// Vertically center a button within a navbar (when *not* in a form). |
|
.navbar-btn { |
.navbar-vertical-align(@input-height-base); |
|
&.btn-sm { |
.navbar-vertical-align(@input-height-small); |
} |
&.btn-xs { |
.navbar-vertical-align(22); |
} |
} |
|
|
// Text in navbars |
// |
// Add a class to make any element properly align itself vertically within the navbars. |
|
.navbar-text { |
.navbar-vertical-align(@line-height-computed); |
|
@media (min-width: @grid-float-breakpoint) { |
float: left; |
margin-left: @navbar-padding-horizontal; |
margin-right: @navbar-padding-horizontal; |
|
// Outdent the form if last child to line up with content down the page |
&.navbar-right:last-child { |
margin-right: 0; |
} |
} |
} |
|
// Alternate navbars |
// -------------------------------------------------- |
|
// Default navbar |
.navbar-default { |
background-color: @navbar-default-bg; |
border-color: @navbar-default-border; |
|
.navbar-brand { |
color: @navbar-default-brand-color; |
&:hover, |
&:focus { |
color: @navbar-default-brand-hover-color; |
background-color: @navbar-default-brand-hover-bg; |
} |
} |
|
.navbar-text { |
color: @navbar-default-color; |
} |
|
.navbar-nav { |
> li > a { |
color: @navbar-default-link-color; |
|
&:hover, |
&:focus { |
color: @navbar-default-link-hover-color; |
background-color: @navbar-default-link-hover-bg; |
} |
} |
> .active > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-default-link-active-color; |
background-color: @navbar-default-link-active-bg; |
} |
} |
> .disabled > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-default-link-disabled-color; |
background-color: @navbar-default-link-disabled-bg; |
} |
} |
} |
|
.navbar-toggle { |
border-color: @navbar-default-toggle-border-color; |
&:hover, |
&:focus { |
background-color: @navbar-default-toggle-hover-bg; |
} |
.icon-bar { |
background-color: @navbar-default-toggle-icon-bar-bg; |
} |
} |
|
.navbar-collapse, |
.navbar-form { |
border-color: @navbar-default-border; |
} |
|
// Dropdown menu items |
.navbar-nav { |
// Remove background color from open dropdown |
> .open > a { |
&, |
&:hover, |
&:focus { |
background-color: @navbar-default-link-active-bg; |
color: @navbar-default-link-active-color; |
} |
} |
|
@media (max-width: @grid-float-breakpoint-max) { |
// Dropdowns get custom display when collapsed |
.open .dropdown-menu { |
> li > a { |
color: @navbar-default-link-color; |
&:hover, |
&:focus { |
color: @navbar-default-link-hover-color; |
background-color: @navbar-default-link-hover-bg; |
} |
} |
> .active > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-default-link-active-color; |
background-color: @navbar-default-link-active-bg; |
} |
} |
> .disabled > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-default-link-disabled-color; |
background-color: @navbar-default-link-disabled-bg; |
} |
} |
} |
} |
} |
|
|
// Links in navbars |
// |
// Add a class to ensure links outside the navbar nav are colored correctly. |
|
.navbar-link { |
color: @navbar-default-link-color; |
&:hover { |
color: @navbar-default-link-hover-color; |
} |
} |
|
} |
|
// Inverse navbar |
|
.navbar-inverse { |
background-color: @navbar-inverse-bg; |
border-color: @navbar-inverse-border; |
|
.navbar-brand { |
color: @navbar-inverse-brand-color; |
&:hover, |
&:focus { |
color: @navbar-inverse-brand-hover-color; |
background-color: @navbar-inverse-brand-hover-bg; |
} |
} |
|
.navbar-text { |
color: @navbar-inverse-color; |
} |
|
.navbar-nav { |
> li > a { |
color: @navbar-inverse-link-color; |
|
&:hover, |
&:focus { |
color: @navbar-inverse-link-hover-color; |
background-color: @navbar-inverse-link-hover-bg; |
} |
} |
> .active > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-inverse-link-active-color; |
background-color: @navbar-inverse-link-active-bg; |
} |
} |
> .disabled > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-inverse-link-disabled-color; |
background-color: @navbar-inverse-link-disabled-bg; |
} |
} |
} |
|
// Darken the responsive nav toggle |
.navbar-toggle { |
border-color: @navbar-inverse-toggle-border-color; |
&:hover, |
&:focus { |
background-color: @navbar-inverse-toggle-hover-bg; |
} |
.icon-bar { |
background-color: @navbar-inverse-toggle-icon-bar-bg; |
} |
} |
|
.navbar-collapse, |
.navbar-form { |
border-color: darken(@navbar-inverse-bg, 7%); |
} |
|
// Dropdowns |
.navbar-nav { |
> .open > a { |
&, |
&:hover, |
&:focus { |
background-color: @navbar-inverse-link-active-bg; |
color: @navbar-inverse-link-active-color; |
} |
} |
|
@media (max-width: @grid-float-breakpoint-max) { |
// Dropdowns get custom display |
.open .dropdown-menu { |
> .dropdown-header { |
border-color: @navbar-inverse-border; |
} |
.divider { |
background-color: @navbar-inverse-border; |
} |
> li > a { |
color: @navbar-inverse-link-color; |
&:hover, |
&:focus { |
color: @navbar-inverse-link-hover-color; |
background-color: @navbar-inverse-link-hover-bg; |
} |
} |
> .active > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-inverse-link-active-color; |
background-color: @navbar-inverse-link-active-bg; |
} |
} |
> .disabled > a { |
&, |
&:hover, |
&:focus { |
color: @navbar-inverse-link-disabled-color; |
background-color: @navbar-inverse-link-disabled-bg; |
} |
} |
} |
} |
} |
|
.navbar-link { |
color: @navbar-inverse-link-color; |
&:hover { |
color: @navbar-inverse-link-hover-color; |
} |
} |
|
} |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/normalize.less |
@@ -0,0 +1,423 @@ |
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ |
|
// |
// 1. Set default font family to sans-serif. |
// 2. Prevent iOS text size adjust after orientation change, without disabling |
// user zoom. |
// |
|
html { |
font-family: sans-serif; // 1 |
-ms-text-size-adjust: 100%; // 2 |
-webkit-text-size-adjust: 100%; // 2 |
} |
|
// |
// Remove default margin. |
// |
|
body { |
margin: 0; |
} |
|
// HTML5 display definitions |
// ========================================================================== |
|
// |
// Correct `block` display not defined in IE 8/9. |
// |
|
article, |
aside, |
details, |
figcaption, |
figure, |
footer, |
header, |
hgroup, |
main, |
nav, |
section, |
summary { |
display: block; |
} |
|
// |
// 1. Correct `inline-block` display not defined in IE 8/9. |
// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. |
// |
|
audio, |
canvas, |
progress, |
video { |
display: inline-block; // 1 |
vertical-align: baseline; // 2 |
} |
|
// |
// Prevent modern browsers from displaying `audio` without controls. |
// Remove excess height in iOS 5 devices. |
// |
|
audio:not([controls]) { |
display: none; |
height: 0; |
} |
|
// |
// Address `[hidden]` styling not present in IE 8/9. |
// Hide the `template` element in IE, Safari, and Firefox < 22. |
// |
|
[hidden], |
template { |
display: none; |
} |
|
// Links |
// ========================================================================== |
|
// |
// Remove the gray background color from active links in IE 10. |
// |
|
a { |
background: transparent; |
} |
|
// |
// Improve readability when focused and also mouse hovered in all browsers. |
// |
|
a:active, |
a:hover { |
outline: 0; |
} |
|
// Text-level semantics |
// ========================================================================== |
|
// |
// Address styling not present in IE 8/9, Safari 5, and Chrome. |
// |
|
abbr[title] { |
border-bottom: 1px dotted; |
} |
|
// |
// Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. |
// |
|
b, |
strong { |
font-weight: bold; |
} |
|
// |
// Address styling not present in Safari 5 and Chrome. |
// |
|
dfn { |
font-style: italic; |
} |
|
// |
// Address variable `h1` font-size and margin within `section` and `article` |
// contexts in Firefox 4+, Safari 5, and Chrome. |
// |
|
h1 { |
font-size: 2em; |
margin: 0.67em 0; |
} |
|
// |
// Address styling not present in IE 8/9. |
// |
|
mark { |
background: #ff0; |
color: #000; |
} |
|
// |
// Address inconsistent and variable font size in all browsers. |
// |
|
small { |
font-size: 80%; |
} |
|
// |
// Prevent `sub` and `sup` affecting `line-height` in all browsers. |
// |
|
sub, |
sup { |
font-size: 75%; |
line-height: 0; |
position: relative; |
vertical-align: baseline; |
} |
|
sup { |
top: -0.5em; |
} |
|
sub { |
bottom: -0.25em; |
} |
|
// Embedded content |
// ========================================================================== |
|
// |
// Remove border when inside `a` element in IE 8/9. |
// |
|
img { |
border: 0; |
} |
|
// |
// Correct overflow displayed oddly in IE 9. |
// |
|
svg:not(:root) { |
overflow: hidden; |
} |
|
// Grouping content |
// ========================================================================== |
|
// |
// Address margin not present in IE 8/9 and Safari 5. |
// |
|
figure { |
margin: 1em 40px; |
} |
|
// |
// Address differences between Firefox and other browsers. |
// |
|
hr { |
-moz-box-sizing: content-box; |
box-sizing: content-box; |
height: 0; |
} |
|
// |
// Contain overflow in all browsers. |
// |
|
pre { |
overflow: auto; |
} |
|
// |
// Address odd `em`-unit font size rendering in all browsers. |
// |
|
code, |
kbd, |
pre, |
samp { |
font-family: monospace, monospace; |
font-size: 1em; |
} |
|
// Forms |
// ========================================================================== |
|
// |
// Known limitation: by default, Chrome and Safari on OS X allow very limited |
// styling of `select`, unless a `border` property is set. |
// |
|
// |
// 1. Correct color not being inherited. |
// Known issue: affects color of disabled elements. |
// 2. Correct font properties not being inherited. |
// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. |
// |
|
button, |
input, |
optgroup, |
select, |
textarea { |
color: inherit; // 1 |
font: inherit; // 2 |
margin: 0; // 3 |
} |
|
// |
// Address `overflow` set to `hidden` in IE 8/9/10. |
// |
|
button { |
overflow: visible; |
} |
|
// |
// Address inconsistent `text-transform` inheritance for `button` and `select`. |
// All other form control elements do not inherit `text-transform` values. |
// Correct `button` style inheritance in Firefox, IE 8+, and Opera |
// Correct `select` style inheritance in Firefox. |
// |
|
button, |
select { |
text-transform: none; |
} |
|
// |
// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` |
// and `video` controls. |
// 2. Correct inability to style clickable `input` types in iOS. |
// 3. Improve usability and consistency of cursor style between image-type |
// `input` and others. |
// |
|
button, |
html input[type="button"], // 1 |
input[type="reset"], |
input[type="submit"] { |
-webkit-appearance: button; // 2 |
cursor: pointer; // 3 |
} |
|
// |
// Re-set default cursor for disabled elements. |
// |
|
button[disabled], |
html input[disabled] { |
cursor: default; |
} |
|
// |
// Remove inner padding and border in Firefox 4+. |
// |
|
button::-moz-focus-inner, |
input::-moz-focus-inner { |
border: 0; |
padding: 0; |
} |
|
// |
// Address Firefox 4+ setting `line-height` on `input` using `!important` in |
// the UA stylesheet. |
// |
|
input { |
line-height: normal; |
} |
|
// |
// It's recommended that you don't attempt to style these elements. |
// Firefox's implementation doesn't respect box-sizing, padding, or width. |
// |
// 1. Address box sizing set to `content-box` in IE 8/9/10. |
// 2. Remove excess padding in IE 8/9/10. |
// |
|
input[type="checkbox"], |
input[type="radio"] { |
box-sizing: border-box; // 1 |
padding: 0; // 2 |
} |
|
// |
// Fix the cursor style for Chrome's increment/decrement buttons. For certain |
// `font-size` values of the `input`, it causes the cursor style of the |
// decrement button to change from `default` to `text`. |
// |
|
input[type="number"]::-webkit-inner-spin-button, |
input[type="number"]::-webkit-outer-spin-button { |
height: auto; |
} |
|
// |
// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. |
// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome |
// (include `-moz` to future-proof). |
// |
|
input[type="search"] { |
-webkit-appearance: textfield; // 1 |
-moz-box-sizing: content-box; |
-webkit-box-sizing: content-box; // 2 |
box-sizing: content-box; |
} |
|
// |
// Remove inner padding and search cancel button in Safari and Chrome on OS X. |
// Safari (but not Chrome) clips the cancel button when the search input has |
// padding (and `textfield` appearance). |
// |
|
input[type="search"]::-webkit-search-cancel-button, |
input[type="search"]::-webkit-search-decoration { |
-webkit-appearance: none; |
} |
|
// |
// Define consistent border, margin, and padding. |
// |
|
fieldset { |
border: 1px solid #c0c0c0; |
margin: 0 2px; |
padding: 0.35em 0.625em 0.75em; |
} |
|
// |
// 1. Correct `color` not being inherited in IE 8/9. |
// 2. Remove padding so people aren't caught out if they zero out fieldsets. |
// |
|
legend { |
border: 0; // 1 |
padding: 0; // 2 |
} |
|
// |
// Remove default vertical scrollbar in IE 8/9. |
// |
|
textarea { |
overflow: auto; |
} |
|
// |
// Don't inherit the `font-weight` (applied by a rule above). |
// NOTE: the default cannot safely be changed in Chrome and Safari on OS X. |
// |
|
optgroup { |
font-weight: bold; |
} |
|
// Tables |
// ========================================================================== |
|
// |
// Remove most spacing between table cells. |
// |
|
table { |
border-collapse: collapse; |
border-spacing: 0; |
} |
|
td, |
th { |
padding: 0; |
} |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/theme.less |
@@ -0,0 +1,247 @@ |
|
// |
// 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,.2); |
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075); |
.box-shadow(@shadow); |
|
// Reset the shadow |
&:active, |
&.active { |
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); |
} |
} |
|
// Mixin for generating new styles |
.btn-styles(@btn-color: #555) { |
#gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%)); |
.reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners |
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%); |
} |
} |
|
// 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); } |
|
|
|
// |
// Images |
// -------------------------------------------------- |
|
.thumbnail, |
.img-thumbnail { |
.box-shadow(0 1px 2px rgba(0,0,0,.075)); |
} |
|
|
|
// |
// Dropdowns |
// -------------------------------------------------- |
|
.dropdown-menu > li > a:hover, |
.dropdown-menu > li > a:focus { |
#gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%)); |
background-color: darken(@dropdown-link-hover-bg, 5%); |
} |
.dropdown-menu > .active > a, |
.dropdown-menu > .active > a:hover, |
.dropdown-menu > .active > a:focus { |
#gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); |
background-color: darken(@dropdown-link-active-bg, 5%); |
} |
|
|
|
// |
// Navbar |
// -------------------------------------------------- |
|
// Default navbar |
.navbar-default { |
#gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg); |
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered |
border-radius: @navbar-border-radius; |
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); |
.box-shadow(@shadow); |
|
.navbar-nav > .active > a { |
#gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%)); |
.box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); |
} |
} |
.navbar-brand, |
.navbar-nav > li > a { |
text-shadow: 0 1px 0 rgba(255,255,255,.25); |
} |
|
// Inverted navbar |
.navbar-inverse { |
#gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg); |
.reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered |
|
.navbar-nav > .active > a { |
#gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%)); |
.box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); |
} |
|
.navbar-brand, |
.navbar-nav > li > a { |
text-shadow: 0 -1px 0 rgba(0,0,0,.25); |
} |
} |
|
// Undo rounded corners in static and fixed navbars |
.navbar-static-top, |
.navbar-fixed-top, |
.navbar-fixed-bottom { |
border-radius: 0; |
} |
|
|
|
// |
// Alerts |
// -------------------------------------------------- |
|
// Common styles |
.alert { |
text-shadow: 0 1px 0 rgba(255,255,255,.2); |
@shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05); |
.box-shadow(@shadow); |
} |
|
// Mixin for generating new styles |
.alert-styles(@color) { |
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%)); |
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 { |
#gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg) |
} |
|
// Mixin for generating new styles |
.progress-bar-styles(@color) { |
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%)); |
} |
|
// 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,.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%); |
#gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%)); |
border-color: darken(@list-group-active-border, 7.5%); |
} |
|
|
|
// |
// Panels |
// -------------------------------------------------- |
|
// Common styles |
.panel { |
.box-shadow(0 1px 2px rgba(0,0,0,.05)); |
} |
|
// Mixin for generating new styles |
.panel-heading-styles(@color) { |
#gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%)); |
} |
|
// 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 { |
#gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg); |
border-color: darken(@well-bg, 10%); |
@shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1); |
.box-shadow(@shadow); |
} |
/base/000_base/node_modules/bootstrap-validator/sandbox/bootstrap/less/variables.less |
@@ -0,0 +1,829 @@ |
// |
// Variables |
// -------------------------------------------------- |
|
|
//== Colors |
// |
//## Gray and brand colors for use across Bootstrap. |
|
@gray-darker: lighten(#000, 13.5%); // #222 |
@gray-dark: lighten(#000, 20%); // #333 |
@gray: lighten(#000, 33.5%); // #555 |
@gray-light: lighten(#000, 60%); // #999 |
@gray-lighter: lighten(#000, 93.5%); // #eee |
|
@brand-primary: #428bca; |
@brand-success: #5cb85c; |
@brand-info: #5bc0de; |
@brand-warning: #f0ad4e; |
@brand-danger: #d9534f; |
|
|
//== Scaffolding |
// |
// ## Settings for some of the most global styles. |
|
//** Background color for `<body>`. |
@body-bg: #fff; |
//** Global text color on `<body>`. |
@text-color: @gray-dark; |
|
//** Global textual link color. |
@link-color: @brand-primary; |
//** Link hover color set via `darken()` function. |
@link-hover-color: darken(@link-color, 15%); |
|
|
//== Typography |
// |
//## Font, line-height, and color for body text, headings, and more. |
|
@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; |
@font-family-serif: Georgia, "Times New Roman", Times, serif; |
//** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`. |
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace; |
@font-family-base: @font-family-sans-serif; |
|
@font-size-base: 14px; |
@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 |
|
//** Unit-less `line-height` for use in components like buttons. |
@line-height-base: 1.428571429; // 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 `<body>`. |
@headings-font-family: inherit; |
@headings-font-weight: 500; |
@headings-line-height: 1.1; |
@headings-color: inherit; |
|
|
//-- Iconography |
// |
//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower. |
|
@icon-font-path: "../fonts/"; |
@icon-font-name: "glyphicons-halflings-regular"; |
@icon-font-svg-id: "glyphicons_halflingsregular"; |
|
//== Components |
// |
//## 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-large-vertical: 10px; |
@padding-large-horizontal: 16px; |
|
@padding-small-vertical: 5px; |
@padding-small-horizontal: 10px; |
|
@padding-xs-vertical: 1px; |
@padding-xs-horizontal: 5px; |
|
@line-height-large: 1.33; |
@line-height-small: 1.5; |
|
@border-radius-base: 4px; |
@border-radius-large: 6px; |
@border-radius-small: 3px; |
|
//** Global color for active items (e.g., navs or dropdowns). |
@component-active-color: #fff; |
//** Global background color for active items (e.g., navs or dropdowns). |
@component-active-bg: @brand-primary; |
|
//** Width of the `border` for generating carets that indicator dropdowns. |
@caret-width-base: 4px; |
//** Carets increase slightly in size for larger components. |
@caret-width-large: 5px; |
|
|
//== Tables |
// |
//## Customizes the `.table` component with basic values, each used across all table variations. |
|
//** Padding for `<th>`s and `<td>`s. |
@table-cell-padding: 8px; |
//** Padding for cells in `.table-condensed`. |
@table-condensed-cell-padding: 5px; |
|
//** Default background color used for all tables. |
@table-bg: transparent; |
//** Background color used for `.table-striped`. |
@table-bg-accent: #f9f9f9; |
//** Background color used for `.table-hover`. |
@table-bg-hover: #f5f5f5; |
@table-bg-active: @table-bg-hover; |
|
//** Border color for table and cell borders. |
@table-border-color: #ddd; |
|
|
//== Buttons |
// |
//## For each of Bootstrap's buttons, define text, background and border color. |
|
@btn-font-weight: normal; |
|
@btn-default-color: #333; |
@btn-default-bg: #fff; |
@btn-default-border: #ccc; |
|
@btn-primary-color: #fff; |
@btn-primary-bg: @brand-primary; |
@btn-primary-border: darken(@btn-primary-bg, 5%); |
|
@btn-success-color: #fff; |
@btn-success-bg: @brand-success; |
@btn-success-border: darken(@btn-success-bg, 5%); |
|
@btn-info-color: #fff; |
@btn-info-bg: @brand-info; |
@btn-info-border: darken(@btn-info-bg, 5%); |
|
@btn-warning-color: #fff; |
@btn-warning-bg: @brand-warning; |
@btn-warning-border: darken(@btn-warning-bg, 5%); |
|
@btn-danger-color: #fff; |
@btn-danger-bg: @brand-danger; |
@btn-danger-border: darken(@btn-danger-bg, 5%); |
|
@btn-link-disabled-color: @gray-light; |
|
|
//== Forms |
// |
//## |
|
//** `<input>` background color |
@input-bg: #fff; |
//** `<input disabled>` background color |
@input-bg-disabled: @gray-lighter; |
|
//** Text color for `<input>`s |
@input-color: @gray; |
//** `<input>` border color |
@input-border: #ccc; |
//** `<input>` border radius |
@input-border-radius: @border-radius-base; |
//** Border color for inputs on focus |
@input-border-focus: #66afe9; |
|
//** Placeholder text color |
@input-color-placeholder: @gray-light; |
|
//** Default `.form-control` height |
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); |
//** Large `.form-control` height |
@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); |
//** Small `.form-control` height |
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); |
|
@legend-color: @gray-dark; |
@legend-border-color: #e5e5e5; |
|
//** Background color for textual input addons |
@input-group-addon-bg: @gray-lighter; |
//** Border color for textual input addons |
@input-group-addon-border-color: @input-border; |
|
|
//== Dropdowns |
// |
//## Dropdown menu container and contents. |
|
//** Background for the dropdown menu. |
@dropdown-bg: #fff; |
//** Dropdown menu `border-color`. |
@dropdown-border: rgba(0,0,0,.15); |
//** Dropdown menu `border-color` **for IE8**. |
@dropdown-fallback-border: #ccc; |
//** Divider color for between dropdown items. |
@dropdown-divider-bg: #e5e5e5; |
|
//** Dropdown link text color. |
@dropdown-link-color: @gray-dark; |
//** Hover color for dropdown links. |
@dropdown-link-hover-color: darken(@gray-dark, 5%); |
//** Hover background for dropdown links. |
@dropdown-link-hover-bg: #f5f5f5; |
|
//** Active dropdown menu item text color. |
@dropdown-link-active-color: @component-active-color; |
//** Active dropdown menu item background color. |
@dropdown-link-active-bg: @component-active-bg; |
|
//** Disabled dropdown menu item background color. |
@dropdown-link-disabled-color: @gray-light; |
|
//** Text color for headers within dropdown menus. |
@dropdown-header-color: @gray-light; |
|
// Note: Deprecated @dropdown-caret-color as of v3.1.0 |
@dropdown-caret-color: #000; |
|
|
//-- Z-index master list |
// |
// Warning: Avoid customizing these values. They're used for a bird's eye view |
// of components dependent on the z-axis and are designed to all work together. |
// |
// Note: These variables are not generated into the Customizer. |
|
@zindex-navbar: 1000; |
@zindex-dropdown: 1000; |
@zindex-popover: 1010; |
@zindex-tooltip: 1030; |
@zindex-navbar-fixed: 1030; |
@zindex-modal-background: 1040; |
@zindex-modal: 1050; |
|
|
//== Media queries breakpoints |
// |
//## Define the breakpoints at which your layout will change, adapting to different screen sizes. |
|
// Extra small screen / phone |
// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1 |
@screen-xs: 480px; |
@screen-xs-min: @screen-xs; |
@screen-phone: @screen-xs-min; |
|
// Small screen / tablet |
// Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1 |
@screen-sm: 768px; |
@screen-sm-min: @screen-sm; |
@screen-tablet: @screen-sm-min; |
|
// Medium screen / desktop |
// Note: Deprecated @screen-md and @screen-desktop as of v3.0.1 |
@screen-md: 992px; |
@screen-md-min: @screen-md; |
@screen-desktop: @screen-md-min; |
|
// Large screen / wide desktop |
// Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1 |
@screen-lg: 1200px; |
@screen-lg-min: @screen-lg; |
@screen-lg-desktop: @screen-lg-min; |
|
// So media queries don't overlap when required, provide a maximum |
@screen-xs-max: (@screen-sm-min - 1); |
@screen-sm-max: (@screen-md-min - 1); |
@screen-md-max: (@screen-lg-min - 1); |
|
|
//== Grid system |
// |
//## Define your custom responsive grid. |
|
//** Number of columns in the grid. |
@grid-columns: 12; |
//** Padding between columns. Gets divided in half for the left and right. |
@grid-gutter-width: 30px; |
// Navbar collapse |
//** Point at which the navbar becomes uncollapsed. |
@grid-float-breakpoint: @screen-sm-min; |
//** Point at which the navbar begins collapsing. |
@grid-float-breakpoint-max: (@grid-float-breakpoint - 1); |
|
|
//== Container sizes |
// |
//## Define the maximum width of `.container` for different screen sizes. |
|
// Small screen / tablet |
@container-tablet: ((720px + @grid-gutter-width)); |
//** For `@screen-sm-min` and up. |
@container-sm: @container-tablet; |
|
// Medium screen / desktop |
@container-desktop: ((940px + @grid-gutter-width)); |
//** For `@screen-md-min` and up. |
@container-md: @container-desktop; |
|
// Large screen / wide desktop |
@container-large-desktop: ((1140px + @grid-gutter-width)); |
//** For `@screen-lg-min` and up. |
@container-lg: @container-large-desktop; |
|
|
//== Navbar |
// |
//## |
|
// Basics of a navbar |
@navbar-height: 50px; |
@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 links |
@navbar-default-link-color: #777; |
@navbar-default-link-hover-color: #333; |
@navbar-default-link-hover-bg: transparent; |
@navbar-default-link-active-color: #555; |
@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-bg: transparent; |
|
// Navbar toggle |
@navbar-default-toggle-hover-bg: #ddd; |
@navbar-default-toggle-icon-bar-bg: #888; |
@navbar-default-toggle-border-color: #ddd; |
|
|
// Inverted navbar |
// Reset inverted navbar basics |
@navbar-inverse-color: @gray-light; |
@navbar-inverse-bg: #222; |
@navbar-inverse-border: darken(@navbar-inverse-bg, 10%); |
|
// Inverted navbar links |
@navbar-inverse-link-color: @gray-light; |
@navbar-inverse-link-hover-color: #fff; |
@navbar-inverse-link-hover-bg: transparent; |
@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; |
@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%); |
@navbar-inverse-link-disabled-color: #444; |
@navbar-inverse-link-disabled-bg: transparent; |
|
// Inverted navbar brand label |
@navbar-inverse-brand-color: @navbar-inverse-link-color; |
@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; |
|
|
//== Navs |
// |
//## |
|
//=== Shared nav styles |
@nav-link-padding: 10px 15px; |
@nav-link-hover-bg: @gray-lighter; |
|
@nav-disabled-link-color: @gray-light; |
@nav-disabled-link-hover-color: @gray-light; |
|
@nav-open-link-hover-color: #fff; |
|
//== Tabs |
@nav-tabs-border-color: #ddd; |
|
@nav-tabs-link-hover-border-color: @gray-lighter; |
|
@nav-tabs-active-link-hover-bg: @body-bg; |
@nav-tabs-active-link-hover-color: @gray; |
@nav-tabs-active-link-hover-border-color: #ddd; |
|
@nav-tabs-justified-link-border-color: #ddd; |
@nav-tabs-justified-active-link-border-color: @body-bg; |
|
//== Pills |
@nav-pills-border-radius: @border-radius-base; |
@nav-pills-active-link-hover-bg: @component-active-bg; |
@nav-pills-active-link-hover-color: @component-active-color; |
|
|
//== Pagination |
// |
//## |
|
@pagination-color: @link-color; |
@pagination-bg: #fff; |
@pagination-border: #ddd; |
|
@pagination-hover-color: @link-hover-color; |
@pagination-hover-bg: @gray-lighter; |
@pagination-hover-border: #ddd; |
|
@pagination-active-color: #fff; |
@pagination-active-bg: @brand-primary; |
@pagination-active-border: @brand-primary; |
|
@pagination-disabled-color: @gray-light; |
@pagination-disabled-bg: #fff; |
@pagination-disabled-border: #ddd; |
|
|
//== Pager |
// |
//## |
|
@pager-bg: @pagination-bg; |
@pager-border: @pagination-border; |
@pager-border-radius: 15px; |
|
@pager-hover-bg: @pagination-hover-bg; |
|
@pager-active-bg: @pagination-active-bg; |
@pager-active-color: @pagination-active-color; |
|
@pager-disabled-color: @pagination-disabled-color; |
|
|
//== Jumbotron |
// |
//## |
|
@jumbotron-padding: 30px; |
@jumbotron-color: inherit; |
@jumbotron-bg: @gray-lighter; |
@jumbotron-heading-color: inherit; |
@jumbotron-font-size: ceil((@font-size-base * 1.5)); |
|
|
//== Form states and alerts |
// |
//## Define colors for form feedback states and, by default, alerts. |
|
@state-success-text: #3c763d; |
@state-success-bg: #dff0d8; |
@state-success-border: darken(spin(@state-success-bg, -10), 5%); |
|
@state-info-text: #31708f; |
@state-info-bg: #d9edf7; |
@state-info-border: darken(spin(@state-info-bg, -10), 7%); |
|
@state-warning-text: #8a6d3b; |
@state-warning-bg: #fcf8e3; |
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%); |
|
@state-danger-text: #a94442; |
@state-danger-bg: #f2dede; |
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%); |
|
|
//== Tooltips |
// |
//## |
|
//** Tooltip max width |
@tooltip-max-width: 200px; |
//** Tooltip text color |
@tooltip-color: #fff; |
//** Tooltip background color |
@tooltip-bg: #000; |
@tooltip-opacity: .9; |
|
//** Tooltip arrow width |
@tooltip-arrow-width: 5px; |
//** Tooltip arrow color |
@tooltip-arrow-color: @tooltip-bg; |
|
|
//== Popovers |
// |
//## |
|
//** Popover body background color |
@popover-bg: #fff; |
//** Popover maximum width |
@popover-max-width: 276px; |
//** Popover border color |
@popover-border-color: rgba(0,0,0,.2); |
//** Popover fallback border color |
@popover-fallback-border-color: #ccc; |
|
//** Popover title background color |
@popover-title-bg: darken(@popover-bg, 3%); |
|
//** Popover arrow width |
@popover-arrow-width: 10px; |
//** Popover arrow color |
@popover-arrow-color: #fff; |
|
//** 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 outer arrow fallback color |
@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%); |
|
|
//== Labels |
// |
//## |
|
//** Default label background color |
@label-default-bg: @gray-light; |
//** Primary label background color |
@label-primary-bg: @brand-primary; |
//** Success label background color |
@label-success-bg: @brand-success; |
//** Info label background color |
@label-info-bg: @brand-info; |
//** Warning label background color |
@label-warning-bg: @brand-warning; |
//** Danger label background color |
@label-danger-bg: @brand-danger; |
|
//** Default label text color |
@label-color: #fff; |
//** Default text color of a linked label |
@label-link-hover-color: #fff; |
|
|
//== Modals |
// |
//## |
|
//** Padding applied to the modal body |
@modal-inner-padding: 20px; |
|
//** Padding applied to the modal title |
@modal-title-padding: 15px; |
//** Modal title line-height |
@modal-title-line-height: @line-height-base; |
|
//** 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 **for IE8** |
@modal-content-fallback-border-color: #999; |
|
//** Modal backdrop background color |
@modal-backdrop-bg: #000; |
//** Modal backdrop opacity |
@modal-backdrop-opacity: .5; |
//** Modal header border color |
@modal-header-border-color: #e5e5e5; |
//** Modal footer border color |
@modal-footer-border-color: @modal-header-border-color; |
|
@modal-lg: 900px; |
@modal-md: 600px; |
@modal-sm: 300px; |
|
|
//== Alerts |
// |
//## Define alert colors, border radius, and padding. |
|
@alert-padding: 15px; |
@alert-border-radius: @border-radius-base; |
@alert-link-font-weight: bold; |
|
@alert-success-bg: @state-success-bg; |
@alert-success-text: @state-success-text; |
@alert-success-border: @state-success-border; |
|
@alert-info-bg: @state-info-bg; |
@alert-info-text: @state-info-text; |
@alert-info-border: @state-info-border; |
|
@alert-warning-bg: @state-warning-bg; |
@alert-warning-text: @state-warning-text; |
@alert-warning-border: @state-warning-border; |
|
@alert-danger-bg: @state-danger-bg; |
@alert-danger-text: @state-danger-text; |
@alert-danger-border: @state-danger-border; |
|
|
//== Progress bars |
// |
//## |
|
//** Background color of the whole progress component |
@progress-bg: #f5f5f5; |
//** Progress bar text color |
@progress-bar-color: #fff; |
|
//** Default progress bar color |
@progress-bar-bg: @brand-primary; |
//** Success progress bar color |
@progress-bar-success-bg: @brand-success; |
//** Warning progress bar color |
@progress-bar-warning-bg: @brand-warning; |
//** Danger progress bar color |
@progress-bar-danger-bg: @brand-danger; |
//** Info progress bar color |
@progress-bar-info-bg: @brand-info; |
|
|
//== List group |
// |
//## |
|
//** Background color on `.list-group-item` |
@list-group-bg: #fff; |
//** `.list-group-item` border color |
@list-group-border: #ddd; |
//** List group border radius |
@list-group-border-radius: @border-radius-base; |
|
//** Background color of single list elements on hover |
@list-group-hover-bg: #f5f5f5; |
//** Text color of active list elements |
@list-group-active-color: @component-active-color; |
//** Background color of active list elements |
@list-group-active-bg: @component-active-bg; |
//** Border color of active list elements |
@list-group-active-border: @list-group-active-bg; |
@list-group-active-text-color: lighten(@list-group-active-bg, 40%); |
|
@list-group-link-color: #555; |
@list-group-link-heading-color: #333; |
|
|
//== Panels |
// |
//## |
|
@panel-bg: #fff; |
@panel-body-padding: 15px; |
@panel-border-radius: @border-radius-base; |
|
//** Border color for elements within panels |
@panel-inner-border: #ddd; |
@panel-footer-bg: #f5f5f5; |
|
@panel-default-text: @gray-dark; |
@panel-default-border: #ddd; |
@panel-default-heading-bg: #f5f5f5; |
|
@panel-primary-text: #fff; |
@panel-primary-border: @brand-primary; |
@panel-primary-heading-bg: @brand-primary; |
|
@panel-success-text: @state-success-text; |
@panel-success-border: @state-success-border; |
@panel-success-heading-bg: @state-success-bg; |
|
@panel-info-text: @state-info-text; |
@panel-info-border: @state-info-border; |
@panel-info-heading-bg: @state-info-bg; |
|
@panel-warning-text: @state-warning-text; |
@panel-warning-border: @state-warning-border; |
@panel-warning-heading-bg: @state-warning-bg; |
|
@panel-danger-text: @state-danger-text; |
@panel-danger-border: @state-danger-border; |
@panel-danger-heading-bg: @state-danger-bg; |
|
|
//== Thumbnails |
// |
//## |
|
//** Padding around the thumbnail image |
@thumbnail-padding: 4px; |
//** Thumbnail background color |
@thumbnail-bg: @body-bg; |
//** Thumbnail border color |
@thumbnail-border: #ddd; |
//** Thumbnail border radius |
@thumbnail-border-radius: @border-radius-base; |
|
//** Custom text color for thumbnail captions |
@thumbnail-caption-color: @text-color; |
//** Padding around the thumbnail caption |
@thumbnail-caption-padding: 9px; |
|
|
//== Wells |
// |
//## |
|
@well-bg: #f5f5f5; |
@well-border: darken(@well-bg, 7%); |
|
|
//== Badges |
// |
//## |
|
@badge-color: #fff; |
//** Linked badge text color on hover |
@badge-link-hover-color: #fff; |
@badge-bg: @gray-light; |
|
//** Badge text color in active nav link |
@badge-active-color: @link-color; |
//** Badge background color in active nav link |
@badge-active-bg: #fff; |
|
@badge-font-weight: bold; |
@badge-line-height: 1; |
@badge-border-radius: 10px; |
|
|
//== Breadcrumbs |
// |
//## |
|
@breadcrumb-padding-vertical: 8px; |
@breadcrumb-padding-horizontal: 15px; |
//** Breadcrumb background color |
@breadcrumb-bg: #f5f5f5; |
//** Breadcrumb text color |
@breadcrumb-color: #ccc; |
//** Text color of current page in the breadcrumb |
@breadcrumb-active-color: @gray-light; |
//** Textual separator for between breadcrumb elements |
@breadcrumb-separator: "/"; |
|
|
//== Carousel |
// |
//## |
|
@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6); |
|
@carousel-control-color: #fff; |
@carousel-control-width: 15%; |
@carousel-control-opacity: .5; |
@carousel-control-font-size: 20px; |
|
@carousel-indicator-active-bg: #fff; |
@carousel-indicator-border-color: #fff; |
|
@carousel-caption-color: #fff; |
|
|
//== Close |
// |
//## |
|
@close-font-weight: bold; |
@close-color: #000; |
@close-text-shadow: 0 1px 0 #fff; |
|
|
//== Code |
// |
//## |
|
@code-color: #c7254e; |
@code-bg: #f9f2f4; |
|
@kbd-color: #fff; |
@kbd-bg: #333; |
|
@pre-bg: #f5f5f5; |
@pre-color: @gray-dark; |
@pre-border-color: #ccc; |
@pre-scrollable-max-height: 340px; |
|
|
//== Type |
// |
//## |
|
//** Text muted color |
@text-muted: @gray-light; |
//** Abbreviations and acronyms border color |
@abbr-border-color: @gray-light; |
//** Headings small color |
@headings-small-color: @gray-light; |
//** Blockquote small color |
@blockquote-small-color: @gray-light; |
//** Blockquote font size |
@blockquote-font-size: (@font-size-base * 1.25); |
//** Blockquote border color |
@blockquote-border-color: @gray-lighter; |
//** Page header border color |
@page-header-border-color: @gray-lighter; |
|
|
//== Miscellaneous |
// |
//## |
|
//** Horizontal line color. |
@hr-border: @gray-lighter; |
|
//** Horizontal offset for forms and lists. |
@component-offset-horizontal: 180px; |