Commit 30fe3d97 authored by Mark Otto's avatar Mark Otto

Merge pull request #8 from twbs/scss-lint

Add SCSS-Lint to Grunt
parents f7e103a6 2edc7793
...@@ -38,6 +38,9 @@ Thumbs.db ...@@ -38,6 +38,9 @@ Thumbs.db
validation-report.json validation-report.json
validation-status.json validation-status.json
# SCSS-Lint
scss-lint-report.xml
# Folders to ignore # Folders to ignore
bower_components bower_components
node_modules node_modules
...@@ -7,7 +7,7 @@ before_install: ...@@ -7,7 +7,7 @@ before_install:
- travis_retry sudo pip install -r test-infra/requirements.txt - travis_retry sudo pip install -r test-infra/requirements.txt
- rvm use 1.9.3 --fuzzy - rvm use 1.9.3 --fuzzy
- export GEMDIR=$(rvm gemdir) - export GEMDIR=$(rvm gemdir)
- if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION rouge=$ROUGE_VERSION" > pseudo_Gemfile.lock; fi - if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION rouge=$ROUGE_VERSION scss-lint=$SCSS_LINT_VERSION" > pseudo_Gemfile.lock; fi
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\"" - "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
...@@ -23,6 +23,7 @@ env: ...@@ -23,6 +23,7 @@ env:
global: global:
- JEKYLL_VERSION="2.5.1" - JEKYLL_VERSION="2.5.1"
- ROUGE_VERSION="1.7.2" - ROUGE_VERSION="1.7.2"
- SCSS_LINT_VERSION="0.30.0"
- SAUCE_USERNAME="bootstrap" - SAUCE_USERNAME="bootstrap"
- secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ=" - secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
- secure: "gqjqISbxBJK6byFbsmr1AyP1qoWH+rap06A2gI7v72+Tn2PU2nYkIMUkCvhZw6K889jv+LhQ/ybcBxDOXHpNCExCnSgB4dcnmYp+9oeNZb37jSP0rQ+Ib4OTLjzc3/FawE/fUq5kukZTC7porzc/k0qJNLAZRx3YLALmK1GIdUY=" - secure: "gqjqISbxBJK6byFbsmr1AyP1qoWH+rap06A2gI7v72+Tn2PU2nYkIMUkCvhZw6K889jv+LhQ/ybcBxDOXHpNCExCnSgB4dcnmYp+9oeNZb37jSP0rQ+Ib4OTLjzc3/FawE/fUq5kukZTC7porzc/k0qJNLAZRx3YLALmK1GIdUY="
......
...@@ -167,6 +167,14 @@ module.exports = function (grunt) { ...@@ -167,6 +167,14 @@ module.exports = function (grunt) {
} }
}, },
scsslint: {
scss: ['scss/*.scss', '!scss/_normalize.scss'],
options: {
config: 'scss/.scss-lint.yml',
reporterOutput: 'scss-lint-report.xml'
}
},
autoprefixer: { autoprefixer: {
options: { options: {
browsers: configBridge.config.autoprefixerBrowsers browsers: configBridge.config.autoprefixerBrowsers
...@@ -369,7 +377,7 @@ module.exports = function (grunt) { ...@@ -369,7 +377,7 @@ module.exports = function (grunt) {
// Skip core tests if running a different subset of the test suite // Skip core tests if running a different subset of the test suite
if (runSubset('core') && if (runSubset('core') &&
// Skip core tests if this is a Savage build // Skip core tests if this is a Savage build
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-js', 'docs']); process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'test-js', 'docs']);
} }
// Skip HTML validation if running a different subset of the test suite // Skip HTML validation if running a different subset of the test suite
if (runSubset('validate-html') && if (runSubset('validate-html') &&
...@@ -392,6 +400,8 @@ module.exports = function (grunt) { ...@@ -392,6 +400,8 @@ module.exports = function (grunt) {
// JS distribution task. // JS distribution task.
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']); grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
grunt.registerTask('test-scss', ['scsslint:scss']);
// CSS distribution task. // CSS distribution task.
grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']); grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']);
grunt.registerTask('dist-css', ['sass-compile', 'autoprefixer:core', 'usebanner', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']); grunt.registerTask('dist-css', ['sass-compile', 'autoprefixer:core', 'usebanner', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']);
......
This diff is collapsed.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -27,8 +27,7 @@ ...@@ -27,8 +27,7 @@
position: relative; position: relative;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
transition: height .35s ease;
transition-property: height, visibility;
transition-duration: .35s;
transition-timing-function: ease; transition-timing-function: ease;
transition-duration: .35s;
transition-property: height, visibility;
} }
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
position: relative; position: relative;
top: -.1em; top: -.1em;
display: inline-block; display: inline-block;
padding-left: .6em;
padding-right: .6em; padding-right: .6em;
padding-left: .6em;
font-size: .75em; font-size: .75em;
font-weight: $badge-font-weight; font-weight: $badge-font-weight;
color: $badge-color; color: $badge-color;
......
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
display: inline-block; display: inline-block;
+ li:before { + li:before {
content: "#{breadcrumb-divider}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
padding-left: .5rem;
padding-right: .5rem; padding-right: .5rem;
padding-left: .5rem;
color: $breadcrumb-divider-color; color: $breadcrumb-divider-color;
content: "#{breadcrumb-divider}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
} }
} }
......
...@@ -106,12 +106,12 @@ ...@@ -106,12 +106,12 @@
// Give the line between buttons some depth // Give the line between buttons some depth
.btn-group > .btn + .dropdown-toggle { .btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px; padding-right: 8px;
padding-left: 8px;
} }
.btn-group > .btn-lg + .dropdown-toggle { .btn-group > .btn-lg + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px; padding-right: 12px;
padding-left: 12px;
} }
// The clickable button for toggling the menu // The clickable button for toggling the menu
...@@ -210,8 +210,8 @@ ...@@ -210,8 +210,8 @@
> .btn, > .btn,
> .btn-group { > .btn-group {
float: none;
display: table-cell; display: table-cell;
float: none;
width: 1%; width: 1%;
} }
......
...@@ -11,14 +11,14 @@ ...@@ -11,14 +11,14 @@
margin-bottom: 0; // For input.btn margin-bottom: 0; // For input.btn
font-weight: $btn-font-weight; font-weight: $btn-font-weight;
text-align: center; text-align: center;
white-space: nowrap;
vertical-align: middle; vertical-align: middle;
touch-action: manipulation; touch-action: manipulation;
cursor: pointer; cursor: pointer;
user-select: none;
background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
border: $border-width solid transparent; border: $border-width solid transparent;
white-space: nowrap;
@include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base); @include button-size($padding-base-vertical, $padding-base-horizontal, $font-size-base, $line-height-base, $border-radius-base);
user-select: none;
transition: all .2s ease-in-out; transition: all .2s ease-in-out;
&, &,
...@@ -38,16 +38,16 @@ ...@@ -38,16 +38,16 @@
&:active, &:active,
&.active { &.active {
outline: 0;
background-image: none; background-image: none;
outline: 0;
@include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
} }
&.disabled, &.disabled,
&[disabled], &[disabled],
fieldset[disabled] & { fieldset[disabled] & {
cursor: $cursor-disabled;
pointer-events: none; // Future-proof disabling of clicks pointer-events: none; // Future-proof disabling of clicks
cursor: $cursor-disabled;
opacity: .65; opacity: .65;
@include box-shadow(none); @include box-shadow(none);
} }
...@@ -82,8 +82,8 @@ ...@@ -82,8 +82,8 @@
// Make a button look and behave like a link // Make a button look and behave like a link
.btn-link { .btn-link {
color: $link-color;
font-weight: normal; font-weight: normal;
color: $link-color;
border-radius: 0; border-radius: 0;
&, &,
......
...@@ -101,9 +101,9 @@ ...@@ -101,9 +101,9 @@
// //
.card-blockquote { .card-blockquote {
border-left: 0;
padding: 0; padding: 0;
margin-bottom: 0; margin-bottom: 0;
border-left: 0;
} }
// Card image // Card image
...@@ -143,14 +143,14 @@ ...@@ -143,14 +143,14 @@
border-spacing: 1.25rem 0; border-spacing: 1.25rem 0;
.card { .card {
float: none;
display: table-cell; display: table-cell;
float: none;
max-width: none; max-width: none;
} }
} }
.card-set-wrapper { .card-set-wrapper {
margin-left: -1.25rem;
margin-right: -1.25rem; margin-right: -1.25rem;
margin-left: -1.25rem;
} }
...@@ -164,13 +164,13 @@ ...@@ -164,13 +164,13 @@
table-layout: fixed; table-layout: fixed;
.card { .card {
float: none;
display: table-cell; display: table-cell;
float: none;
max-width: none; max-width: none;
+ .card { + .card {
border-left: 0;
margin-left: 0; margin-left: 0;
border-left: 0;
} }
} }
} }
...@@ -181,12 +181,11 @@ ...@@ -181,12 +181,11 @@
// //
.card-columns { .card-columns {
column-count: 3; column-count: 3;
column-gap: 1rem; column-gap: 1rem;
.card { .card {
display: inline-block; display: inline-block;
width: 100%; // Don't let them exceed the column width width: 100%; // Don't let them exceed the column width
/*margin-bottom: 1rem;*/
} }
} }
...@@ -10,12 +10,12 @@ ...@@ -10,12 +10,12 @@
.carousel-inner { .carousel-inner {
position: relative; position: relative;
overflow: hidden;
width: 100%; width: 100%;
overflow: hidden;
> .item { > .item {
display: none;
position: relative; position: relative;
display: none;
transition: .6s ease-in-out left; transition: .6s ease-in-out left;
// Account for jankitude on images // Account for jankitude on images
...@@ -33,19 +33,19 @@ ...@@ -33,19 +33,19 @@
&.next, &.next,
&.active.right { &.active.right {
transform: translate3d(100%, 0, 0);
left: 0; left: 0;
transform: translate3d(100%, 0, 0);
} }
&.prev, &.prev,
&.active.left { &.active.left {
transform: translate3d(-100%, 0, 0);
left: 0; left: 0;
transform: translate3d(-100%, 0, 0);
} }
&.next.left, &.next.left,
&.prev.right, &.prev.right,
&.active { &.active {
transform: translate3d(0, 0, 0);
left: 0; left: 0;
transform: translate3d(0, 0, 0);
} }
} }
} }
...@@ -93,14 +93,14 @@ ...@@ -93,14 +93,14 @@
.carousel-control { .carousel-control {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0;
bottom: 0; bottom: 0;
left: 0;
width: $carousel-control-width; width: $carousel-control-width;
opacity: $carousel-control-opacity;
font-size: $carousel-control-font-size; font-size: $carousel-control-font-size;
color: $carousel-control-color; color: $carousel-control-color;
text-align: center; text-align: center;
text-shadow: $carousel-text-shadow; text-shadow: $carousel-text-shadow;
opacity: $carousel-control-opacity;
// We can't have this transition here because WebKit cancels the carousel // We can't have this transition here because WebKit cancels the carousel
// animation if you trip this while in the middle of another animation. // animation if you trip this while in the middle of another animation.
...@@ -109,17 +109,17 @@ ...@@ -109,17 +109,17 @@
@include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
} }
&.right { &.right {
left: auto;
right: 0; right: 0;
left: auto;
@include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
} }
// Hover/focus state // Hover/focus state
&:hover, &:hover,
&:focus { &:focus {
outline: 0;
color: $carousel-control-color; color: $carousel-control-color;
text-decoration: none; text-decoration: none;
outline: 0;
opacity: .9; opacity: .9;
} }
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
top: 50%; top: 50%;
z-index: 5; z-index: 5;
display: inline-block; display: inline-block;
width: 20px; width: 20px;
height: 20px; height: 20px;
margin-top: -10px; margin-top: -10px;
font-family: serif; font-family: serif;
...@@ -146,12 +146,12 @@ ...@@ -146,12 +146,12 @@
} }
.icon-prev { .icon-prev {
&:before { &:before {
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) content: "\2039";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
} }
} }
.icon-next { .icon-next {
&:before { &:before {
content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) content: "\203a";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
} }
} }
} }
...@@ -167,32 +167,31 @@ ...@@ -167,32 +167,31 @@
left: 50%; left: 50%;
z-index: 15; z-index: 15;
width: 60%; width: 60%;
margin-left: -30%;
padding-left: 0; padding-left: 0;
list-style: none; margin-left: -30%;
text-align: center; text-align: center;
list-style: none;
li { li {
display: inline-block; display: inline-block;
width: 10px; width: 10px;
height: 10px; height: 10px;
margin: 1px; margin: 1px;
text-indent: -999px; text-indent: -999px;
border: 1px solid $carousel-indicator-border-color;
border-radius: 10px;
cursor: pointer; cursor: pointer;
// IE9 hack for event handling // IE9 hack for event handling
// //
// Internet Explorer 9 does not support clicks on elements without a set // Internet Explorer 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`. We cannot use `filter` since that's not viewed as a
// background color by the browser. Thus, a hack is needed. // background color by the browser. Thus, a hack is needed.
background-color: rgba(0,0,0,0); // IE9 background-color: rgba(0,0,0,0); // IE9
border: 1px solid $carousel-indicator-border-color;
border-radius: 10px;
} }
.active { .active {
margin: 0; width: 12px;
width: 12px;
height: 12px; height: 12px;
margin: 0;
background-color: $carousel-indicator-active-bg; background-color: $carousel-indicator-active-bg;
} }
} }
...@@ -202,9 +201,9 @@ ...@@ -202,9 +201,9 @@
// Hidden by default for smaller viewports // Hidden by default for smaller viewports
.carousel-caption { .carousel-caption {
position: absolute; position: absolute;
left: 15%;
right: 15%; right: 15%;
bottom: 20px; bottom: 20px;
left: 15%;
z-index: 10; z-index: 10;
padding-top: 20px; padding-top: 20px;
padding-bottom: 20px; padding-bottom: 20px;
...@@ -212,7 +211,7 @@ ...@@ -212,7 +211,7 @@
text-align: center; text-align: center;
text-shadow: $carousel-text-shadow; text-shadow: $carousel-text-shadow;
& .btn { .btn {
text-shadow: none; // No shadow for button elements in carousel-caption text-shadow: none; // No shadow for button elements in carousel-caption
} }
} }
...@@ -239,8 +238,8 @@ ...@@ -239,8 +238,8 @@
// Show and left align the captions // Show and left align the captions
.carousel-caption { .carousel-caption {
left: 20%;
right: 20%; right: 20%;
left: 20%;
padding-bottom: 30px; padding-bottom: 30px;
} }
......
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
display: inline-block; display: inline-block;
width: 0; width: 0;
height: 0; height: 0;
content: "";
margin-left: .25rem; margin-left: .25rem;
vertical-align: middle; vertical-align: middle;
border-top: $caret-width-base solid; content: "";
border-top: $caret-width-base solid;
border-right: $caret-width-base solid transparent; border-right: $caret-width-base solid transparent;
border-left: $caret-width-base solid transparent; border-left: $caret-width-base solid transparent;
} }
// Prevent the focus on the dropdown toggle when closing dropdowns // Prevent the focus on the dropdown toggle when closing dropdowns
...@@ -38,14 +38,14 @@ ...@@ -38,14 +38,14 @@
min-width: 160px; min-width: 160px;
padding: 5px 0; padding: 5px 0;
margin: 2px 0 0; // override default ul margin: 2px 0 0; // override default ul
list-style: none;
font-size: $font-size-base; font-size: $font-size-base;
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
list-style: none;
background-color: $dropdown-bg; background-color: $dropdown-bg;
background-clip: padding-box;
border: 1px solid $dropdown-border; border: 1px solid $dropdown-border;
@include border-radius($border-radius-base); @include border-radius($border-radius-base);
@include box-shadow(0 6px 12px rgba(0,0,0,.175)); @include box-shadow(0 6px 12px rgba(0,0,0,.175));
background-clip: padding-box;
// Dividers (basically an hr) within the dropdown // Dividers (basically an hr) within the dropdown
.divider { .divider {
...@@ -68,8 +68,8 @@ ...@@ -68,8 +68,8 @@
.dropdown-menu > li > a { .dropdown-menu > li > a {
&:hover, &:hover,
&:focus { &:focus {
text-decoration: none;
color: $dropdown-link-hover-color; color: $dropdown-link-hover-color;
text-decoration: none;
background-color: $dropdown-link-hover-bg; background-color: $dropdown-link-hover-bg;
} }
} }
...@@ -81,8 +81,8 @@ ...@@ -81,8 +81,8 @@
&:focus { &:focus {
color: $dropdown-link-active-color; color: $dropdown-link-active-color;
text-decoration: none; text-decoration: none;
outline: 0;
background-color: $dropdown-link-active-bg; background-color: $dropdown-link-active-bg;
outline: 0;
} }
} }
...@@ -101,10 +101,10 @@ ...@@ -101,10 +101,10 @@
&:hover, &:hover,
&:focus { &:focus {
text-decoration: none; text-decoration: none;
cursor: $cursor-disabled;
background-color: transparent; background-color: transparent;
background-image: none; // Remove CSS gradient background-image: none; // Remove CSS gradient
@include reset-filter(); @include reset-filter();
cursor: $cursor-disabled;
} }
} }
...@@ -126,8 +126,8 @@ ...@@ -126,8 +126,8 @@
// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown // Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
// menu with the parent. // menu with the parent.
.dropdown-menu-right { .dropdown-menu-right {
left: auto; // Reset the default from `.dropdown-menu`
right: 0; right: 0;
left: auto; // Reset the default from `.dropdown-menu`
} }
// With v3, we enabled auto-flipping if you have a dropdown within a right // With v3, we enabled auto-flipping if you have a dropdown within a right
// aligned nav component. To enable the undoing of that, we provide an override // aligned nav component. To enable the undoing of that, we provide an override
...@@ -136,8 +136,8 @@ ...@@ -136,8 +136,8 @@
// This is only for left-aligning a dropdown menu within a `.navbar-right` or // This is only for left-aligning a dropdown menu within a `.navbar-right` or
// `.pull-right` nav component. // `.pull-right` nav component.
.dropdown-menu-left { .dropdown-menu-left {
left: 0;
right: auto; right: auto;
left: 0;
} }
// Dropdown section headers // Dropdown section headers
...@@ -153,10 +153,10 @@ ...@@ -153,10 +153,10 @@
// Backdrop to catch body clicks on mobile, etc. // Backdrop to catch body clicks on mobile, etc.
.dropdown-backdrop { .dropdown-backdrop {
position: fixed; position: fixed;
left: 0; top: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
top: 0; left: 0;
z-index: ($zindex-dropdown - 10); z-index: ($zindex-dropdown - 10);
} }
...@@ -175,10 +175,11 @@ ...@@ -175,10 +175,11 @@
.navbar-fixed-bottom .dropdown { .navbar-fixed-bottom .dropdown {
// Reverse the caret // Reverse the caret
.caret { .caret {
content: "";
border-top: 0; border-top: 0;
border-bottom: $caret-width-base solid; border-bottom: $caret-width-base solid;
content: "";
} }
// Different positioning for bottom up menu // Different positioning for bottom up menu
.dropdown-menu { .dropdown-menu {
top: auto; top: auto;
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
// Restyle and baseline non-control form elements. // Restyle and baseline non-control form elements.
fieldset { fieldset {
padding: 0;
margin: 0;
border: 0;
// Chrome and Firefox set a `min-width: min-content;` on fieldsets, // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
// so we reset that to ensure it behaves more like a standard block element. // so we reset that to ensure it behaves more like a standard block element.
// See https://github.com/twbs/bootstrap/issues/12359. // See https://github.com/twbs/bootstrap/issues/12359.
min-width: 0; min-width: 0;
padding: 0;
margin: 0;
border: 0;
} }
legend { legend {
...@@ -233,8 +233,8 @@ input[type="search"] { ...@@ -233,8 +233,8 @@ input[type="search"] {
.checkbox input[type="checkbox"], .checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] { .checkbox-inline input[type="checkbox"] {
position: absolute; position: absolute;
margin-left: -20px;
margin-top: 4px \9; margin-top: 4px \9;
margin-left: -20px;
} }
.radio + .radio, .radio + .radio,
...@@ -248,8 +248,8 @@ input[type="search"] { ...@@ -248,8 +248,8 @@ input[type="search"] {
display: inline-block; display: inline-block;
padding-left: 20px; padding-left: 20px;
margin-bottom: 0; margin-bottom: 0;
vertical-align: middle;
font-weight: normal; font-weight: normal;
vertical-align: middle;
cursor: pointer; cursor: pointer;
} }
.radio-inline + .radio-inline, .radio-inline + .radio-inline,
...@@ -304,8 +304,8 @@ input[type="checkbox"] { ...@@ -304,8 +304,8 @@ input[type="checkbox"] {
&.input-lg, &.input-lg,
&.input-sm { &.input-sm {
padding-left: 0;
padding-right: 0; padding-right: 0;
padding-left: 0;
} }
} }
...@@ -382,11 +382,12 @@ input[type="checkbox"] { ...@@ -382,11 +382,12 @@ input[type="checkbox"] {
// Reposition feedback icon if input has visible label above // Reposition feedback icon if input has visible label above
.has-feedback label { .has-feedback label {
& ~ .form-control-feedback { ~ .form-control-feedback {
top: ($line-height-computed + 5); // Height of the `label` and its margin top: ($line-height-computed + 5); // Height of the `label` and its margin
} }
&.sr-only ~ .form-control-feedback { &.sr-only ~ .form-control-feedback {
top: 0; top: 0;
} }
} }
...@@ -501,9 +502,9 @@ input[type="checkbox"] { ...@@ -501,9 +502,9 @@ input[type="checkbox"] {
.checkbox, .checkbox,
.radio-inline, .radio-inline,
.checkbox-inline { .checkbox-inline {
padding-top: ($padding-base-vertical + .1); // Default padding plus a border
margin-top: 0; margin-top: 0;
margin-bottom: 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 // Account for padding we're adding to ensure the alignment and of help text
// and other content below items // and other content below items
...@@ -521,9 +522,9 @@ input[type="checkbox"] { ...@@ -521,9 +522,9 @@ input[type="checkbox"] {
// labels on narrow viewports stack the same as a default form example. // labels on narrow viewports stack the same as a default form example.
@include media-sm { @include media-sm {
.control-label { .control-label {
text-align: right;
margin-bottom: 0;
padding-top: ($padding-base-vertical + .1); // Default padding plus a border padding-top: ($padding-base-vertical + .1); // Default padding plus a border
margin-bottom: 0;
text-align: right;
} }
} }
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
// Undo padding and float of grid classes // Undo padding and float of grid classes
&[class*="col-"] { &[class*="col-"] {
float: none; float: none;
padding-left: 0;
padding-right: 0; padding-right: 0;
padding-left: 0;
} }
.form-control { .form-control {
......
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
.container &, .container &,
.container-fluid & { .container-fluid & {
padding-left: ($jumbotron-padding * 2);
padding-right: ($jumbotron-padding * 2); padding-right: ($jumbotron-padding * 2);
padding-left: ($jumbotron-padding * 2);
} }
} }
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
.list-group { .list-group {
// No need to set list-style: none; since .list-group-item is block level // No need to set list-style: none; since .list-group-item is block level
margin-bottom: 20px;
padding-left: 0; // reset padding because ul and ol padding-left: 0; // reset padding because ul and ol
margin-bottom: 20px;
} }
...@@ -53,8 +53,8 @@ a.list-group-item { ...@@ -53,8 +53,8 @@ a.list-group-item {
// Hover state // Hover state
&:hover, &:hover,
&:focus { &:focus {
text-decoration: none;
color: $list-group-link-hover-color; color: $list-group-link-hover-color;
text-decoration: none;
background-color: $list-group-hover-bg; background-color: $list-group-hover-bg;
} }
} }
...@@ -64,9 +64,9 @@ a.list-group-item { ...@@ -64,9 +64,9 @@ a.list-group-item {
&.disabled, &.disabled,
&.disabled:hover, &.disabled:hover,
&.disabled:focus { &.disabled:focus {
background-color: $list-group-disabled-bg;
color: $list-group-disabled-color; color: $list-group-disabled-color;
cursor: $cursor-disabled; cursor: $cursor-disabled;
background-color: $list-group-disabled-bg;
// Force color to inherit for custom content // Force color to inherit for custom content
.list-group-item-heading { .list-group-item-heading {
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
.media, .media,
.media-body { .media-body {
zoom: 1;
overflow: hidden; overflow: hidden;
zoom: 1;
} }
.media-object { .media-object {
......
...@@ -14,24 +14,22 @@ ...@@ -14,24 +14,22 @@
// Container that the modal scrolls within // Container that the modal scrolls within
.modal { .modal {
display: none;
overflow: hidden;
position: fixed; position: fixed;
top: 0; top: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: $zindex-modal; z-index: $zindex-modal;
-webkit-overflow-scrolling: touch; display: none;
overflow: hidden;
// Prevent Chrome on Windows from adding a focus outline. For details, see // Prevent Chrome on Windows from adding a focus outline. For details, see
// https://github.com/twbs/bootstrap/pull/10951. // https://github.com/twbs/bootstrap/pull/10951.
outline: 0; outline: 0;
-webkit-overflow-scrolling: touch;
// When fading in the modal, animate it to slide down // When fading in the modal, animate it to slide down
&.fade .modal-dialog { &.fade .modal-dialog {
transform: translate(0, -25%); transform: transition .3s ease-out, translate(0, -25%);
transform: transition .3s ease-out;
} }
&.in .modal-dialog { transform: translate(0, 0); } &.in .modal-dialog { transform: translate(0, 0); }
} }
...@@ -51,10 +49,10 @@ ...@@ -51,10 +49,10 @@
.modal-content { .modal-content {
position: relative; position: relative;
background-color: $modal-content-bg; background-color: $modal-content-bg;
background-clip: padding-box;
border: 1px solid $modal-content-border-color; border: 1px solid $modal-content-border-color;
border-radius: $border-radius-lg; border-radius: $border-radius-lg;
@include box-shadow(0 3px 9px rgba(0,0,0,.5)); @include box-shadow(0 3px 9px rgba(0,0,0,.5));
background-clip: padding-box;
// Remove focus outline from opened modal // Remove focus outline from opened modal
outline: 0; outline: 0;
} }
...@@ -74,9 +72,9 @@ ...@@ -74,9 +72,9 @@
// Modal header // Modal header
// Top section of the modal w/ title and dismiss // Top section of the modal w/ title and dismiss
.modal-header { .modal-header {
min-height: ($modal-title-padding + $modal-title-line-height);
padding: $modal-title-padding; padding: $modal-title-padding;
border-bottom: 1px solid $modal-header-border-color; border-bottom: 1px solid $modal-header-border-color;
min-height: ($modal-title-padding + $modal-title-line-height);
} }
// Close icon // Close icon
.modal-header .close { .modal-header .close {
...@@ -105,8 +103,8 @@ ...@@ -105,8 +103,8 @@
// Properly space out buttons // Properly space out buttons
.btn + .btn { .btn + .btn {
margin-left: 5px;
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
margin-left: 5px;
} }
// but override that for button groups // but override that for button groups
.btn-group .btn + .btn { .btn-group .btn + .btn {
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
&:hover, &:hover,
&:focus { &:focus {
color: $nav-disabled-link-hover-color; color: $nav-disabled-link-hover-color;
background-color: transparent;
cursor: $cursor-disabled; cursor: $cursor-disabled;
background-color: transparent;
} }
} }
} }
...@@ -120,16 +120,16 @@ ...@@ -120,16 +120,16 @@
&:hover, &:hover,
&:focus { &:focus {
color: $component-active-color; color: $component-active-color;
background-color: $component-active-bg;
cursor: default; cursor: default;
background-color: $component-active-bg;
} }
} }
} }
.nav-stacked { .nav-stacked {
.nav-item { .nav-item {
float: none;
display: block; display: block;
float: none;
+ .nav-item { + .nav-item {
margin-top: .2rem; margin-top: .2rem;
......
...@@ -11,9 +11,7 @@ ...@@ -11,9 +11,7 @@
.navbar { .navbar {
position: relative; position: relative;
padding: $spacer; padding: $spacer;
/*min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)*/
margin-bottom: $navbar-margin-bottom; margin-bottom: $navbar-margin-bottom;
/*border: 1px solid transparent;*/
// Prevent floats from breaking the navbar // Prevent floats from breaking the navbar
@include clearfix(); @include clearfix();
...@@ -73,7 +71,6 @@ ...@@ -73,7 +71,6 @@
margin-bottom: 0; // For headings margin-bottom: 0; // For headings
font-size: $font-size-lg; font-size: $font-size-lg;
line-height: $line-height-computed; line-height: $line-height-computed;
/*height: $navbar-height;*/
> a:hover, > a:hover,
> a:focus { > a:focus {
...@@ -172,9 +169,9 @@ ...@@ -172,9 +169,9 @@
// our navbars. // our navbars.
.navbar-form { .navbar-form {
margin-left: -$navbar-padding-horizontal;
margin-right: -$navbar-padding-horizontal;
padding: 10px $navbar-padding-horizontal; padding: 10px $navbar-padding-horizontal;
margin-right: -$navbar-padding-horizontal;
margin-left: -$navbar-padding-horizontal;
border-top: 1px solid transparent; border-top: 1px solid transparent;
border-bottom: 1px solid transparent; border-bottom: 1px solid transparent;
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)); @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1));
...@@ -198,11 +195,11 @@ ...@@ -198,11 +195,11 @@
// Undo 100% width for pull classes // Undo 100% width for pull classes
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
width: auto; width: auto;
border: 0;
margin-left: 0;
margin-right: 0;
padding-top: 0; padding-top: 0;
padding-bottom: 0; padding-bottom: 0;
margin-right: 0;
margin-left: 0;
border: 0;
@include box-shadow(none); @include box-shadow(none);
} }
} }
...@@ -247,8 +244,8 @@ ...@@ -247,8 +244,8 @@
@media (min-width: $grid-float-breakpoint) { @media (min-width: $grid-float-breakpoint) {
float: left; float: left;
margin-left: $navbar-padding-horizontal;
margin-right: $navbar-padding-horizontal; margin-right: $navbar-padding-horizontal;
margin-left: $navbar-padding-horizontal;
} }
} }
...@@ -286,6 +283,7 @@ ...@@ -286,6 +283,7 @@
.navbar-brand { .navbar-brand {
color: $navbar-default-brand-color; color: $navbar-default-brand-color;
&:hover, &:hover,
&:focus { &:focus {
color: $navbar-default-brand-hover-color; color: $navbar-default-brand-hover-color;
...@@ -348,8 +346,8 @@ ...@@ -348,8 +346,8 @@
&, &,
&:hover, &:hover,
&:focus { &:focus {
background-color: $navbar-default-link-active-bg;
color: $navbar-default-link-active-color; color: $navbar-default-link-active-color;
background-color: $navbar-default-link-active-bg;
} }
} }
...@@ -506,8 +504,8 @@ ...@@ -506,8 +504,8 @@
&, &,
&:hover, &:hover,
&:focus { &:focus {
background-color: $navbar-inverse-link-active-bg;
color: $navbar-inverse-link-active-color; color: $navbar-inverse-link-active-color;
background-color: $navbar-inverse-link-active-bg;
} }
} }
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
.pager { .pager {
padding-left: 0; padding-left: 0;
margin: $line-height-computed 0; margin: $line-height-computed 0;
list-style: none;
text-align: center; text-align: center;
list-style: none;
@include clearfix(); @include clearfix();
li { li {
...@@ -49,8 +49,8 @@ ...@@ -49,8 +49,8 @@
> a:focus, > a:focus,
> span { > span {
color: $pager-disabled-color; color: $pager-disabled-color;
background-color: $pager-bg;
cursor: $cursor-disabled; cursor: $cursor-disabled;
background-color: $pager-bg;
} }
} }
} }
...@@ -15,12 +15,12 @@ ...@@ -15,12 +15,12 @@
position: relative; position: relative;
float: left; // Collapse white-space float: left; // Collapse white-space
padding: $padding-base-vertical $padding-base-horizontal; padding: $padding-base-vertical $padding-base-horizontal;
margin-left: -1px;
line-height: $line-height-base; line-height: $line-height-base;
text-decoration: none;
color: $pagination-color; color: $pagination-color;
text-decoration: none;
background-color: $pagination-bg; background-color: $pagination-bg;
border: 1px solid $pagination-border; border: 1px solid $pagination-border;
margin-left: -1px;
} }
&:first-child { &:first-child {
> a, > a,
...@@ -54,9 +54,9 @@ ...@@ -54,9 +54,9 @@
&:focus { &:focus {
z-index: 2; z-index: 2;
color: $pagination-active-color; color: $pagination-active-color;
cursor: default;
background-color: $pagination-active-bg; background-color: $pagination-active-bg;
border-color: $pagination-active-border; border-color: $pagination-active-border;
cursor: default;
} }
} }
...@@ -68,9 +68,9 @@ ...@@ -68,9 +68,9 @@
> a:hover, > a:hover,
> a:focus { > a:focus {
color: $pagination-disabled-color; color: $pagination-disabled-color;
cursor: $cursor-disabled;
background-color: $pagination-disabled-bg; background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border; border-color: $pagination-disabled-border;
cursor: $cursor-disabled;
} }
} }
} }
......
...@@ -17,15 +17,14 @@ ...@@ -17,15 +17,14 @@
font-weight: normal; font-weight: normal;
line-height: $line-height-base; line-height: $line-height-base;
text-align: left; text-align: left;
// Overrides for proper insertion
white-space: normal;
background-color: $popover-bg; background-color: $popover-bg;
background-clip: padding-box; background-clip: padding-box;
border: 1px solid $popover-border-color; border: 1px solid $popover-border-color;
@include border-radius($border-radius-lg); @include border-radius($border-radius-lg);
@include box-shadow(0 5px 10px rgba(0,0,0,.2)); @include 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 // Offset the popover to account for the popover arrow
&.top { margin-top: -$popover-arrow-width; } &.top { margin-top: -$popover-arrow-width; }
&.right { margin-left: $popover-arrow-width; } &.right { margin-left: $popover-arrow-width; }
...@@ -34,8 +33,8 @@ ...@@ -34,8 +33,8 @@
} }
.popover-title { .popover-title {
margin: 0; // reset heading margin
padding: 8px 14px; padding: 8px 14px;
margin: 0; // reset heading margin
font-size: $font-size-base; font-size: $font-size-base;
background-color: $popover-title-bg; background-color: $popover-title-bg;
border-bottom: 1px solid darken($popover-title-bg, 5%); border-bottom: 1px solid darken($popover-title-bg, 5%);
...@@ -65,49 +64,49 @@ ...@@ -65,49 +64,49 @@
border-width: $popover-arrow-outer-width; border-width: $popover-arrow-outer-width;
} }
.popover > .arrow:after { .popover > .arrow:after {
border-width: $popover-arrow-width;
content: ""; content: "";
border-width: $popover-arrow-width;
} }
.popover { .popover {
&.top > .arrow { &.top > .arrow {
bottom: -$popover-arrow-outer-width;
left: 50%; left: 50%;
margin-left: -$popover-arrow-outer-width; margin-left: -$popover-arrow-outer-width;
border-bottom-width: 0;
border-top-color: $popover-arrow-outer-color; border-top-color: $popover-arrow-outer-color;
bottom: -$popover-arrow-outer-width; border-bottom-width: 0;
&:after { &:after {
content: " ";
bottom: 1px; bottom: 1px;
margin-left: -$popover-arrow-width; margin-left: -$popover-arrow-width;
border-bottom-width: 0; content: "";
border-top-color: $popover-arrow-color; border-top-color: $popover-arrow-color;
border-bottom-width: 0;
} }
} }
&.right > .arrow { &.right > .arrow {
top: 50%; top: 50%;
left: -$popover-arrow-outer-width; left: -$popover-arrow-outer-width;
margin-top: -$popover-arrow-outer-width; margin-top: -$popover-arrow-outer-width;
border-left-width: 0;
border-right-color: $popover-arrow-outer-color; border-right-color: $popover-arrow-outer-color;
border-left-width: 0;
&:after { &:after {
content: " ";
left: 1px;
bottom: -$popover-arrow-width; bottom: -$popover-arrow-width;
border-left-width: 0; left: 1px;
content: "";
border-right-color: $popover-arrow-color; border-right-color: $popover-arrow-color;
border-left-width: 0;
} }
} }
&.bottom > .arrow { &.bottom > .arrow {
top: -$popover-arrow-outer-width;
left: 50%; left: 50%;
margin-left: -$popover-arrow-outer-width; margin-left: -$popover-arrow-outer-width;
border-top-width: 0; border-top-width: 0;
border-bottom-color: $popover-arrow-outer-color; border-bottom-color: $popover-arrow-outer-color;
top: -$popover-arrow-outer-width;
&:after { &:after {
content: " ";
top: 1px; top: 1px;
margin-left: -$popover-arrow-width; margin-left: -$popover-arrow-width;
content: "";
border-top-width: 0; border-top-width: 0;
border-bottom-color: $popover-arrow-color; border-bottom-color: $popover-arrow-color;
} }
...@@ -120,11 +119,11 @@ ...@@ -120,11 +119,11 @@
border-right-width: 0; border-right-width: 0;
border-left-color: $popover-arrow-outer-color; border-left-color: $popover-arrow-outer-color;
&:after { &:after {
content: " ";
right: 1px; right: 1px;
bottom: -$popover-arrow-width;
content: "";
border-right-width: 0; border-right-width: 0;
border-left-color: $popover-arrow-color; border-left-color: $popover-arrow-color;
bottom: -$popover-arrow-width;
} }
} }
} }
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
// ========================================================================== // ==========================================================================
// Print styles. // Print styles.
...@@ -6,102 +6,102 @@ ...@@ -6,102 +6,102 @@
// ========================================================================== // ==========================================================================
@media print { @media print {
*, *,
*:before, *:before,
*:after { *:after {
background: transparent !important; color: #000 !important; // Black prints faster: h5bp.com/s
color: #000 !important; // Black prints faster: h5bp.com/s text-shadow: none !important;
box-shadow: none !important; background: transparent !important;
text-shadow: none !important; box-shadow: none !important;
} }
a, a,
a:visited { a:visited {
text-decoration: underline; text-decoration: underline;
} }
a[href]:after { a[href]:after {
content: " (" attr(href) ")"; content: " (" attr(href) ")";
} }
abbr[title]:after { abbr[title]:after {
content: " (" attr(title) ")"; content: " (" attr(title) ")";
} }
// Don't show links that are fragment identifiers, // Don't show links that are fragment identifiers,
// or use the `javascript:` pseudo protocol // or use the `javascript:` pseudo protocol
a[href^="#"]:after, a[href^="#"]:after,
a[href^="javascript:"]:after { a[href^="javascript:"]:after {
content: ""; content: "";
} }
pre, pre,
blockquote { blockquote {
border: 1px solid #999; border: 1px solid #999;
page-break-inside: avoid; page-break-inside: avoid;
} }
thead { thead {
display: table-header-group; // h5bp.com/t display: table-header-group; // h5bp.com/t
} }
tr, tr,
img { img {
page-break-inside: avoid; page-break-inside: avoid;
} }
img { img {
max-width: 100% !important; max-width: 100% !important;
} }
p, p,
h2, h2,
h3 { h3 {
orphans: 3; orphans: 3;
widows: 3; widows: 3;
} }
h2, h2,
h3 { h3 {
page-break-after: avoid; page-break-after: avoid;
} }
// Bootstrap specific changes start // Bootstrap specific changes start
// //
// Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245 // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
// Once fixed, we can just straight up remove this. // Once fixed, we can just straight up remove this.
select { select {
background: #fff !important; background: #fff !important;
} }
// Bootstrap components // Bootstrap components
.navbar { .navbar {
display: none; display: none;
} }
.btn, .btn,
.dropup > .btn { .dropup > .btn {
> .caret { > .caret {
border-top-color: #000 !important; border-top-color: #000 !important;
} }
} }
.label { .label {
border: 1px solid #000; border: 1px solid #000;
} }
.table { .table {
border-collapse: collapse !important; border-collapse: collapse !important;
td, td,
th { th {
background-color: #fff !important; background-color: #fff !important;
} }
} }
.table-bordered { .table-bordered {
th, th,
td { td {
border: 1px solid #ddd !important; border: 1px solid #ddd !important;
} }
} }
// Bootstrap specific changes end // Bootstrap specific changes end
} }
/*csslint empty-rules: false, important: true*/
// //
// Progress bars // Progress bars
// -------------------------------------------------- // --------------------------------------------------
...@@ -26,12 +24,12 @@ ...@@ -26,12 +24,12 @@
margin-bottom: $line-height-computed; margin-bottom: $line-height-computed;
} }
.progress[value] { .progress[value] {
// Reset the default appearance
appearance: none;
// Remove Firefox and Opera border
border: 0;
// IE10 uses `color` to set the bar background-color // IE10 uses `color` to set the bar background-color
color: #0074d9; color: #0074d9;
// Remove Firefox and Opera border
border: 0;
// Reset the default appearance
appearance: none;
} }
.progress[value]::-webkit-progress-bar { .progress[value]::-webkit-progress-bar {
background-color: #eee; background-color: #eee;
...@@ -94,8 +92,8 @@ ...@@ -94,8 +92,8 @@
border-bottom-left-radius: $border-radius-base; border-bottom-left-radius: $border-radius-base;
} }
.progress[width^="0"] { .progress[width^="0"] {
color: $gray-light;
min-width: 2rem; min-width: 2rem;
color: $gray-light;
background-color: transparent; background-color: transparent;
background-image: none; background-image: none;
} }
......
...@@ -16,10 +16,10 @@ ...@@ -16,10 +16,10 @@
video { video {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0;
bottom: 0; bottom: 0;
height: 100%; left: 0;
width: 100%; width: 100%;
height: 100%;
border: 0; border: 0;
} }
......
...@@ -108,7 +108,7 @@ img { ...@@ -108,7 +108,7 @@ img {
// Horizontal rules // Horizontal rules
hr { hr {
margin-top: $spacer; margin-top: $spacer;
margin-bottom: $spacer; margin-bottom: $spacer;
border: 0; border: 0;
border-top: .05rem solid $hr-border; border-top: .05rem solid $hr-border;
...@@ -123,8 +123,8 @@ hr { ...@@ -123,8 +123,8 @@ hr {
position: absolute; position: absolute;
width: 1px; width: 1px;
height: 1px; height: 1px;
margin: -1px;
padding: 0; padding: 0;
margin: -1px;
overflow: hidden; overflow: hidden;
clip: rect(0,0,0,0); clip: rect(0,0,0,0);
border: 0; border: 0;
......
...@@ -134,16 +134,17 @@ th { ...@@ -134,16 +134,17 @@ th {
table col[class*="col-"] { 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/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-column; display: table-column;
float: none;
} }
table { table {
td, td,
th { th {
&[class*="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/10 (see https://github.com/twbs/bootstrap/issues/11623)
float: none;
display: table-cell; display: table-cell;
float: none;
} }
} }
} }
...@@ -169,15 +170,15 @@ table { ...@@ -169,15 +170,15 @@ table {
// will display normally. // will display normally.
.table-responsive { .table-responsive {
overflow-x: auto;
min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837) min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)
overflow-x: auto;
@media screen and (max-width: $screen-xs-max) { @media screen and (max-width: $screen-xs-max) {
width: 100%; width: 100%;
margin-bottom: $spacer; margin-bottom: $spacer;
overflow-y: hidden; overflow-y: hidden;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid $table-border-color; border: 1px solid $table-border-color;
-ms-overflow-style: -ms-autohiding-scrollbar;
// Tighten up spacing // Tighten up spacing
> .table { > .table {
......
...@@ -8,19 +8,35 @@ ...@@ -8,19 +8,35 @@
position: absolute; position: absolute;
z-index: $zindex-tooltip; z-index: $zindex-tooltip;
display: block; display: block;
visibility: visible;
// Reset font and text propertes given new insertion method // Reset font and text propertes given new insertion method
font-family: $font-family-base; font-family: $font-family-base;
font-size: $font-size-sm; font-size: $font-size-sm;
font-weight: normal; font-weight: normal;
line-height: 1.4; line-height: 1.4;
visibility: visible;
opacity: 0; opacity: 0;
&.in { opacity: $tooltip-opacity; } &.in { opacity: $tooltip-opacity; }
&.top { margin-top: -3px; padding: $tooltip-arrow-width 0; }
&.right { margin-left: 3px; padding: 0 $tooltip-arrow-width; } &.top {
&.bottom { margin-top: 3px; padding: $tooltip-arrow-width 0; } padding: $tooltip-arrow-width 0;
&.left { margin-left: -3px; padding: 0 $tooltip-arrow-width; } margin-top: -3px;
}
&.right {
padding: 0 $tooltip-arrow-width;
margin-left: 3px;
}
&.bottom {
padding: $tooltip-arrow-width 0;
margin-top: 3px;
}
&.left {
padding: 0 $tooltip-arrow-width;
margin-left: -3px;
}
} }
// Wrapper for the tooltip content // Wrapper for the tooltip content
...@@ -52,8 +68,8 @@ ...@@ -52,8 +68,8 @@
border-top-color: $tooltip-arrow-color; border-top-color: $tooltip-arrow-color;
} }
&.top-left .tooltip-arrow { &.top-left .tooltip-arrow {
bottom: 0;
right: $tooltip-arrow-width; right: $tooltip-arrow-width;
bottom: 0;
margin-bottom: -$tooltip-arrow-width; margin-bottom: -$tooltip-arrow-width;
border-width: $tooltip-arrow-width $tooltip-arrow-width 0; border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color; border-top-color: $tooltip-arrow-color;
......
...@@ -76,8 +76,8 @@ small, ...@@ -76,8 +76,8 @@ small,
mark, mark,
.mark { .mark {
background-color: $state-warning-bg;
padding: .2em; padding: .2em;
background-color: $state-warning-bg;
} }
...@@ -99,6 +99,7 @@ ul, ...@@ -99,6 +99,7 @@ ul,
ol { ol {
margin-top: 0; margin-top: 0;
margin-bottom: ($line-height-computed / 2); margin-bottom: ($line-height-computed / 2);
ul, ul,
ol { ol {
margin-bottom: 0; margin-bottom: 0;
...@@ -120,8 +121,8 @@ ol { ...@@ -120,8 +121,8 @@ ol {
> li { > li {
display: inline-block; display: inline-block;
padding-left: 5px;
padding-right: 5px; padding-right: 5px;
padding-left: 5px;
} }
} }
...@@ -203,7 +204,7 @@ blockquote { ...@@ -203,7 +204,7 @@ blockquote {
color: $blockquote-small-color; color: $blockquote-small-color;
&:before { &:before {
content: '\2014 \00A0'; // em dash, nbsp content: "\2014 \00A0"; // em dash, nbsp
} }
} }
} }
...@@ -212,15 +213,15 @@ blockquote { ...@@ -212,15 +213,15 @@ blockquote {
.blockquote-reverse { .blockquote-reverse {
padding-right: $spacer; padding-right: $spacer;
padding-left: 0; padding-left: 0;
text-align: right;
border-right: .25rem solid $blockquote-border-color; border-right: .25rem solid $blockquote-border-color;
border-left: 0; border-left: 0;
text-align: right;
// Account for citation // Account for citation
footer { footer {
&:before { content: ''; } &:before { content: ""; }
&:after { &:after {
content: '\00A0 \2014'; // nbsp, em dash content: "\00A0 \2014"; // nbsp, em dash
} }
} }
} }
......
...@@ -103,15 +103,15 @@ ...@@ -103,15 +103,15 @@
} }
@include media-sm-max { @include media-sm-max {
@include responsive-invisibility('.hidden-sm'); @include responsive-invisibility(".hidden-sm");
} }
@include media-md-max { @include media-md-max {
@include responsive-invisibility('.hidden-md'); @include responsive-invisibility(".hidden-md");
} }
@include media-lg { @include media-lg {
@include responsive-invisibility('.hidden-lg'); @include responsive-invisibility(".hidden-lg");
} }
...@@ -143,6 +143,6 @@ ...@@ -143,6 +143,6 @@
.hidden-print { .hidden-print {
@media print { @media print {
@include responsive-invisibility('.hidden-print'); @include responsive-invisibility(".hidden-print");
} }
} }
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
padding: $spacer; padding: $spacer;
} }
.p-h { .p-h {
padding-left: $spacer;
padding-right: $spacer; padding-right: $spacer;
padding-left: $spacer;
} }
.p-v { .p-v {
padding-top: $spacer; padding-top: $spacer;
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
.pos-f-t { .pos-f-t {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0;
right: 0; right: 0;
left: 0;
z-index: $zindex-navbar-fixed; z-index: $zindex-navbar-fixed;
} }
......
...@@ -7,6 +7,6 @@ ...@@ -7,6 +7,6 @@
"rubygems": { "rubygems": {
"key": "../pseudo_Gemfile.lock", "key": "../pseudo_Gemfile.lock",
"cache": "$GEMDIR", "cache": "$GEMDIR",
"generate": "gem install -N jekyll -v $JEKYLL_VERSION && gem install -N rouge -v $ROUGE_VERSION" "generate": "gem install -N scss-lint -v $SCSS_LINT_VERSION && gem install -N jekyll -v $JEKYLL_VERSION && gem install -N rouge -v $ROUGE_VERSION"
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment