diff options
| author | 2015-07-08 07:35:06 -0300 | |
|---|---|---|
| committer | 2015-07-08 07:35:06 -0300 | |
| commit | 055d72d76b44b0e627c8a17c48dbecd62e44197b (patch) | |
| tree | e2c8d5475477c46115461fe9547c1ee797873635 /bower_components/bootstrap/less | |
| parent | 61f3aad02cd6492cb38e41b66f2ed8ec56e98981 (diff) | |
| parent | b0b24795b24ee6809397fbbadf42f31f310a219f (diff) | |
Merge tag 'upstream/7.6.0'
Upstream version 7.6.0
Diffstat (limited to 'bower_components/bootstrap/less')
52 files changed, 1069 insertions, 408 deletions
diff --git a/bower_components/bootstrap/less/.csscomb.json b/bower_components/bootstrap/less/.csscomb.json new file mode 100644 index 0000000..40695a4 --- /dev/null +++ b/bower_components/bootstrap/less/.csscomb.json @@ -0,0 +1,304 @@ +{ + "always-semicolon": true, + "block-indent": 2, + "color-case": "lower", + "color-shorthand": true, + "element-case": "lower", + "eof-newline": true, + "leading-zero": false, + "remove-empty-rulesets": true, + "space-after-colon": 1, + "space-after-combinator": 1, + "space-before-selector-delimiter": 0, + "space-between-declarations": "\n", + "space-after-opening-brace": "\n", + "space-before-closing-brace": "\n", + "space-before-colon": 0, + "space-before-combinator": 1, + "space-before-opening-brace": 1, + "strip-spaces": true, + "unitless-zero": true, + "vendor-prefix-align": true, + "sort-order": [ + [ + "position", + "top", + "right", + "bottom", + "left", + "z-index", + "display", + "float", + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "-webkit-box-sizing", + "-moz-box-sizing", + "box-sizing", + "-webkit-appearance", + "padding", + "padding-top", + "padding-right", + "padding-bottom", + "padding-left", + "margin", + "margin-top", + "margin-right", + "margin-bottom", + "margin-left", + "overflow", + "overflow-x", + "overflow-y", + "-webkit-overflow-scrolling", + "-ms-overflow-x", + "-ms-overflow-y", + "-ms-overflow-style", + "clip", + "clear", + "font", + "font-family", + "font-size", + "font-style", + "font-weight", + "font-variant", + "font-size-adjust", + "font-stretch", + "font-effect", + "font-emphasize", + "font-emphasize-position", + "font-emphasize-style", + "font-smooth", + "-webkit-hyphens", + "-moz-hyphens", + "hyphens", + "line-height", + "color", + "text-align", + "-webkit-text-align-last", + "-moz-text-align-last", + "-ms-text-align-last", + "text-align-last", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-style", + "text-emphasis-position", + "text-decoration", + "text-indent", + "text-justify", + "text-outline", + "-ms-text-overflow", + "text-overflow", + "text-overflow-ellipsis", + "text-overflow-mode", + "text-shadow", + "text-transform", + "text-wrap", + "-webkit-text-size-adjust", + "-ms-text-size-adjust", + "letter-spacing", + "-ms-word-break", + "word-break", + "word-spacing", + "-ms-word-wrap", + "word-wrap", + "-moz-tab-size", + "-o-tab-size", + "tab-size", + "white-space", + "vertical-align", + "list-style", + "list-style-position", + "list-style-type", + "list-style-image", + "pointer-events", + "-ms-touch-action", + "touch-action", + "cursor", + "visibility", + "zoom", + "flex-direction", + "flex-order", + "flex-pack", + "flex-align", + "table-layout", + "empty-cells", + "caption-side", + "border-spacing", + "border-collapse", + "content", + "quotes", + "counter-reset", + "counter-increment", + "resize", + "-webkit-user-select", + "-moz-user-select", + "-ms-user-select", + "-o-user-select", + "user-select", + "nav-index", + "nav-up", + "nav-right", + "nav-down", + "nav-left", + "background", + "background-color", + "background-image", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.gradient", + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader", + "filter", + "background-repeat", + "background-attachment", + "background-position", + "background-position-x", + "background-position-y", + "-webkit-background-clip", + "-moz-background-clip", + "background-clip", + "background-origin", + "-webkit-background-size", + "-moz-background-size", + "-o-background-size", + "background-size", + "border", + "border-color", + "border-style", + "border-width", + "border-top", + "border-top-color", + "border-top-style", + "border-top-width", + "border-right", + "border-right-color", + "border-right-style", + "border-right-width", + "border-bottom", + "border-bottom-color", + "border-bottom-style", + "border-bottom-width", + "border-left", + "border-left-color", + "border-left-style", + "border-left-width", + "border-radius", + "border-top-left-radius", + "border-top-right-radius", + "border-bottom-right-radius", + "border-bottom-left-radius", + "-webkit-border-image", + "-moz-border-image", + "-o-border-image", + "border-image", + "-webkit-border-image-source", + "-moz-border-image-source", + "-o-border-image-source", + "border-image-source", + "-webkit-border-image-slice", + "-moz-border-image-slice", + "-o-border-image-slice", + "border-image-slice", + "-webkit-border-image-width", + "-moz-border-image-width", + "-o-border-image-width", + "border-image-width", + "-webkit-border-image-outset", + "-moz-border-image-outset", + "-o-border-image-outset", + "border-image-outset", + "-webkit-border-image-repeat", + "-moz-border-image-repeat", + "-o-border-image-repeat", + "border-image-repeat", + "outline", + "outline-width", + "outline-style", + "outline-color", + "outline-offset", + "-webkit-box-shadow", + "-moz-box-shadow", + "box-shadow", + "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity", + "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha", + "opacity", + "-ms-interpolation-mode", + "-webkit-transition", + "-moz-transition", + "-ms-transition", + "-o-transition", + "transition", + "-webkit-transition-delay", + "-moz-transition-delay", + "-ms-transition-delay", + "-o-transition-delay", + "transition-delay", + "-webkit-transition-timing-function", + "-moz-transition-timing-function", + "-ms-transition-timing-function", + "-o-transition-timing-function", + "transition-timing-function", + "-webkit-transition-duration", + "-moz-transition-duration", + "-ms-transition-duration", + "-o-transition-duration", + "transition-duration", + "-webkit-transition-property", + "-moz-transition-property", + "-ms-transition-property", + "-o-transition-property", + "transition-property", + "-webkit-transform", + "-moz-transform", + "-ms-transform", + "-o-transform", + "transform", + "-webkit-transform-origin", + "-moz-transform-origin", + "-ms-transform-origin", + "-o-transform-origin", + "transform-origin", + "-webkit-animation", + "-moz-animation", + "-ms-animation", + "-o-animation", + "animation", + "-webkit-animation-name", + "-moz-animation-name", + "-ms-animation-name", + "-o-animation-name", + "animation-name", + "-webkit-animation-duration", + "-moz-animation-duration", + "-ms-animation-duration", + "-o-animation-duration", + "animation-duration", + "-webkit-animation-play-state", + "-moz-animation-play-state", + "-ms-animation-play-state", + "-o-animation-play-state", + "animation-play-state", + "-webkit-animation-timing-function", + "-moz-animation-timing-function", + "-ms-animation-timing-function", + "-o-animation-timing-function", + "animation-timing-function", + "-webkit-animation-delay", + "-moz-animation-delay", + "-ms-animation-delay", + "-o-animation-delay", + "animation-delay", + "-webkit-animation-iteration-count", + "-moz-animation-iteration-count", + "-ms-animation-iteration-count", + "-o-animation-iteration-count", + "animation-iteration-count", + "-webkit-animation-direction", + "-moz-animation-direction", + "-ms-animation-direction", + "-o-animation-direction", + "animation-direction" + ] + ] +} diff --git a/bower_components/bootstrap/less/.csslintrc b/bower_components/bootstrap/less/.csslintrc new file mode 100644 index 0000000..005b862 --- /dev/null +++ b/bower_components/bootstrap/less/.csslintrc @@ -0,0 +1,19 @@ +{ + "adjoining-classes": false, + "box-sizing": false, + "box-model": false, + "compatible-vendor-prefixes": false, + "floats": false, + "font-sizes": false, + "gradients": false, + "important": false, + "known-properties": false, + "outline-none": false, + "qualified-headings": false, + "regex-selectors": false, + "shorthand": false, + "text-indent": false, + "unique-headings": false, + "universal-selector": false, + "unqualified-attributes": false +} diff --git a/bower_components/bootstrap/less/alerts.less b/bower_components/bootstrap/less/alerts.less index df070b8..c4199db 100644 --- a/bower_components/bootstrap/less/alerts.less +++ b/bower_components/bootstrap/less/alerts.less @@ -18,6 +18,7 @@ // Specified for the h4 to prevent conflicts of changing @headings-color color: inherit; } + // Provide class for links that match alerts .alert-link { font-weight: @alert-link-font-weight; @@ -28,6 +29,7 @@ > ul { margin-bottom: 0; } + > p + p { margin-top: 5px; } @@ -57,12 +59,15 @@ .alert-success { .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); } + .alert-info { .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); } + .alert-warning { .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); } + .alert-danger { .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); } diff --git a/bower_components/bootstrap/less/badges.less b/bower_components/bootstrap/less/badges.less index 20624f3..6ee16dc 100644 --- a/bower_components/bootstrap/less/badges.less +++ b/bower_components/bootstrap/less/badges.less @@ -12,7 +12,7 @@ font-weight: @badge-font-weight; color: @badge-color; line-height: @badge-line-height; - vertical-align: baseline; + vertical-align: middle; white-space: nowrap; text-align: center; background-color: @badge-bg; @@ -28,7 +28,9 @@ position: relative; top: -1px; } - .btn-xs & { + + .btn-xs &, + .btn-group-xs > .btn & { top: 0; padding: 1px 5px; } @@ -44,11 +46,20 @@ } // Account for badges in navs - a.list-group-item.active > &, + .list-group-item.active > &, .nav-pills > .active > a > & { color: @badge-active-color; background-color: @badge-active-bg; } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + .nav-pills > li > a > & { margin-left: 3px; } diff --git a/bower_components/bootstrap/less/bootstrap.less b/bower_components/bootstrap/less/bootstrap.less index 61b7747..4b9916e 100644 --- a/bower_components/bootstrap/less/bootstrap.less +++ b/bower_components/bootstrap/less/bootstrap.less @@ -1,3 +1,9 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + // Core variables and mixins @import "variables.less"; @import "mixins.less"; diff --git a/bower_components/bootstrap/less/button-groups.less b/bower_components/bootstrap/less/button-groups.less index 7021ecd..6a0c5a8 100644 --- a/bower_components/bootstrap/less/button-groups.less +++ b/bower_components/bootstrap/less/button-groups.less @@ -18,10 +18,6 @@ &.active { z-index: 2; } - &:focus { - // Remove focus outline when dropdown JS adds it after closing the menu - outline: 0; - } } } @@ -40,6 +36,7 @@ margin-left: -5px; // Offset the first child's margin &:extend(.clearfix all); + .btn, .btn-group, .input-group { float: left; @@ -75,13 +72,13 @@ .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } -.btn-group > .btn-group:first-child { +.btn-group > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { .border-right-radius(0); } } -.btn-group > .btn-group:last-child > .btn:first-child { +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { .border-left-radius(0); } @@ -176,11 +173,11 @@ border-radius: 0; } &:first-child:not(:last-child) { - border-top-right-radius: @border-radius-base; + border-top-right-radius: @btn-border-radius-base; .border-bottom-radius(0); } &:last-child:not(:first-child) { - border-bottom-left-radius: @border-radius-base; + border-bottom-left-radius: @btn-border-radius-base; .border-top-radius(0); } } @@ -198,7 +195,6 @@ } - // Justified button groups // ---------------------- @@ -226,15 +222,23 @@ // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `opacity`. We cannot -// use `display: none;` or `visibility: hidden;` as that also hides the popover. +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. // This way, we ensure a DOM element is visible to position the popover from. // -// See https://github.com/twbs/bootstrap/pull/12794 for more. +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - .opacity(0); +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } } diff --git a/bower_components/bootstrap/less/buttons.less b/bower_components/bootstrap/less/buttons.less index 492bdc6..9cbb8f4 100644 --- a/bower_components/bootstrap/less/buttons.less +++ b/bower_components/bootstrap/less/buttons.less @@ -12,23 +12,26 @@ font-weight: @btn-font-weight; text-align: center; vertical-align: middle; + touch-action: manipulation; cursor: pointer; background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 border: 1px solid transparent; white-space: nowrap; - .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base); .user-select(none); &, &:active, &.active { - &:focus { + &:focus, + &.focus { .tab-focus(); } } &:hover, - &:focus { + &:focus, + &.focus { color: @btn-default-color; text-decoration: none; } @@ -43,11 +46,17 @@ &.disabled, &[disabled], fieldset[disabled] & { - cursor: not-allowed; - pointer-events: none; // Future-proof disabling of clicks + cursor: @cursor-disabled; .opacity(.65); .box-shadow(none); } + + a& { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `<a>` elements + } + } } @@ -85,11 +94,11 @@ .btn-link { color: @link-color; font-weight: normal; - cursor: pointer; border-radius: 0; &, &:active, + &.active, &[disabled], fieldset[disabled] & { background-color: transparent; @@ -104,7 +113,7 @@ &:hover, &:focus { color: @link-hover-color; - text-decoration: underline; + text-decoration: @link-hover-decoration; background-color: transparent; } &[disabled], @@ -123,14 +132,14 @@ .btn-lg { // line-height: ensure even-numbered height of button next to large input - .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large); } .btn-sm { // line-height: ensure proper height of button next to small input - .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); } .btn-xs { - .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); } diff --git a/bower_components/bootstrap/less/carousel.less b/bower_components/bootstrap/less/carousel.less index 1644ddf..87ed696 100644 --- a/bower_components/bootstrap/less/carousel.less +++ b/bower_components/bootstrap/less/carousel.less @@ -24,6 +24,30 @@ &:extend(.img-responsive); line-height: 1; } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + .transition-transform(~'0.6s ease-in-out'); + .backface-visibility(~'hidden'); + .perspective(1000px); + + &.next, + &.active.right { + .translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + .translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + .translate3d(0, 0, 0); + left: 0; + } + } } > .active, @@ -106,6 +130,7 @@ .glyphicon-chevron-right { position: absolute; top: 50%; + margin-top: -10px; z-index: 5; display: inline-block; } @@ -123,7 +148,7 @@ .icon-next { width: 20px; height: 20px; - margin-top: -10px; + line-height: 1; font-family: serif; } @@ -171,6 +196,7 @@ // Internet Explorer 8-9 does not support clicks on elements without a set // `background-color`. We cannot use `filter` since that's not viewed as a // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer // // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we // set alpha transparency for the best results possible. diff --git a/bower_components/bootstrap/less/close.less b/bower_components/bootstrap/less/close.less index 9b4e74f..6d5bfe0 100644 --- a/bower_components/bootstrap/less/close.less +++ b/bower_components/bootstrap/less/close.less @@ -23,6 +23,7 @@ // Additional properties for button version // iOS requires the button element instead of an anchor tag. // If you want the anchor version, it requires `href="#"`. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile button& { padding: 0; cursor: pointer; diff --git a/bower_components/bootstrap/less/code.less b/bower_components/bootstrap/less/code.less index baa13df..a08b4d4 100644 --- a/bower_components/bootstrap/less/code.less +++ b/bower_components/bootstrap/less/code.less @@ -32,6 +32,7 @@ kbd { kbd { padding: 0; font-size: 100%; + font-weight: bold; box-shadow: none; } } diff --git a/bower_components/bootstrap/less/component-animations.less b/bower_components/bootstrap/less/component-animations.less index 9400a0d..0bcee91 100644 --- a/bower_components/bootstrap/less/component-animations.less +++ b/bower_components/bootstrap/less/component-animations.less @@ -27,5 +27,7 @@ position: relative; height: 0; overflow: hidden; - .transition(height .35s ease); + .transition-property(~"height, visibility"); + .transition-duration(.35s); + .transition-timing-function(ease); } diff --git a/bower_components/bootstrap/less/dropdowns.less b/bower_components/bootstrap/less/dropdowns.less index 3eb7fc0..f6876c1 100644 --- a/bower_components/bootstrap/less/dropdowns.less +++ b/bower_components/bootstrap/less/dropdowns.less @@ -10,12 +10,14 @@ height: 0; margin-left: 2px; vertical-align: middle; - border-top: @caret-width-base solid; + border-top: @caret-width-base dashed; + border-top: @caret-width-base solid ~"\9"; // IE8 border-right: @caret-width-base solid transparent; border-left: @caret-width-base solid transparent; } // The dropdown wrapper (div) +.dropup, .dropdown { position: relative; } @@ -103,16 +105,15 @@ &:focus { color: @dropdown-link-disabled-color; } -} -// Nuke hover/focus effects -.dropdown-menu > .disabled > a { + + // Nuke hover/focus effects &:hover, &:focus { text-decoration: none; background-color: transparent; background-image: none; // Remove CSS gradient .reset-filter(); - cursor: not-allowed; + cursor: @cursor-disabled; } } @@ -184,14 +185,15 @@ // Reverse the caret .caret { border-top: 0; - border-bottom: @caret-width-base solid; + border-bottom: @caret-width-base dashed; + border-bottom: @caret-width-base solid ~"\9"; // IE8 content: ""; } // Different positioning for bottom up menu .dropdown-menu { top: auto; bottom: 100%; - margin-bottom: 1px; + margin-bottom: 2px; } } @@ -212,4 +214,3 @@ } } } - diff --git a/bower_components/bootstrap/less/forms.less b/bower_components/bootstrap/less/forms.less index 2c5e9bf..b064ede 100644 --- a/bower_components/bootstrap/less/forms.less +++ b/bower_components/bootstrap/less/forms.less @@ -56,7 +56,6 @@ input[type="checkbox"] { line-height: normal; } -// Set the height of file controls to match text inputs input[type="file"] { display: block; } @@ -123,7 +122,7 @@ output { 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; + border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS. .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); @@ -141,9 +140,13 @@ output { &[disabled], &[readonly], fieldset[disabled] & { - cursor: not-allowed; background-color: @input-bg-disabled; - opacity: 1; // iOS fix for unreadable disabled content + opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655 + } + + &[disabled], + fieldset[disabled] & { + cursor: @cursor-disabled; } // Reset height for `textarea`s @@ -168,24 +171,30 @@ input[type="search"] { // Special styles for iOS temporal inputs // // In Mobile Safari, setting `display: block` on temporal inputs causes the -// text within the input to become vertically misaligned. -// As a workaround, we set a pixel line-height that matches the -// given height of the input. Since this fucks up everything else, we have to -// appropriately reset it for Internet Explorer and the size variations. - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: @input-height-base; - // IE8+ misaligns the text within date inputs, so we reset - line-height: @line-height-base ~"\0"; +// text within the input to become vertically misaligned. As a workaround, we +// set a pixel line-height that matches the given height of the input, but only +// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848 +// +// Note that as of 8.3, iOS doesn't support `datetime` or `week`. + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + &.form-control { + line-height: @input-height-base; + } - &.input-sm { - line-height: @input-height-small; - } - &.input-lg { - line-height: @input-height-large; + &.input-sm, + .input-group-sm & { + line-height: @input-height-small; + } + + &.input-lg, + .input-group-lg & { + line-height: @input-height-large; + } } } @@ -196,7 +205,7 @@ input[type="month"] { // horizontal forms, use the predefined grid classes. .form-group { - margin-bottom: 15px; + margin-bottom: @form-group-margin-bottom; } @@ -208,11 +217,11 @@ input[type="month"] { .checkbox { position: relative; display: block; - min-height: @line-height-computed; // clear the floating input if there is no label text margin-top: 10px; margin-bottom: 10px; label { + min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text padding-left: 20px; margin-bottom: 0; font-weight: normal; @@ -236,6 +245,7 @@ input[type="month"] { // Radios and checkboxes on same line .radio-inline, .checkbox-inline { + position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; @@ -258,7 +268,7 @@ input[type="checkbox"] { &[disabled], &.disabled, fieldset[disabled] & { - cursor: not-allowed; + cursor: @cursor-disabled; } } // These classes are used directly on <label>s @@ -266,7 +276,7 @@ input[type="checkbox"] { .checkbox-inline { &.disabled, fieldset[disabled] & { - cursor: not-allowed; + cursor: @cursor-disabled; } } // These classes are used on elements with <label> descendants @@ -275,7 +285,7 @@ input[type="checkbox"] { &.disabled, fieldset[disabled] & { label { - cursor: not-allowed; + cursor: @cursor-disabled; } } } @@ -292,6 +302,7 @@ input[type="checkbox"] { padding-bottom: (@padding-base-vertical + 1); // Remove default margin from `p` margin-bottom: 0; + min-height: (@line-height-computed + @font-size-base); &.input-lg, &.input-sm { @@ -305,13 +316,64 @@ input[type="checkbox"] { // // Build on `.form-control` with modifier classes to decrease or increase the // height and font-size of form controls. +// +// The `.form-group-* form-control` variations are sadly duplicated to avoid the +// issue documented in https://github.com/twbs/bootstrap/issues/15074. .input-sm { - .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); + .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small); +} +.form-group-sm { + .form-control { + height: @input-height-small; + padding: @padding-small-vertical @padding-small-horizontal; + font-size: @font-size-small; + line-height: @line-height-small; + border-radius: @input-border-radius-small; + } + select.form-control { + height: @input-height-small; + line-height: @input-height-small; + } + textarea.form-control, + select[multiple].form-control { + height: auto; + } + .form-control-static { + height: @input-height-small; + min-height: (@line-height-computed + @font-size-small); + padding: (@padding-small-vertical + 1) @padding-small-horizontal; + font-size: @font-size-small; + line-height: @line-height-small; + } } .input-lg { - .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); + .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large); +} +.form-group-lg { + .form-control { + height: @input-height-large; + padding: @padding-large-vertical @padding-large-horizontal; + font-size: @font-size-large; + line-height: @line-height-large; + border-radius: @input-border-radius-large; + } + select.form-control { + height: @input-height-large; + line-height: @input-height-large; + } + textarea.form-control, + select[multiple].form-control { + height: auto; + } + .form-control-static { + height: @input-height-large; + min-height: (@line-height-computed + @font-size-large); + padding: (@padding-large-vertical + 1) @padding-large-horizontal; + font-size: @font-size-large; + line-height: @line-height-large; + } } @@ -331,7 +393,7 @@ input[type="checkbox"] { // Feedback icon (requires .glyphicon classes) .form-control-feedback { position: absolute; - top: (@line-height-computed + 5); // Height of the `label` and its margin + top: 0; right: 0; z-index: 2; // Ensure icon is above input groups display: block; @@ -339,13 +401,18 @@ input[type="checkbox"] { height: @input-height-base; line-height: @input-height-base; text-align: center; + pointer-events: none; } -.input-lg + .form-control-feedback { +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { width: @input-height-large; height: @input-height-large; line-height: @input-height-large; } -.input-sm + .form-control-feedback { +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { width: @input-height-small; height: @input-height-small; line-height: @input-height-small; @@ -362,10 +429,15 @@ input[type="checkbox"] { .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg); } +// Reposition feedback icon if input has visible label above +.has-feedback label { -// Reposition feedback icon if label is hidden with "screenreader only" state -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; + & ~ .form-control-feedback { + top: (@line-height-computed + 5); // Height of the `label` and its margin + } + &.sr-only ~ .form-control-feedback { + top: 0; + } } @@ -382,7 +454,6 @@ input[type="checkbox"] { } - // Inline forms // // Make forms appear inline(-block) by adding the `.form-inline` class. Inline @@ -412,6 +483,11 @@ input[type="checkbox"] { vertical-align: middle; } + // Make static controls behave like regular ones + .form-control-static { + display: inline-block; + } + .input-group { display: inline-table; vertical-align: middle; @@ -434,8 +510,7 @@ input[type="checkbox"] { } // 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). + // then undo the floating of radios and checkboxes to match. .radio, .checkbox { display: inline-block; @@ -453,10 +528,7 @@ input[type="checkbox"] { 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. + // Re-override the feedback icon. .has-feedback .form-control-feedback { top: 0; } @@ -509,8 +581,7 @@ input[type="checkbox"] { // 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); + right: floor((@grid-gutter-width / 2)); } // Form group sizes @@ -521,20 +592,16 @@ input[type="checkbox"] { @media (min-width: @screen-sm-min) { .control-label { padding-top: ((@padding-large-vertical * @line-height-large) + 1); + font-size: @font-size-large; } } - .form-control { - &:extend(.input-lg); - } } .form-group-sm { @media (min-width: @screen-sm-min) { .control-label { padding-top: (@padding-small-vertical + 1); + font-size: @font-size-small; } } - .form-control { - &:extend(.input-sm); - } } } diff --git a/bower_components/bootstrap/less/glyphicons.less b/bower_components/bootstrap/less/glyphicons.less index d3485dc..335d80a 100644 --- a/bower_components/bootstrap/less/glyphicons.less +++ b/bower_components/bootstrap/less/glyphicons.less @@ -12,6 +12,7 @@ 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}.woff2') format('woff2'), 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'); @@ -33,7 +34,8 @@ // Individual icons .glyphicon-asterisk { &:before { content: "\2a"; } } .glyphicon-plus { &:before { content: "\2b"; } } -.glyphicon-euro { &:before { content: "\20ac"; } } +.glyphicon-euro, +.glyphicon-eur { &:before { content: "\20ac"; } } .glyphicon-minus { &:before { content: "\2212"; } } .glyphicon-cloud { &:before { content: "\2601"; } } .glyphicon-envelope { &:before { content: "\2709"; } } @@ -231,3 +233,73 @@ .glyphicon-cloud-upload { &:before { content: "\e198"; } } .glyphicon-tree-conifer { &:before { content: "\e199"; } } .glyphicon-tree-deciduous { &:before { content: "\e200"; } } +.glyphicon-cd { &:before { content: "\e201"; } } +.glyphicon-save-file { &:before { content: "\e202"; } } +.glyphicon-open-file { &:before { content: "\e203"; } } +.glyphicon-level-up { &:before { content: "\e204"; } } +.glyphicon-copy { &:before { content: "\e205"; } } +.glyphicon-paste { &:before { content: "\e206"; } } +// The following 2 Glyphicons are omitted for the time being because +// they currently use Unicode codepoints that are outside the +// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle +// non-BMP codepoints in CSS string escapes, and thus can't display these two icons. +// Notably, the bug affects some older versions of the Android Browser. +// More info: https://github.com/twbs/bootstrap/issues/10106 +// .glyphicon-door { &:before { content: "\1f6aa"; } } +// .glyphicon-key { &:before { content: "\1f511"; } } +.glyphicon-alert { &:before { content: "\e209"; } } +.glyphicon-equalizer { &:before { content: "\e210"; } } +.glyphicon-king { &:before { content: "\e211"; } } +.glyphicon-queen { &:before { content: "\e212"; } } +.glyphicon-pawn { &:before { content: "\e213"; } } +.glyphicon-bishop { &:before { content: "\e214"; } } +.glyphicon-knight { &:before { content: "\e215"; } } +.glyphicon-baby-formula { &:before { content: "\e216"; } } +.glyphicon-tent { &:before { content: "\26fa"; } } +.glyphicon-blackboard { &:before { content: "\e218"; } } +.glyphicon-bed { &:before { content: "\e219"; } } +.glyphicon-apple { &:before { content: "\f8ff"; } } +.glyphicon-erase { &:before { content: "\e221"; } } +.glyphicon-hourglass { &:before { content: "\231b"; } } +.glyphicon-lamp { &:before { content: "\e223"; } } +.glyphicon-duplicate { &:before { content: "\e224"; } } +.glyphicon-piggy-bank { &:before { content: "\e225"; } } +.glyphicon-scissors { &:before { content: "\e226"; } } +.glyphicon-bitcoin { &:before { content: "\e227"; } } +.glyphicon-btc { &:before { content: "\e227"; } } +.glyphicon-xbt { &:before { content: "\e227"; } } +.glyphicon-yen { &:before { content: "\00a5"; } } +.glyphicon-jpy { &:before { content: "\00a5"; } } +.glyphicon-ruble { &:before { content: "\20bd"; } } +.glyphicon-rub { &:before { content: "\20bd"; } } +.glyphicon-scale { &:before { content: "\e230"; } } +.glyphicon-ice-lolly { &:before { content: "\e231"; } } +.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } +.glyphicon-education { &:before { content: "\e233"; } } +.glyphicon-option-horizontal { &:before { content: "\e234"; } } +.glyphicon-option-vertical { &:before { content: "\e235"; } } +.glyphicon-menu-hamburger { &:before { content: "\e236"; } } +.glyphicon-modal-window { &:before { content: "\e237"; } } +.glyphicon-oil { &:before { content: "\e238"; } } +.glyphicon-grain { &:before { content: "\e239"; } } +.glyphicon-sunglasses { &:before { content: "\e240"; } } +.glyphicon-text-size { &:before { content: "\e241"; } } +.glyphicon-text-color { &:before { content: "\e242"; } } +.glyphicon-text-background { &:before { content: "\e243"; } } +.glyphicon-object-align-top { &:before { content: "\e244"; } } +.glyphicon-object-align-bottom { &:before { content: "\e245"; } } +.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } } +.glyphicon-object-align-left { &:before { content: "\e247"; } } +.glyphicon-object-align-vertical { &:before { content: "\e248"; } } +.glyphicon-object-align-right { &:before { content: "\e249"; } } +.glyphicon-triangle-right { &:before { content: "\e250"; } } +.glyphicon-triangle-left { &:before { content: "\e251"; } } +.glyphicon-triangle-bottom { &:before { content: "\e252"; } } +.glyphicon-triangle-top { &:before { content: "\e253"; } } +.glyphicon-console { &:before { content: "\e254"; } } +.glyphicon-superscript { &:before { content: "\e255"; } } +.glyphicon-subscript { &:before { content: "\e256"; } } +.glyphicon-menu-left { &:before { content: "\e257"; } } +.glyphicon-menu-right { &:before { content: "\e258"; } } +.glyphicon-menu-down { &:before { content: "\e259"; } } +.glyphicon-menu-up { &:before { content: "\e260"; } } diff --git a/bower_components/bootstrap/less/input-groups.less b/bower_components/bootstrap/less/input-groups.less index a8712f2..457ea60 100644 --- a/bower_components/bootstrap/less/input-groups.less +++ b/bower_components/bootstrap/less/input-groups.less @@ -160,6 +160,7 @@ &:last-child { > .btn, > .btn-group { + z-index: 2; margin-left: -1px; } } diff --git a/bower_components/bootstrap/less/jumbotron.less b/bower_components/bootstrap/less/jumbotron.less index 27cd8b8..fa80a38 100644 --- a/bower_components/bootstrap/less/jumbotron.less +++ b/bower_components/bootstrap/less/jumbotron.less @@ -4,7 +4,8 @@ .jumbotron { - padding: @jumbotron-padding; + padding-top: @jumbotron-padding; + padding-bottom: @jumbotron-padding; margin-bottom: @jumbotron-padding; color: @jumbotron-color; background-color: @jumbotron-bg; @@ -13,6 +14,7 @@ .h1 { color: @jumbotron-heading-color; } + p { margin-bottom: (@jumbotron-padding / 2); font-size: @jumbotron-font-size; @@ -23,7 +25,8 @@ border-top-color: darken(@jumbotron-bg, 10%); } - .container & { + .container &, + .container-fluid & { border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container } @@ -35,14 +38,15 @@ padding-top: (@jumbotron-padding * 1.6); padding-bottom: (@jumbotron-padding * 1.6); - .container & { + .container &, + .container-fluid & { padding-left: (@jumbotron-padding * 2); padding-right: (@jumbotron-padding * 2); } h1, .h1 { - font-size: (@font-size-base * 4.5); + font-size: @jumbotron-heading-font-size; } } } diff --git a/bower_components/bootstrap/less/list-group.less b/bower_components/bootstrap/less/list-group.less index 1946bf5..216b912 100644 --- a/bower_components/bootstrap/less/list-group.less +++ b/bower_components/bootstrap/less/list-group.less @@ -35,23 +35,16 @@ margin-bottom: 0; .border-bottom-radius(@list-group-border-radius); } - - // Align badges within list items - > .badge { - float: right; - } - > .badge + .badge { - margin-right: 5px; - } } -// Linked list items +// Interactive list items // -// Use anchor elements instead of `li`s or `div`s to create linked list items. +// Use anchor or button elements instead of `li`s or `div`s to create interactive items. // Includes an extra `.active` modifier class for showing selected items. -a.list-group-item { +a.list-group-item, +button.list-group-item { color: @list-group-link-color; .list-group-item-heading { @@ -67,6 +60,11 @@ a.list-group-item { } } +button.list-group-item { + width: 100%; + text-align: left; +} + .list-group-item { // Disabled state &.disabled, @@ -74,6 +72,7 @@ a.list-group-item { &.disabled:focus { background-color: @list-group-disabled-bg; color: @list-group-disabled-color; + cursor: @cursor-disabled; // Force color to inherit for custom content .list-group-item-heading { diff --git a/bower_components/bootstrap/less/media.less b/bower_components/bootstrap/less/media.less index 5ad22cd..8c835e8 100644 --- a/bower_components/bootstrap/less/media.less +++ b/bower_components/bootstrap/less/media.less @@ -1,54 +1,64 @@ -// Media objects -// Source: http://stubbornella.org/content/?p=497 -// -------------------------------------------------- - +.media { + // Proper spacing between instances of .media + margin-top: 15px; -// Common styles -// ------------------------- + &:first-child { + margin-top: 0; + } +} -// Clear the floats .media, .media-body { - overflow: hidden; zoom: 1; + overflow: hidden; } -// Proper spacing between instances of .media -.media, -.media .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; +.media-body { + width: 10000px; } -// For images and videos, set to block .media-object { display: block; + + // Fix collapse in webkit from max-width: 100% and display: table-cell. + &.img-thumbnail { + max-width: none; + } } -// Reset margins on headings for tighter default spacing -.media-heading { - margin: 0 0 5px; +.media-right, +.media > .pull-right { + padding-left: 10px; } +.media-left, +.media > .pull-left { + padding-right: 10px; +} -// Media image alignment -// ------------------------- +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} -.media { - > .pull-left { - margin-right: 10px; - } - > .pull-right { - margin-left: 10px; - } +.media-middle { + vertical-align: middle; } +.media-bottom { + vertical-align: bottom; +} -// Media list variation -// ------------------------- +// Reset margins on headings for tighter default spacing +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +// Media list variation +// // Undo default ul/ol styles .media-list { padding-left: 0; diff --git a/bower_components/bootstrap/less/mixins.less b/bower_components/bootstrap/less/mixins.less index af4408f..e6f9fe6 100644 --- a/bower_components/bootstrap/less/mixins.less +++ b/bower_components/bootstrap/less/mixins.less @@ -11,6 +11,7 @@ @import "mixins/responsive-visibility.less"; @import "mixins/size.less"; @import "mixins/tab-focus.less"; +@import "mixins/reset-text.less"; @import "mixins/text-emphasis.less"; @import "mixins/text-overflow.less"; @import "mixins/vendor-prefixes.less"; diff --git a/bower_components/bootstrap/less/mixins/background-variant.less b/bower_components/bootstrap/less/mixins/background-variant.less index 556e490..a85c22b 100644 --- a/bower_components/bootstrap/less/mixins/background-variant.less +++ b/bower_components/bootstrap/less/mixins/background-variant.less @@ -2,7 +2,8 @@ .bg-variant(@color) { background-color: @color; - a&:hover { + a&:hover, + a&:focus { background-color: darken(@color, 10%); } } diff --git a/bower_components/bootstrap/less/mixins/buttons.less b/bower_components/bootstrap/less/mixins/buttons.less index 409f8f2..6875a97 100644 --- a/bower_components/bootstrap/less/mixins/buttons.less +++ b/bower_components/bootstrap/less/mixins/buttons.less @@ -8,14 +8,31 @@ background-color: @background; border-color: @border; - &:hover, &:focus, + &.focus { + color: @color; + background-color: darken(@background, 10%); + border-color: darken(@border, 25%); + } + &:hover { + color: @color; + background-color: darken(@background, 10%); + border-color: darken(@border, 12%); + } &:active, &.active, .open > .dropdown-toggle& { color: @color; background-color: darken(@background, 10%); border-color: darken(@border, 12%); + + &:hover, + &:focus, + &.focus { + color: @color; + background-color: darken(@background, 17%); + border-color: darken(@border, 25%); + } } &:active, &.active, @@ -28,6 +45,7 @@ &, &:hover, &:focus, + &.focus, &:active, &.active { background-color: @background; diff --git a/bower_components/bootstrap/less/mixins/forms.less b/bower_components/bootstrap/less/mixins/forms.less index e36c4a8..6f55ed9 100644 --- a/bower_components/bootstrap/less/mixins/forms.less +++ b/bower_components/bootstrap/less/mixins/forms.less @@ -10,7 +10,11 @@ .radio, .checkbox, .radio-inline, - .checkbox-inline { + .checkbox-inline, + &.radio label, + &.checkbox label, + &.radio-inline label, + &.checkbox-inline label { color: @text-color; } // Set the border and box shadow on specific inputs to match diff --git a/bower_components/bootstrap/less/mixins/grid-framework.less b/bower_components/bootstrap/less/mixins/grid-framework.less index 6317854..8c23eed 100644 --- a/bower_components/bootstrap/less/mixins/grid-framework.less +++ b/bower_components/bootstrap/less/mixins/grid-framework.less @@ -5,7 +5,7 @@ .make-grid-columns() { // Common styles for all sizes of grid columns, widths 1-12 - .col(@index) when (@index = 1) { // initial + .col(@index) { // initial @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; .col((@index + 1), @item); } @@ -19,15 +19,15 @@ // 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); + padding-left: ceil((@grid-gutter-width / 2)); + padding-right: floor((@grid-gutter-width / 2)); } } .col(1); // kickstart it } .float-grid-columns(@class) { - .col(@index) when (@index = 1) { // initial + .col(@index) { // initial @item: ~".col-@{class}-@{index}"; .col((@index + 1), @item); } diff --git a/bower_components/bootstrap/less/mixins/grid.less b/bower_components/bootstrap/less/mixins/grid.less index cae5eaf..f144c15 100644 --- a/bower_components/bootstrap/less/mixins/grid.less +++ b/bower_components/bootstrap/less/mixins/grid.less @@ -13,8 +13,8 @@ // Creates a wrapper for a series of columns .make-row(@gutter: @grid-gutter-width) { - margin-left: (@gutter / -2); - margin-right: (@gutter / -2); + margin-left: ceil((@gutter / -2)); + margin-right: floor((@gutter / -2)); &:extend(.clearfix all); } diff --git a/bower_components/bootstrap/less/mixins/hide-text.less b/bower_components/bootstrap/less/mixins/hide-text.less index c2315e5..bc70118 100644 --- a/bower_components/bootstrap/less/mixins/hide-text.less +++ b/bower_components/bootstrap/less/mixins/hide-text.less @@ -1,6 +1,6 @@ // CSS image replacement // -// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for +// Heads up! v3 launched 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()`. // diff --git a/bower_components/bootstrap/less/mixins/image.less b/bower_components/bootstrap/less/mixins/image.less index 5d2cccb..f233cb3 100644 --- a/bower_components/bootstrap/less/mixins/image.less +++ b/bower_components/bootstrap/less/mixins/image.less @@ -8,7 +8,6 @@ // Keep images from scaling beyond the width of their parents. .img-responsive(@display: block) { display: @display; - width: 100% \9; // Force IE10 and below to size SVG images correctly 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 } diff --git a/bower_components/bootstrap/less/mixins/labels.less b/bower_components/bootstrap/less/mixins/labels.less index 6f9e490..9f7a67e 100644 --- a/bower_components/bootstrap/less/mixins/labels.less +++ b/bower_components/bootstrap/less/mixins/labels.less @@ -2,7 +2,7 @@ .label-variant(@color) { background-color: @color; - + &[href] { &:hover, &:focus { diff --git a/bower_components/bootstrap/less/mixins/list-group.less b/bower_components/bootstrap/less/mixins/list-group.less index 8b5b065..03aa190 100644 --- a/bower_components/bootstrap/less/mixins/list-group.less +++ b/bower_components/bootstrap/less/mixins/list-group.less @@ -5,7 +5,8 @@ color: @color; background-color: @background; - a& { + a&, + button& { color: @color; .list-group-item-heading { diff --git a/bower_components/bootstrap/less/mixins/pagination.less b/bower_components/bootstrap/less/mixins/pagination.less index 7deb505..618804f 100644 --- a/bower_components/bootstrap/less/mixins/pagination.less +++ b/bower_components/bootstrap/less/mixins/pagination.less @@ -1,11 +1,12 @@ // Pagination -.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) { +.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { > li { > a, > span { padding: @padding-vertical @padding-horizontal; font-size: @font-size; + line-height: @line-height; } &:first-child { > a, diff --git a/bower_components/bootstrap/less/mixins/reset-text.less b/bower_components/bootstrap/less/mixins/reset-text.less new file mode 100644 index 0000000..58dd4d1 --- /dev/null +++ b/bower_components/bootstrap/less/mixins/reset-text.less @@ -0,0 +1,18 @@ +.reset-text() { + font-family: @font-family-base; + // We deliberately do NOT reset font-size. + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: @line-height-base; + text-align: left; // Fallback for where `start` is not supported + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; +} diff --git a/bower_components/bootstrap/less/mixins/responsive-visibility.less b/bower_components/bootstrap/less/mixins/responsive-visibility.less index f7951c3..ecf1e97 100644 --- a/bower_components/bootstrap/less/mixins/responsive-visibility.less +++ b/bower_components/bootstrap/less/mixins/responsive-visibility.less @@ -4,7 +4,7 @@ // More easily include all the states for responsive-utilities.less. .responsive-visibility() { display: block !important; - table& { display: table; } + table& { display: table !important; } tr& { display: table-row !important; } th&, td& { display: table-cell !important; } diff --git a/bower_components/bootstrap/less/mixins/text-emphasis.less b/bower_components/bootstrap/less/mixins/text-emphasis.less index 0868ef9..9e8a77a 100644 --- a/bower_components/bootstrap/less/mixins/text-emphasis.less +++ b/bower_components/bootstrap/less/mixins/text-emphasis.less @@ -2,7 +2,8 @@ .text-emphasis-variant(@color) { color: @color; - a&:hover { + a&:hover, + a&:focus { color: darken(@color, 10%); } } diff --git a/bower_components/bootstrap/less/mixins/vendor-prefixes.less b/bower_components/bootstrap/less/mixins/vendor-prefixes.less index e2008c8..afd3331 100644 --- a/bower_components/bootstrap/less/mixins/vendor-prefixes.less +++ b/bower_components/bootstrap/less/mixins/vendor-prefixes.less @@ -99,9 +99,12 @@ // 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+ + // Firefox + &::-moz-placeholder { + color: @color; + opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526 + } + &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ &::-webkit-input-placeholder { color: @color; } // Safari and Chrome } diff --git a/bower_components/bootstrap/less/modals.less b/bower_components/bootstrap/less/modals.less index 6da50ba..1de6220 100644 --- a/bower_components/bootstrap/less/modals.less +++ b/bower_components/bootstrap/less/modals.less @@ -30,10 +30,10 @@ // When fading in the modal, animate it to slide down &.fade .modal-dialog { - .translate3d(0, -25%, 0); + .translate(0, -25%); .transition-transform(~"0.3s ease-out"); } - &.in .modal-dialog { .translate3d(0, 0, 0) } + &.in .modal-dialog { .translate(0, 0) } } .modal-open .modal { overflow-x: hidden; diff --git a/bower_components/bootstrap/less/navbar.less b/bower_components/bootstrap/less/navbar.less index 55bfd29..6d751bb 100644 --- a/bower_components/bootstrap/less/navbar.less +++ b/bower_components/bootstrap/less/navbar.less @@ -92,7 +92,7 @@ .navbar-collapse { max-height: @navbar-collapse-max-height; - @media (max-width: @screen-xs-min) and (orientation: landscape) { + @media (max-device-width: @screen-xs-min) and (orientation: landscape) { max-height: 200px; } } @@ -141,7 +141,6 @@ right: 0; left: 0; z-index: @zindex-navbar-fixed; - .translate3d(0, 0, 0); // Undo the rounded corners @media (min-width: @grid-float-breakpoint) { @@ -173,6 +172,10 @@ text-decoration: none; } + > img { + display: block; + } + @media (min-width: @grid-float-breakpoint) { .navbar > .container &, .navbar > .container-fluid & { @@ -271,26 +274,10 @@ 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 @@ -311,6 +298,10 @@ .form-group { @media (max-width: @grid-float-breakpoint-max) { margin-bottom: 5px; + + &:last-child { + margin-bottom: 0; + } } } @@ -326,11 +317,6 @@ 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; - } } } @@ -344,6 +330,8 @@ } // Menu position and menu caret support for dropups via extra dropup class .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + .border-top-radius(@navbar-border-radius); .border-bottom-radius(0); } @@ -375,14 +363,31 @@ 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 { +// 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. +// +// Declared after the navbar components to ensure more specificity on the margins. + +@media (min-width: @grid-float-breakpoint) { + .navbar-left { .pull-left(); } + .navbar-right { + .pull-right(); + margin-right: -@navbar-padding-horizontal; + + ~ .navbar-right { margin-right: 0; } } } + // Alternate navbars // -------------------------------------------------- diff --git a/bower_components/bootstrap/less/navs.less b/bower_components/bootstrap/less/navs.less index 98a6430..a3d11b1 100644 --- a/bower_components/bootstrap/less/navs.less +++ b/bower_components/bootstrap/less/navs.less @@ -36,7 +36,7 @@ color: @nav-disabled-link-hover-color; text-decoration: none; background-color: transparent; - cursor: not-allowed; + cursor: @cursor-disabled; } } } diff --git a/bower_components/bootstrap/less/normalize.less b/bower_components/bootstrap/less/normalize.less index ce04b6a..9dddf73 100644 --- a/bower_components/bootstrap/less/normalize.less +++ b/bower_components/bootstrap/less/normalize.less @@ -1,9 +1,9 @@ -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ // // 1. Set default font family to sans-serif. -// 2. Prevent iOS text size adjust after orientation change, without disabling -// user zoom. +// 2. Prevent iOS and IE text size adjust after device orientation change, +// without disabling user zoom. // html { @@ -25,7 +25,8 @@ body { // // Correct `block` display not defined for any HTML5 element in IE 8/9. -// Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. +// Correct `block` display not defined for `details` or `summary` in IE 10/11 +// and Firefox. // Correct `block` display not defined for `main` in IE 11. // @@ -38,6 +39,7 @@ footer, header, hgroup, main, +menu, nav, section, summary { @@ -69,7 +71,7 @@ audio:not([controls]) { // // Address `[hidden]` styling not present in IE 8/9/10. -// Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. +// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. // [hidden], @@ -85,11 +87,12 @@ template { // a { - background: transparent; + background-color: transparent; } // -// Improve readability when focused and also mouse hovered in all browsers. +// Improve readability of focused elements when they are also in an +// active/hover state. // a:active, @@ -207,7 +210,6 @@ figure { // hr { - -moz-box-sizing: content-box; box-sizing: content-box; height: 0; } @@ -348,15 +350,12 @@ input[type="number"]::-webkit-outer-spin-button { // // 1. Address `appearance` set to `searchfield` in Safari and Chrome. -// 2. Address `box-sizing` set to `border-box` in Safari and Chrome -// (include `-moz` to future-proof). +// 2. Address `box-sizing` set to `border-box` in Safari and Chrome. // input[type="search"] { -webkit-appearance: textfield; // 1 - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; // 2 - box-sizing: content-box; + box-sizing: content-box; //2 } // diff --git a/bower_components/bootstrap/less/pager.less b/bower_components/bootstrap/less/pager.less index 59103f4..41abaaa 100644 --- a/bower_components/bootstrap/less/pager.less +++ b/bower_components/bootstrap/less/pager.less @@ -48,8 +48,7 @@ > span { color: @pager-disabled-color; background-color: @pager-bg; - cursor: not-allowed; + cursor: @cursor-disabled; } } - } diff --git a/bower_components/bootstrap/less/pagination.less b/bower_components/bootstrap/less/pagination.less index b2856ae..31a23bf 100644 --- a/bower_components/bootstrap/less/pagination.less +++ b/bower_components/bootstrap/less/pagination.less @@ -40,6 +40,7 @@ > li > span { &:hover, &:focus { + z-index: 3; color: @pagination-hover-color; background-color: @pagination-hover-bg; border-color: @pagination-hover-border; @@ -69,7 +70,7 @@ color: @pagination-disabled-color; background-color: @pagination-disabled-bg; border-color: @pagination-disabled-border; - cursor: not-allowed; + cursor: @cursor-disabled; } } } @@ -79,10 +80,10 @@ // Large .pagination-lg { - .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large); + .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); } // Small .pagination-sm { - .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small); + .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); } diff --git a/bower_components/bootstrap/less/panels.less b/bower_components/bootstrap/less/panels.less index 2dc2131..425eb5e 100644 --- a/bower_components/bootstrap/less/panels.less +++ b/bower_components/bootstrap/less/panels.less @@ -36,7 +36,11 @@ font-size: ceil((@font-size-base * 1.125)); color: inherit; - > a { + > a, + > small, + > .small, + > small > a, + > .small > a { color: inherit; } } @@ -56,7 +60,8 @@ // any kind of custom content between the two. .panel { - > .list-group { + > .list-group, + > .panel-collapse > .list-group { margin-bottom: 0; .list-group-item { @@ -71,6 +76,7 @@ .border-top-radius((@panel-border-radius - 1)); } } + // Add border bottom radius for last one &:last-child { .list-group-item:last-child { @@ -79,6 +85,11 @@ } } } + > .panel-heading + .panel-collapse > .list-group { + .list-group-item:first-child { + .border-top-radius(0); + } + } } // Collapse space between when there's no additional content. .panel-heading + .list-group { @@ -100,6 +111,11 @@ > .table-responsive > .table, > .panel-collapse > .table { margin-bottom: 0; + + caption { + padding-left: @panel-body-padding; + padding-right: @panel-body-padding; + } } // Add border top radius for first one > .table:first-child, @@ -109,6 +125,9 @@ > thead:first-child, > tbody:first-child { > tr:first-child { + border-top-left-radius: (@panel-border-radius - 1); + border-top-right-radius: (@panel-border-radius - 1); + td:first-child, th:first-child { border-top-left-radius: (@panel-border-radius - 1); @@ -128,6 +147,9 @@ > tbody:last-child, > tfoot:last-child { > tr:last-child { + border-bottom-left-radius: (@panel-border-radius - 1); + border-bottom-right-radius: (@panel-border-radius - 1); + td:first-child, th:first-child { border-bottom-left-radius: (@panel-border-radius - 1); @@ -140,7 +162,9 @@ } } > .panel-body + .table, - > .panel-body + .table-responsive { + > .panel-body + .table-responsive, + > .table + .panel-body, + > .table-responsive + .panel-body { border-top: 1px solid @table-border-color; } > .table > tbody:first-child > tr:first-child th, @@ -202,6 +226,7 @@ .panel { margin-bottom: 0; border-radius: @panel-border-radius; + + .panel { margin-top: 5px; } @@ -209,10 +234,13 @@ .panel-heading { border-bottom: 0; - + .panel-collapse > .panel-body { + + + .panel-collapse > .panel-body, + + .panel-collapse > .list-group { border-top: 1px solid @panel-inner-border; } } + .panel-footer { border-top: 0; + .panel-collapse .panel-body { diff --git a/bower_components/bootstrap/less/popovers.less b/bower_components/bootstrap/less/popovers.less index bf6af40..3a62a64 100644 --- a/bower_components/bootstrap/less/popovers.less +++ b/bower_components/bootstrap/less/popovers.less @@ -11,7 +11,11 @@ display: none; max-width: @popover-max-width; padding: 1px; - text-align: left; // Reset given new insertion method + // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); + font-size: @font-size-base; + background-color: @popover-bg; background-clip: padding-box; border: 1px solid @popover-fallback-border-color; @@ -19,9 +23,6 @@ border-radius: @border-radius-large; .box-shadow(0 5px 10px rgba(0,0,0,.2)); - // Overrides for proper insertion - white-space: normal; - // Offset the popover to account for the popover arrow &.top { margin-top: -@popover-arrow-width; } &.right { margin-left: @popover-arrow-width; } @@ -33,8 +34,6 @@ margin: 0; // reset heading margin padding: 8px 14px; font-size: @font-size-base; - font-weight: normal; - line-height: 18px; background-color: @popover-title-bg; border-bottom: 1px solid darken(@popover-title-bg, 5%); border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0; @@ -129,5 +128,4 @@ bottom: -@popover-arrow-width; } } - } diff --git a/bower_components/bootstrap/less/print.less b/bower_components/bootstrap/less/print.less index 3655d03..66e54ab 100644 --- a/bower_components/bootstrap/less/print.less +++ b/bower_components/bootstrap/less/print.less @@ -1,101 +1,101 @@ -// -// Basic print styles -// -------------------------------------------------- -// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ + +// ========================================================================== +// Print styles. +// Inlined to avoid the additional HTTP request: h5bp.com/r +// ========================================================================== @media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; // Black prints faster: h5bp.com/s + box-shadow: none !important; + text-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + // Don't show links that are fragment identifiers, + // or use the `javascript:` pseudo protocol + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; // h5bp.com/t + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + // Bootstrap specific changes start - * { - text-shadow: none !important; - color: #000 !important; // Black prints faster: h5bp.com/s - background: transparent !important; - box-shadow: none !important; - } - - a, - a:visited { - text-decoration: underline; - } - - a[href]:after { - content: " (" attr(href) ")"; - } - - abbr[title]:after { - content: " (" attr(title) ")"; - } - - // Don't show links for images, or javascript/internal links - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - - thead { - display: table-header-group; // h5bp.com/t - } - - tr, - img { - page-break-inside: avoid; - } - - img { - max-width: 100% !important; - } - - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - - h2, - h3 { - page-break-after: avoid; - } - - // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 - // Once fixed, we can just straight up remove this. - select { - background: #fff !important; - } - - // Bootstrap components - .navbar { - display: none; - } - .table { - td, - th { - background-color: #fff !important; - } - } - .btn, - .dropup > .btn { - > .caret { - border-top-color: #000 !important; - } - } - .label { - border: 1px solid #000; - } - - .table { - border-collapse: collapse !important; - } - .table-bordered { - th, - td { - border: 1px solid #ddd !important; - } - } + // Bootstrap components + .navbar { + display: none; + } + .btn, + .dropup > .btn { + > .caret { + border-top-color: #000 !important; + } + } + .label { + border: 1px solid #000; + } + + .table { + border-collapse: collapse !important; + + td, + th { + background-color: #fff !important; + } + } + .table-bordered { + th, + td { + border: 1px solid #ddd !important; + } + } + // Bootstrap specific changes end } diff --git a/bower_components/bootstrap/less/progress-bars.less b/bower_components/bootstrap/less/progress-bars.less index 3ac52a2..8868a1f 100644 --- a/bower_components/bootstrap/less/progress-bars.less +++ b/bower_components/bootstrap/less/progress-bars.less @@ -19,7 +19,6 @@ } - // Bar itself // ------------------------- @@ -29,7 +28,7 @@ height: @line-height-computed; margin-bottom: @line-height-computed; background-color: @progress-bg; - border-radius: @border-radius-base; + border-radius: @progress-border-radius; .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); } @@ -67,23 +66,6 @@ .animation(progress-bar-stripes 2s linear infinite); } -// Account for lower percentages -.progress-bar { - &[aria-valuenow="1"], - &[aria-valuenow="2"] { - min-width: 30px; - } - - &[aria-valuenow="0"] { - color: @gray-light; - min-width: 30px; - background-color: transparent; - background-image: none; - box-shadow: none; - } -} - - // Variations // ------------------------- diff --git a/bower_components/bootstrap/less/responsive-embed.less b/bower_components/bootstrap/less/responsive-embed.less index a884d49..080a511 100644 --- a/bower_components/bootstrap/less/responsive-embed.less +++ b/bower_components/bootstrap/less/responsive-embed.less @@ -12,7 +12,8 @@ .embed-responsive-item, iframe, embed, - object { + object, + video { position: absolute; top: 0; left: 0; @@ -21,14 +22,14 @@ width: 100%; border: 0; } +} - // Modifier class for 16:9 aspect ratio - &.embed-responsive-16by9 { - padding-bottom: 56.25%; - } +// Modifier class for 16:9 aspect ratio +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} - // Modifier class for 4:3 aspect ratio - &.embed-responsive-4by3 { - padding-bottom: 75%; - } +// Modifier class for 4:3 aspect ratio +.embed-responsive-4by3 { + padding-bottom: 75%; } diff --git a/bower_components/bootstrap/less/scaffolding.less b/bower_components/bootstrap/less/scaffolding.less index c1e270f..1929bfc 100644 --- a/bower_components/bootstrap/less/scaffolding.less +++ b/bower_components/bootstrap/less/scaffolding.less @@ -52,7 +52,7 @@ a { &:hover, &:focus { color: @link-hover-color; - text-decoration: underline; + text-decoration: @link-hover-decoration; } &:focus { @@ -148,3 +148,14 @@ hr { clip: auto; } } + + +// iOS "clickable elements" fix for role="button" +// +// Fixes "clickability" issue (and more generally, the firing of events such as focus as well) +// for traditionally non-focusable elements with role="button" +// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + +[role="button"] { + cursor: pointer; +} diff --git a/bower_components/bootstrap/less/tables.less b/bower_components/bootstrap/less/tables.less index 2e1ef33..2242c03 100644 --- a/bower_components/bootstrap/less/tables.less +++ b/bower_components/bootstrap/less/tables.less @@ -6,6 +6,12 @@ table { background-color: @table-bg; } +caption { + padding-top: @table-cell-padding; + padding-bottom: @table-cell-padding; + color: @text-muted; + text-align: left; +} th { text-align: left; } @@ -105,11 +111,8 @@ th { // Default zebra-stripe styles (alternating gray and transparent backgrounds) .table-striped { - > tbody > tr:nth-child(odd) { - > td, - > th { - background-color: @table-bg-accent; - } + > tbody > tr:nth-of-type(odd) { + background-color: @table-bg-accent; } } @@ -120,10 +123,7 @@ th { .table-hover { > tbody > tr:hover { - > td, - > th { - background-color: @table-bg-hover; - } + background-color: @table-bg-hover; } } @@ -133,7 +133,7 @@ th { // Reset default table behavior table col[class*="col-"] { - position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) float: none; display: table-column; } @@ -141,7 +141,7 @@ table { td, th { &[class*="col-"] { - position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623) + position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623) float: none; display: table-cell; } @@ -169,14 +169,15 @@ table { // will display normally. .table-responsive { + overflow-x: auto; + min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) + @media screen and (max-width: @screen-xs-max) { width: 100%; margin-bottom: (@line-height-computed * 0.75); overflow-y: hidden; - overflow-x: auto; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid @table-border-color; - -webkit-overflow-scrolling: touch; // Tighten up spacing > .table { diff --git a/bower_components/bootstrap/less/theme.less b/bower_components/bootstrap/less/theme.less index b089424..8371872 100644 --- a/bower_components/bootstrap/less/theme.less +++ b/bower_components/bootstrap/less/theme.less @@ -1,3 +1,8 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ // // Load core variables and mixins @@ -7,7 +12,6 @@ @import "mixins.less"; - // // Buttons // -------------------------------------------------- @@ -28,12 +32,22 @@ &.active { .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); } + + &.disabled, + &[disabled], + fieldset[disabled] & { + .box-shadow(none); + } + + .badge { + text-shadow: none; + } } // 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 + .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620 background-repeat: repeat-x; border-color: darken(@btn-color, 14%); @@ -49,10 +63,18 @@ border-color: darken(@btn-color, 14%); } - &:disabled, - &[disabled] { - background-color: darken(@btn-color, 12%); - background-image: none; + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &.focus, + &:active, + &.active { + background-color: darken(@btn-color, 12%); + background-image: none; + } } } @@ -74,7 +96,6 @@ .btn-danger { .btn-styles(@btn-danger-bg); } - // // Images // -------------------------------------------------- @@ -85,7 +106,6 @@ } - // // Dropdowns // -------------------------------------------------- @@ -103,7 +123,6 @@ } - // // Navbar // -------------------------------------------------- @@ -116,8 +135,9 @@ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075); .box-shadow(@shadow); + .navbar-nav > .open > a, .navbar-nav > .active > a { - #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%)); + #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%)); .box-shadow(inset 0 3px 9px rgba(0,0,0,.075)); } } @@ -129,10 +149,11 @@ // 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 - + .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257 + border-radius: @navbar-border-radius; + .navbar-nav > .open > a, .navbar-nav > .active > a { - #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%)); + #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%)); .box-shadow(inset 0 3px 9px rgba(0,0,0,.25)); } @@ -149,6 +170,17 @@ border-radius: 0; } +// Fix active state of dropdown items in collapsed mode +@media (max-width: @grid-float-breakpoint-max) { + .navbar .navbar-nav .open .dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: #fff; + #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%)); + } + } +} // @@ -175,7 +207,6 @@ .alert-danger { .alert-styles(@alert-danger-bg); } - // // Progress bars // -------------------------------------------------- @@ -218,8 +249,11 @@ 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%); -} + .badge { + text-shadow: none; + } +} // @@ -245,7 +279,6 @@ .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); } - // // Wells // -------------------------------------------------- diff --git a/bower_components/bootstrap/less/thumbnails.less b/bower_components/bootstrap/less/thumbnails.less index c428920..0713e67 100644 --- a/bower_components/bootstrap/less/thumbnails.less +++ b/bower_components/bootstrap/less/thumbnails.less @@ -12,7 +12,7 @@ background-color: @thumbnail-bg; border: 1px solid @thumbnail-border; border-radius: @thumbnail-border-radius; - .transition(all .2s ease-in-out); + .transition(border .2s ease-in-out); > img, a > img { diff --git a/bower_components/bootstrap/less/tooltip.less b/bower_components/bootstrap/less/tooltip.less index bd62699..b48d63e 100644 --- a/bower_components/bootstrap/less/tooltip.less +++ b/bower_components/bootstrap/less/tooltip.less @@ -8,9 +8,11 @@ position: absolute; z-index: @zindex-tooltip; display: block; - visibility: visible; + // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. + // So reset our font and text properties to avoid inheriting weird values. + .reset-text(); font-size: @font-size-small; - line-height: 1.4; + .opacity(0); &.in { .opacity(@tooltip-opacity); } @@ -26,7 +28,6 @@ padding: 3px 8px; color: @tooltip-color; text-align: center; - text-decoration: none; background-color: @tooltip-bg; border-radius: @border-radius-base; } @@ -39,6 +40,7 @@ border-color: transparent; border-style: solid; } +// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1 .tooltip { &.top .tooltip-arrow { bottom: 0; @@ -49,13 +51,15 @@ } &.top-left .tooltip-arrow { bottom: 0; - left: @tooltip-arrow-width; + right: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; border-width: @tooltip-arrow-width @tooltip-arrow-width 0; border-top-color: @tooltip-arrow-color; } &.top-right .tooltip-arrow { bottom: 0; - right: @tooltip-arrow-width; + left: @tooltip-arrow-width; + margin-bottom: -@tooltip-arrow-width; border-width: @tooltip-arrow-width @tooltip-arrow-width 0; border-top-color: @tooltip-arrow-color; } @@ -82,13 +86,15 @@ } &.bottom-left .tooltip-arrow { top: 0; - left: @tooltip-arrow-width; + right: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; border-bottom-color: @tooltip-arrow-color; } &.bottom-right .tooltip-arrow { top: 0; - right: @tooltip-arrow-width; + left: @tooltip-arrow-width; + margin-top: -@tooltip-arrow-width; border-width: 0 @tooltip-arrow-width @tooltip-arrow-width; border-bottom-color: @tooltip-arrow-color; } diff --git a/bower_components/bootstrap/less/type.less b/bower_components/bootstrap/less/type.less index 9b1e48b..68ba601 100644 --- a/bower_components/bootstrap/less/type.less +++ b/bower_components/bootstrap/less/type.less @@ -80,11 +80,6 @@ small, font-size: floor((100% * @font-size-small / @font-size-base)); } -// Undo browser default styling -cite { - font-style: normal; -} - mark, .mark { background-color: @state-warning-bg; @@ -243,7 +238,7 @@ abbr[data-original-title] { } .initialism { font-size: 90%; - text-transform: uppercase; + .text-uppercase(); } // Blockquotes @@ -299,12 +294,6 @@ blockquote.pull-right { } } -// Quotes -blockquote:before, -blockquote:after { - content: ""; -} - // Addresses address { margin-bottom: @line-height-computed; diff --git a/bower_components/bootstrap/less/utilities.less b/bower_components/bootstrap/less/utilities.less index c0becab..7a8ca27 100644 --- a/bower_components/bootstrap/less/utilities.less +++ b/bower_components/bootstrap/less/utilities.less @@ -44,7 +44,6 @@ .hidden { display: none !important; - visibility: hidden !important; } @@ -53,5 +52,4 @@ .affix { position: fixed; - .translate3d(0, 0, 0); } diff --git a/bower_components/bootstrap/less/variables.less b/bower_components/bootstrap/less/variables.less index 582f0f8..c1861a8 100644 --- a/bower_components/bootstrap/less/variables.less +++ b/bower_components/bootstrap/less/variables.less @@ -7,13 +7,14 @@ // //## 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, 46.7%); // #777 -@gray-lighter: lighten(#000, 93.5%); // #eee - -@brand-primary: #428bca; +@gray-base: #000; +@gray-darker: lighten(@gray-base, 13.5%); // #222 +@gray-dark: lighten(@gray-base, 20%); // #333 +@gray: lighten(@gray-base, 33.5%); // #555 +@gray-light: lighten(@gray-base, 46.7%); // #777 +@gray-lighter: lighten(@gray-base, 93.5%); // #eee + +@brand-primary: darken(#428bca, 6.5%); // #337ab7 @brand-success: #5cb85c; @brand-info: #5bc0de; @brand-warning: #f0ad4e; @@ -33,6 +34,8 @@ @link-color: @brand-primary; //** Link hover color set via `darken()` function. @link-hover-color: darken(@link-color, 15%); +//** Link hover decoration. +@link-hover-decoration: underline; //== Typography @@ -96,7 +99,7 @@ @padding-xs-vertical: 1px; @padding-xs-horizontal: 5px; -@line-height-large: 1.33; +@line-height-large: 1.3333333; // extra decimals for Win 8.1 Chrome @line-height-small: 1.5; @border-radius-base: 4px; @@ -167,6 +170,11 @@ @btn-link-disabled-color: @gray-light; +// Allows for customizing button radius independently from global border radius +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-large: @border-radius-large; +@btn-border-radius-small: @border-radius-small; + //== Forms // @@ -181,13 +189,21 @@ @input-color: @gray; //** `<input>` border color @input-border: #ccc; -//** `<input>` border radius + +// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4 +//** Default `.form-control` border radius +// This has no effect on `<select>`s in some browsers, due to the limited stylability of `<select>`s in CSS. @input-border-radius: @border-radius-base; +//** Large `.form-control` border radius +@input-border-radius-large: @border-radius-large; +//** Small `.form-control` border radius +@input-border-radius-small: @border-radius-small; + //** Border color for inputs on focus @input-border-focus: #66afe9; //** Placeholder text color -@input-color-placeholder: @gray-light; +@input-color-placeholder: #999; //** Default `.form-control` height @input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); @@ -196,6 +212,9 @@ //** Small `.form-control` height @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); +//** `.form-group` margin +@form-group-margin-bottom: 15px; + @legend-color: @gray-dark; @legend-border-color: #e5e5e5; @@ -204,6 +223,9 @@ //** Border color for textual input addons @input-group-addon-border-color: @input-border; +//** Disabled cursor for form controls and buttons. +@cursor-disabled: not-allowed; + //== Dropdowns // @@ -315,17 +337,17 @@ //## Define the maximum width of `.container` for different screen sizes. // Small screen / tablet -@container-tablet: ((720px + @grid-gutter-width)); +@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)); +@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)); +@container-large-desktop: (1140px + @grid-gutter-width); //** For `@screen-lg-min` and up. @container-lg: @container-large-desktop; @@ -366,14 +388,14 @@ @navbar-default-toggle-border-color: #ddd; -// Inverted navbar +//=== Inverted navbar // Reset inverted navbar basics -@navbar-inverse-color: @gray-light; +@navbar-inverse-color: lighten(@gray-light, 15%); @navbar-inverse-bg: #222; @navbar-inverse-border: darken(@navbar-inverse-bg, 10%); // Inverted navbar links -@navbar-inverse-link-color: @gray-light; +@navbar-inverse-link-color: lighten(@gray-light, 15%); @navbar-inverse-link-hover-color: #fff; @navbar-inverse-link-hover-bg: transparent; @navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; @@ -403,8 +425,6 @@ @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; @@ -469,6 +489,7 @@ @jumbotron-bg: @gray-lighter; @jumbotron-heading-color: inherit; @jumbotron-font-size: ceil((@font-size-base * 1.5)); +@jumbotron-heading-font-size: ceil((@font-size-base * 4.5)); //== Form states and alerts @@ -529,7 +550,7 @@ //** Popover arrow width @popover-arrow-width: 10px; //** Popover arrow color -@popover-arrow-color: #fff; +@popover-arrow-color: @popover-bg; //** Popover outer arrow width @popover-arrow-outer-width: (@popover-arrow-width + 1); @@ -628,6 +649,8 @@ @progress-bg: #f5f5f5; //** Progress bar text color @progress-bar-color: #fff; +//** Variable for setting rounded corners on progress bar. +@progress-border-radius: @border-radius-base; //** Default progress bar color @progress-bar-bg: @brand-primary; @@ -842,5 +865,3 @@ @dl-horizontal-offset: @component-offset-horizontal; //** Horizontal line color. @hr-border: @gray-lighter; - - |
