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']);
......
...@@ -192,7 +192,6 @@ td, th { ...@@ -192,7 +192,6 @@ td, th {
padding: 0; padding: 0;
} }
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print { @media print {
*, *:before, *:after { *, *:before, *:after {
color: #000 !important; color: #000 !important;
...@@ -536,7 +535,7 @@ blockquote footer { ...@@ -536,7 +535,7 @@ blockquote footer {
color: #818a91; color: #818a91;
} }
blockquote footer:before { blockquote footer:before {
content: '\2014 \00A0'; content: "\2014 \00A0";
} }
.blockquote-reverse { .blockquote-reverse {
...@@ -547,10 +546,10 @@ blockquote footer:before { ...@@ -547,10 +546,10 @@ blockquote footer:before {
border-left: 0; border-left: 0;
} }
.blockquote-reverse footer:before { .blockquote-reverse footer:before {
content: ''; content: "";
} }
.blockquote-reverse footer:after { .blockquote-reverse footer:after {
content: '\00A0 \2014'; content: "\00A0 \2014";
} }
address { address {
...@@ -2642,9 +2641,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -2642,9 +2641,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: relative; position: relative;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
-webkit-transition: height .35s ease;
-o-transition: height .35s ease;
transition: height .35s ease;
-webkit-transition-timing-function: ease; -webkit-transition-timing-function: ease;
-o-transition-timing-function: ease; -o-transition-timing-function: ease;
transition-timing-function: ease; transition-timing-function: ease;
...@@ -3166,9 +3162,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3166,9 +3162,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
.navbar { .navbar {
position: relative; position: relative;
padding: 1rem; padding: 1rem;
/*min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)*/
margin-bottom: 1; margin-bottom: 1;
/*border: 1px solid transparent;*/
} }
.navbar:before, .navbar:after { .navbar:before, .navbar:after {
display: table; display: table;
...@@ -3223,7 +3217,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3223,7 +3217,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
margin-bottom: 0; margin-bottom: 0;
font-size: 1.25rem; font-size: 1.25rem;
line-height: 1; line-height: 1;
/*height: $navbar-height;*/
} }
.navbar-brand > a:hover, .navbar-brand > a:focus { .navbar-brand > a:hover, .navbar-brand > a:focus {
text-decoration: none; text-decoration: none;
...@@ -3630,7 +3623,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3630,7 +3623,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
.card-columns .card { .card-columns .card {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
/*margin-bottom: 1rem;*/
} }
.breadcrumb { .breadcrumb {
...@@ -3984,7 +3976,6 @@ a.badge:hover, a.badge:focus { ...@@ -3984,7 +3976,6 @@ a.badge:hover, a.badge:focus {
color: #843534; color: #843534;
} }
/*csslint empty-rules: false, important: true*/
@-webkit-keyframes progress-bar-stripes { @-webkit-keyframes progress-bar-stripes {
from { from {
background-position: 1 0; background-position: 1 0;
...@@ -3994,6 +3985,7 @@ a.badge:hover, a.badge:focus { ...@@ -3994,6 +3985,7 @@ a.badge:hover, a.badge:focus {
background-position: 0 0; background-position: 0 0;
} }
} }
@-o-keyframes progress-bar-stripes { @-o-keyframes progress-bar-stripes {
from { from {
background-position: 1 0; background-position: 1 0;
...@@ -4003,6 +3995,7 @@ a.badge:hover, a.badge:focus { ...@@ -4003,6 +3995,7 @@ a.badge:hover, a.badge:focus {
background-position: 0 0; background-position: 0 0;
} }
} }
@keyframes progress-bar-stripes { @keyframes progress-bar-stripes {
from { from {
background-position: 1 0; background-position: 1 0;
...@@ -4429,14 +4422,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4429,14 +4422,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
outline: 0; outline: 0;
} }
.modal.fade .modal-dialog { .modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%); -webkit-transform: transition .3s ease-out, translate(0, -25%);
-webkit-transform: transition .3s ease-out; -ms-transform: transition .3s ease-out, translate(0, -25%);
-ms-transform: translate(0, -25%); -o-transform: transition .3s ease-out, translate(0, -25%);
-ms-transform: transition .3s ease-out; transform: transition .3s ease-out, translate(0, -25%);
-o-transform: translate(0, -25%);
-o-transform: transition .3s ease-out;
transform: translate(0, -25%);
transform: transition .3s ease-out;
} }
.modal.in .modal-dialog { .modal.in .modal-dialog {
-webkit-transform: translate(0, 0); -webkit-transform: translate(0, 0);
...@@ -4737,7 +4726,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4737,7 +4726,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.top > .arrow:after { .popover.top > .arrow:after {
bottom: 1px; bottom: 1px;
margin-left: -10px; margin-left: -10px;
content: " "; content: "";
border-top-color: #fff; border-top-color: #fff;
border-bottom-width: 0; border-bottom-width: 0;
} }
...@@ -4751,7 +4740,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4751,7 +4740,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.right > .arrow:after { .popover.right > .arrow:after {
bottom: -10px; bottom: -10px;
left: 1px; left: 1px;
content: " "; content: "";
border-right-color: #fff; border-right-color: #fff;
border-left-width: 0; border-left-width: 0;
} }
...@@ -4765,7 +4754,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4765,7 +4754,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.bottom > .arrow:after { .popover.bottom > .arrow:after {
top: 1px; top: 1px;
margin-left: -10px; margin-left: -10px;
content: " "; content: "";
border-top-width: 0; border-top-width: 0;
border-bottom-color: #fff; border-bottom-color: #fff;
} }
...@@ -4779,7 +4768,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4779,7 +4768,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.left > .arrow:after { .popover.left > .arrow:after {
right: 1px; right: 1px;
bottom: -10px; bottom: -10px;
content: " "; content: "";
border-right-width: 0; border-right-width: 0;
border-left-color: #fff; border-left-color: #fff;
} }
...@@ -4913,10 +4902,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4913,10 +4902,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
margin-right: -10px; margin-right: -10px;
} }
.carousel-control .icon-prev:before { .carousel-control .icon-prev:before {
content: '\2039'; content: "\2039";
} }
.carousel-control .icon-next:before { .carousel-control .icon-next:before {
content: '\203a'; content: "\203a";
} }
.carousel-indicators { .carousel-indicators {
......
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.
...@@ -192,7 +192,6 @@ td, th { ...@@ -192,7 +192,6 @@ td, th {
padding: 0; padding: 0;
} }
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print { @media print {
*, *:before, *:after { *, *:before, *:after {
color: #000 !important; color: #000 !important;
...@@ -536,7 +535,7 @@ blockquote footer { ...@@ -536,7 +535,7 @@ blockquote footer {
color: #818a91; color: #818a91;
} }
blockquote footer:before { blockquote footer:before {
content: '\2014 \00A0'; content: "\2014 \00A0";
} }
.blockquote-reverse { .blockquote-reverse {
...@@ -547,10 +546,10 @@ blockquote footer:before { ...@@ -547,10 +546,10 @@ blockquote footer:before {
border-left: 0; border-left: 0;
} }
.blockquote-reverse footer:before { .blockquote-reverse footer:before {
content: ''; content: "";
} }
.blockquote-reverse footer:after { .blockquote-reverse footer:after {
content: '\00A0 \2014'; content: "\00A0 \2014";
} }
address { address {
...@@ -2642,9 +2641,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -2642,9 +2641,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
position: relative; position: relative;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
-webkit-transition: height .35s ease;
-o-transition: height .35s ease;
transition: height .35s ease;
-webkit-transition-timing-function: ease; -webkit-transition-timing-function: ease;
-o-transition-timing-function: ease; -o-transition-timing-function: ease;
transition-timing-function: ease; transition-timing-function: ease;
...@@ -3166,9 +3162,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3166,9 +3162,7 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
.navbar { .navbar {
position: relative; position: relative;
padding: 1rem; padding: 1rem;
/*min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)*/
margin-bottom: 1; margin-bottom: 1;
/*border: 1px solid transparent;*/
} }
.navbar:before, .navbar:after { .navbar:before, .navbar:after {
display: table; display: table;
...@@ -3223,7 +3217,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3223,7 +3217,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
margin-bottom: 0; margin-bottom: 0;
font-size: 1.25rem; font-size: 1.25rem;
line-height: 1; line-height: 1;
/*height: $navbar-height;*/
} }
.navbar-brand > a:hover, .navbar-brand > a:focus { .navbar-brand > a:hover, .navbar-brand > a:focus {
text-decoration: none; text-decoration: none;
...@@ -3630,7 +3623,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto ...@@ -3630,7 +3623,6 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto
.card-columns .card { .card-columns .card {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
/*margin-bottom: 1rem;*/
} }
.breadcrumb { .breadcrumb {
...@@ -3984,7 +3976,6 @@ a.badge:hover, a.badge:focus { ...@@ -3984,7 +3976,6 @@ a.badge:hover, a.badge:focus {
color: #843534; color: #843534;
} }
/*csslint empty-rules: false, important: true*/
@-webkit-keyframes progress-bar-stripes { @-webkit-keyframes progress-bar-stripes {
from { from {
background-position: 1 0; background-position: 1 0;
...@@ -4429,14 +4420,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4429,14 +4420,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
outline: 0; outline: 0;
} }
.modal.fade .modal-dialog { .modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%); -webkit-transform: transition .3s ease-out, translate(0, -25%);
-webkit-transform: transition .3s ease-out; -ms-transform: transition .3s ease-out, translate(0, -25%);
-ms-transform: translate(0, -25%); -o-transform: transition .3s ease-out, translate(0, -25%);
-ms-transform: transition .3s ease-out; transform: transition .3s ease-out, translate(0, -25%);
-o-transform: translate(0, -25%);
-o-transform: transition .3s ease-out;
transform: translate(0, -25%);
transform: transition .3s ease-out;
} }
.modal.in .modal-dialog { .modal.in .modal-dialog {
-webkit-transform: translate(0, 0); -webkit-transform: translate(0, 0);
...@@ -4737,7 +4724,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4737,7 +4724,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.top > .arrow:after { .popover.top > .arrow:after {
bottom: 1px; bottom: 1px;
margin-left: -10px; margin-left: -10px;
content: " "; content: "";
border-top-color: #fff; border-top-color: #fff;
border-bottom-width: 0; border-bottom-width: 0;
} }
...@@ -4751,7 +4738,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4751,7 +4738,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.right > .arrow:after { .popover.right > .arrow:after {
bottom: -10px; bottom: -10px;
left: 1px; left: 1px;
content: " "; content: "";
border-right-color: #fff; border-right-color: #fff;
border-left-width: 0; border-left-width: 0;
} }
...@@ -4765,7 +4752,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4765,7 +4752,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.bottom > .arrow:after { .popover.bottom > .arrow:after {
top: 1px; top: 1px;
margin-left: -10px; margin-left: -10px;
content: " "; content: "";
border-top-width: 0; border-top-width: 0;
border-bottom-color: #fff; border-bottom-color: #fff;
} }
...@@ -4779,7 +4766,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4779,7 +4766,7 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
.popover.left > .arrow:after { .popover.left > .arrow:after {
right: 1px; right: 1px;
bottom: -10px; bottom: -10px;
content: " "; content: "";
border-right-width: 0; border-right-width: 0;
border-left-color: #fff; border-left-color: #fff;
} }
...@@ -4913,10 +4900,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro ...@@ -4913,10 +4900,10 @@ a.list-group-item-state.active, a.list-group-item-state.active:hover, a.list-gro
margin-right: -10px; margin-right: -10px;
} }
.carousel-control .icon-prev:before { .carousel-control .icon-prev:before {
content: '\2039'; content: "\2039";
} }
.carousel-control .icon-next:before { .carousel-control .icon-next:before {
content: '\203a'; content: "\203a";
} }
.carousel-indicators { .carousel-indicators {
......
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;
} }
} }
} }
...@@ -187,6 +187,5 @@ ...@@ -187,6 +187,5 @@
.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;
} }
...@@ -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,10 +167,10 @@ ...@@ -167,10 +167,10 @@
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;
...@@ -178,21 +178,20 @@ ...@@ -178,21 +178,20 @@
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,9 +13,9 @@ ...@@ -13,9 +13,9 @@
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;
content: "";
border-top: $caret-width-base solid; 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;
...@@ -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,9 +382,10 @@ input[type="checkbox"] { ...@@ -382,9 +382,10 @@ 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.
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
*, *,
*: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
box-shadow: none !important;
text-shadow: none !important; text-shadow: none !important;
background: transparent !important;
box-shadow: none !important;
} }
a, a,
......
/*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;
} }
......
...@@ -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