diff options
author | Gleb Mazovetskiy <glex.spb@gmail.com> | 2016-01-19 11:50:08 +0300 |
---|---|---|
committer | Gleb Mazovetskiy <glex.spb@gmail.com> | 2016-01-19 11:50:08 +0300 |
commit | 2642b162208bacefa24e6d52a576546392289f46 (patch) | |
tree | b65ee830976596974e99ba39239c39a1a4f644ab /assets/stylesheets | |
parent | b6f12ed698f3a57db519eb7e171b181100b0541a (diff) |
rake update[v4-dev]
Diffstat (limited to 'assets/stylesheets')
45 files changed, 612 insertions, 562 deletions
diff --git a/assets/stylesheets/_bootstrap-grid.scss b/assets/stylesheets/_bootstrap-grid.scss index 5f0db79..ec2282e 100644 --- a/assets/stylesheets/_bootstrap-grid.scss +++ b/assets/stylesheets/_bootstrap-grid.scss @@ -52,6 +52,7 @@ $grid-gutter-width: 1.875rem !default; // 30px // Grid mixins // +@import "bootstrap/custom"; @import "bootstrap/variables"; @import "bootstrap/mixins/clearfix"; diff --git a/assets/stylesheets/_bootstrap-reboot.scss b/assets/stylesheets/_bootstrap-reboot.scss index 1d9592f..cbba413 100644 --- a/assets/stylesheets/_bootstrap-reboot.scss +++ b/assets/stylesheets/_bootstrap-reboot.scss @@ -2,6 +2,7 @@ // // Includes only Normalize and our custom Reboot reset. +@import "bootstrap/custom"; @import "bootstrap/variables"; @import "bootstrap/mixins/hover"; @import "bootstrap/mixins/tab-focus"; diff --git a/assets/stylesheets/_bootstrap.scss b/assets/stylesheets/_bootstrap.scss index 29c5c3b..0710363 100644 --- a/assets/stylesheets/_bootstrap.scss +++ b/assets/stylesheets/_bootstrap.scss @@ -1,10 +1,11 @@ /*! * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. + * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ // Core variables and mixins +@import "bootstrap/custom"; @import "bootstrap/variables"; @import "bootstrap/mixins"; @@ -33,7 +34,6 @@ @import "bootstrap/card"; @import "bootstrap/breadcrumb"; @import "bootstrap/pagination"; -@import "bootstrap/pager"; @import "bootstrap/labels"; @import "bootstrap/jumbotron"; @import "bootstrap/alert"; @@ -51,6 +51,3 @@ // Utility classes @import "bootstrap/utilities"; -@import "bootstrap/utilities-background"; -@import "bootstrap/utilities-spacing"; -@import "bootstrap/utilities-responsive"; diff --git a/assets/stylesheets/bootstrap/_alert.scss b/assets/stylesheets/bootstrap/_alert.scss index b9f6c60..b3dcf03 100644 --- a/assets/stylesheets/bootstrap/_alert.scss +++ b/assets/stylesheets/bootstrap/_alert.scss @@ -35,7 +35,7 @@ // Expand the right padding and account for the close button's positioning. .alert-dismissible { - padding-right: ($alert-padding + 20); + padding-right: ($alert-padding + 20px); // Adjust close link position .close { diff --git a/assets/stylesheets/bootstrap/_breadcrumb.scss b/assets/stylesheets/bootstrap/_breadcrumb.scss index 30af411..1a09bba 100644 --- a/assets/stylesheets/bootstrap/_breadcrumb.scss +++ b/assets/stylesheets/bootstrap/_breadcrumb.scss @@ -1,23 +1,38 @@ .breadcrumb { - padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; + padding: $breadcrumb-padding-y $breadcrumb-padding-x; margin-bottom: $spacer-y; list-style: none; background-color: $breadcrumb-bg; @include border-radius($border-radius); @include clearfix; +} + +.breadcrumb-item { + float: left; - > li { - float: left; + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item::before { + display: inline-block; // Suppress underlining of the separator in modern browsers + padding-right: $breadcrumb-item-padding; + padding-left: $breadcrumb-item-padding; + color: $breadcrumb-divider-color; + content: "#{$breadcrumb-divider}"; + } - + li::before { - padding-right: .5rem; - padding-left: .5rem; - color: $breadcrumb-divider-color; - content: "#{$breadcrumb-divider}"; - } + // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built + // without `<ul>`s. The `::before` pseudo-element generates an element + // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. + // + // To trick IE into suppressing the underline, we give the pseudo-element an + // underline and then immediately remove it. + + .breadcrumb-item:hover::before { + text-decoration: underline; + } + + .breadcrumb-item:hover::before { + text-decoration: none; } - > .active { + &.active { color: $breadcrumb-active-color; } } diff --git a/assets/stylesheets/bootstrap/_button-group.scss b/assets/stylesheets/bootstrap/_button-group.scss index 7efe144..3ef563f 100644 --- a/assets/stylesheets/bootstrap/_button-group.scss +++ b/assets/stylesheets/bootstrap/_button-group.scss @@ -33,7 +33,7 @@ // Optional: Group multiple button groups together for a toolbar .btn-toolbar { - margin-left: -5px; // Offset the first child's margin + margin-left: -$btn-toolbar-margin; // Offset the first child's margin @include clearfix(); .btn-group, @@ -44,7 +44,7 @@ > .btn, > .btn-group, > .input-group { - margin-left: 5px; + margin-left: $btn-toolbar-margin; } } @@ -104,18 +104,18 @@ // Give the line between buttons some depth .btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; + padding-right: $split-btn-dropdown-toggle-padding-x; + padding-left: $split-btn-dropdown-toggle-padding-x; } .btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; + padding-right: $split-btn-lg-dropdown-toggle-padding-x; + padding-left: $split-btn-lg-dropdown-toggle-padding-x; } // The clickable button for toggling the menu // Remove the gradient and set the same inset shadow as the :active state .btn-group.open .dropdown-toggle { - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + @include box-shadow($btn-active-box-shadow); // Show no shadow for `.btn-link` since it has no other button styles. &.btn-link { @@ -177,11 +177,9 @@ border-radius: 0; } &:first-child:not(:last-child) { - border-top-right-radius: $btn-border-radius; @include border-bottom-radius(0); } &:last-child:not(:first-child) { - border-bottom-left-radius: $btn-border-radius; @include border-top-radius(0); } } diff --git a/assets/stylesheets/bootstrap/_buttons.scss b/assets/stylesheets/bootstrap/_buttons.scss index 7375528..640fe1d 100644 --- a/assets/stylesheets/bootstrap/_buttons.scss +++ b/assets/stylesheets/bootstrap/_buttons.scss @@ -34,7 +34,7 @@ &.active { background-image: none; outline: 0; - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + @include box-shadow($btn-active-box-shadow); } &.disabled, @@ -76,22 +76,22 @@ fieldset[disabled] a.btn { } // Remove all backgrounds -.btn-primary-outline { +.btn-outline-primary { @include button-outline-variant($btn-primary-bg); } -.btn-secondary-outline { +.btn-outline-secondary { @include button-outline-variant($btn-secondary-border); } -.btn-info-outline { +.btn-outline-info { @include button-outline-variant($btn-info-bg); } -.btn-success-outline { +.btn-outline-success { @include button-outline-variant($btn-success-bg); } -.btn-warning-outline { +.btn-outline-warning { @include button-outline-variant($btn-warning-bg); } -.btn-danger-outline { +.btn-outline-danger { @include button-outline-variant($btn-danger-bg); } @@ -160,7 +160,7 @@ fieldset[disabled] a.btn { // Vertically space out multiple block buttons .btn-block + .btn-block { - margin-top: 5px; + margin-top: $btn-block-spacing-y; } // Specificity overrides diff --git a/assets/stylesheets/bootstrap/_card.scss b/assets/stylesheets/bootstrap/_card.scss index ecd797e..3982f6e 100644 --- a/assets/stylesheets/bootstrap/_card.scss +++ b/assets/stylesheets/bootstrap/_card.scss @@ -12,6 +12,7 @@ } .card-block { + @include clearfix; padding: $card-spacer-x; } @@ -68,6 +69,7 @@ // .card-header { + @include clearfix; padding: $card-spacer-y $card-spacer-x; background-color: $card-cap-bg; border-bottom: $card-border-width solid $card-border-color; @@ -78,6 +80,7 @@ } .card-footer { + @include clearfix; padding: $card-spacer-y $card-spacer-x; background-color: $card-cap-bg; border-top: $card-border-width solid $card-border-color; @@ -109,22 +112,22 @@ } // Remove all backgrounds -.card-primary-outline { +.card-outline-primary { @include card-outline-variant($btn-primary-bg); } -.card-secondary-outline { +.card-outline-secondary { @include card-outline-variant($btn-secondary-border); } -.card-info-outline { +.card-outline-info { @include card-outline-variant($btn-info-bg); } -.card-success-outline { +.card-outline-success { @include card-outline-variant($btn-success-bg); } -.card-warning-outline { +.card-outline-warning { @include card-outline-variant($btn-warning-bg); } -.card-danger-outline { +.card-outline-danger { @include card-outline-variant($btn-danger-bg); } @@ -180,22 +183,23 @@ .card-deck { display: flex; flex-flow: row wrap; - margin-right: -.625rem; - margin-left: -.625rem; + margin-right: -$card-deck-margin; + margin-left: -$card-deck-margin; .card { flex: 1 0 0; - margin-right: .625rem; - margin-left: .625rem; + margin-right: $card-deck-margin; + margin-left: $card-deck-margin; } } } } @else { @include media-breakpoint-up(sm) { + $space-between-cards: (2 * $card-deck-margin); .card-deck { display: table; table-layout: fixed; - border-spacing: 1.25rem 0; + border-spacing: $space-between-cards 0; .card { display: table-cell; @@ -204,8 +208,8 @@ } } .card-deck-wrapper { - margin-right: -1.25rem; - margin-left: -1.25rem; + margin-right: (-$space-between-cards); + margin-left: (-$space-between-cards); } } } diff --git a/assets/stylesheets/bootstrap/_carousel.scss b/assets/stylesheets/bootstrap/_carousel.scss index bf0ea61..af8c95c 100644 --- a/assets/stylesheets/bootstrap/_carousel.scss +++ b/assets/stylesheets/bootstrap/_carousel.scss @@ -102,12 +102,12 @@ // Set gradients for backgrounds &.left { - @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); + @include gradient-x($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001)); } &.right { right: 0; left: auto; - @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); + @include gradient-x($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5)); } // Hover/focus state diff --git a/assets/stylesheets/bootstrap/_code.scss b/assets/stylesheets/bootstrap/_code.scss index 60bbcae..a9ddb4c 100644 --- a/assets/stylesheets/bootstrap/_code.scss +++ b/assets/stylesheets/bootstrap/_code.scss @@ -22,7 +22,7 @@ kbd { color: $kbd-color; background-color: $kbd-bg; @include border-radius($border-radius-sm); - @include box-shadow(inset 0 -.1rem 0 rgba(0,0,0,.25)); + @include box-shadow($kbd-box-shadow); kbd { padding: 0; diff --git a/assets/stylesheets/bootstrap/_custom-forms.scss b/assets/stylesheets/bootstrap/_custom-forms.scss index b418b84..88723a2 100644 --- a/assets/stylesheets/bootstrap/_custom-forms.scss +++ b/assets/stylesheets/bootstrap/_custom-forms.scss @@ -1,3 +1,5 @@ +// scss-lint:disable PropertyCount + // Embedded icons from Open Iconic. // Released under MIT and copyright 2014 Waybury. // http://useiconic.com/open @@ -7,38 +9,48 @@ // // Base class takes care of all the key behavioral aspects. -.c-input { +.custom-control { position: relative; display: inline; - padding-left: 1.5rem; - color: #555; - cursor: pointer; + padding-left: $custom-control-gutter; - > input { - position: absolute; - z-index: -1; // Put the input behind the label so it doesn't overlay text - opacity: 0; + + .custom-control { + margin-left: $custom-control-spacer-x; + } +} - &:checked ~ .c-indicator { - color: #fff; - background-color: #0074d9; - @include box-shadow(none); - } +.custom-control-input { + position: absolute; + z-index: -1; // Put the input behind the label so it doesn't overlay text + opacity: 0; - &:focus ~ .c-indicator { - // the mixin is not used here to make sure there is feedback - box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; - } + &:checked ~ .custom-control-indicator { + color: $custom-control-checked-indicator-color; + background-color: $custom-control-checked-indicator-bg; + @include box-shadow($custom-control-checked-indicator-box-shadow); + } - &:active ~ .c-indicator { - color: #fff; - background-color: #84c6ff; - @include box-shadow(none); - } + &:focus ~ .custom-control-indicator { + // the mixin is not used here to make sure there is feedback + box-shadow: $custom-control-focus-indicator-box-shadow; + } + + &:active ~ .custom-control-indicator { + color: $custom-control-active-indicator-color; + background-color: $custom-control-active-indicator-bg; + @include box-shadow($custom-control-active-indicator-box-shadow); } - + .c-input { - margin-left: 1rem; + &:disabled { + ~ .custom-control-indicator { + cursor: $custom-control-disabled-cursor; + background-color: $custom-control-disabled-indicator-bg; + } + + ~ .custom-control-description { + color: $custom-control-disabled-description-color; + cursor: $custom-control-disabled-cursor; + } } } @@ -46,42 +58,39 @@ // // Generates a shadow element to create our makeshift checkbox/radio background. -.c-indicator { +.custom-control-indicator { position: absolute; - top: 0; + top: .0625rem; left: 0; display: block; - width: 1rem; - height: 1rem; - font-size: 65%; - line-height: 1rem; - color: #eee; - text-align: center; + width: $custom-control-indicator-size; + height: $custom-control-indicator-size; + pointer-events: none; user-select: none; - background-color: #eee; + background-color: $custom-control-indicator-bg; background-repeat: no-repeat; background-position: center center; - background-size: 50% 50%; - @include box-shadow(inset 0 .125rem .125rem rgba(0,0,0,.1)); + background-size: $custom-control-indicator-bg-size; + @include box-shadow($custom-control-indicator-box-shadow); } // Checkboxes // // Tweak just a few things for checkboxes. -.c-checkbox { - .c-indicator { - border-radius: .25rem; +.custom-checkbox { + .custom-control-indicator { + @include border-radius($custom-checkbox-radius); } - input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); + .custom-control-input:checked ~ .custom-control-indicator { + background-image: url(#{$custom-checkbox-checked-icon}); } - input:indeterminate ~ .c-indicator { - background-color: #0074d9; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); - @include box-shadow(none); + .custom-control-input:indeterminate ~ .custom-control-indicator { + background-color: $custom-checkbox-indeterminate-bg; + background-image: url(#{$custom-checkbox-indeterminate-icon}); + @include box-shadow($custom-checkbox-indeterminate-box-shadow); } } @@ -89,13 +98,13 @@ // // Tweak just a few things for radios. -.c-radio { - .c-indicator { - border-radius: 50%; +.custom-radio { + .custom-control-indicator { + border-radius: $custom-radio-radius; } - input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); + .custom-control-input:checked ~ .custom-control-indicator { + background-image: url(#{$custom-radio-checked-icon}); } } @@ -105,17 +114,17 @@ // By default radios and checkboxes are `inline-block` with no additional spacing // set. Use these optional classes to tweak the layout. -.c-inputs-stacked { - .c-input { +.custom-controls-stacked { + .custom-control { display: inline; &::after { display: block; - margin-bottom: .25rem; + margin-bottom: $custom-control-spacer-y; content: ""; } - + .c-input { + + .custom-control { margin-left: 0; } } @@ -129,25 +138,26 @@ // // Includes IE9-specific hacks (noted by ` \9`). -.c-select { +.custom-select { display: inline-block; max-width: 100%; - padding: .375rem 1.75rem .375rem .75rem; - padding-right: .75rem \9; - color: $input-color; + padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x; + padding-right: $custom-select-padding-x \9; + color: $custom-select-color; vertical-align: middle; - background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center; + background: $custom-select-bg url(#{$custom-select-indicator}) no-repeat right $custom-select-padding-x center; background-image: none \9; - background-size: 8px 10px; - border: $input-btn-border-width solid $input-border-color; + background-size: $custom-select-bg-size; + border: $custom-select-border-width solid $custom-select-border-color; + @include border-radius($custom-select-border-radius); // Use vendor prefixes as `appearance` isn't part of the CSS spec. -moz-appearance: none; -webkit-appearance: none; &:focus { - border-color: #51a7e8; + border-color: $custom-select-focus-border-color; outline: none; - @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5)); + @include box-shadow($custom-select-focus-box-shadow); } // Hides the default caret in IE11 @@ -156,15 +166,15 @@ } } -.c-select-sm { - padding-top: 3px; - padding-bottom: 3px; - font-size: 12px; +.custom-select-sm { + padding-top: $custom-select-padding-y; + padding-bottom: $custom-select-padding-y; + font-size: $custom-select-sm-font-size; - &:not([multiple]) { - height: 26px; - min-height: 26px; - } + // &:not([multiple]) { + // height: 26px; + // min-height: 26px; + // } } @@ -172,55 +182,60 @@ // // Custom file input. -.file { +.custom-file { position: relative; display: inline-block; - height: 2.5rem; + max-width: 100%; + height: $custom-file-height; cursor: pointer; } -.file input { - min-width: 14rem; + +.custom-file-input { + min-width: $custom-file-width; + max-width: 100%; margin: 0; filter: alpha(opacity = 0); opacity: 0; + + &:focus ~ .custom-file-control { + @include box-shadow($custom-file-focus-box-shadow); + } } -.file-custom { + +.custom-file-control { position: absolute; top: 0; right: 0; left: 0; z-index: 5; - height: 2.5rem; - padding: .5rem 1rem; - line-height: 1.5; - color: #555; + height: $custom-file-height; + padding: $custom-file-padding-x $custom-file-padding-y; + line-height: $custom-file-line-height; + color: $custom-file-color; user-select: none; - background-color: #fff; - border: $input-btn-border-width solid #ddd; - border-radius: .25rem; - @include box-shadow(inset 0 .2rem .4rem rgba(0,0,0,.05)); -} -.file-custom::after { - content: "Choose file..."; -} -.file-custom::before { - position: absolute; - top: -.075rem; - right: -.075rem; - bottom: -.075rem; - z-index: 6; - display: block; - height: 2.5rem; - padding: .5rem 1rem; - line-height: 1.5; - color: #555; - content: "Browse"; - background-color: #eee; - border: $input-btn-border-width solid #ddd; - border-radius: 0 .25rem .25rem 0; -} + background-color: $custom-file-bg; + border: $custom-file-border-width solid $custom-file-border-color; + @include border-radius($custom-file-border-radius); + @include box-shadow($custom-file-box-shadow); -// Focus state -.file input:focus ~ .file-custom { - @include box-shadow(0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9); + &::after { + content: $custom-file-placeholder; + } + + &::before { + position: absolute; + top: -$custom-file-border-width; + right: -$custom-file-border-width; + bottom: -$custom-file-border-width; + z-index: 6; + display: block; + height: $custom-file-height; + padding: $custom-file-padding-x $custom-file-padding-y; + line-height: $custom-file-line-height; + color: $custom-file-button-color; + content: $custom-file-button-label; + background-color: $custom-file-button-bg; + border: $custom-file-border-width solid $custom-file-border-color; + @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); + } } diff --git a/assets/stylesheets/bootstrap/_custom.scss b/assets/stylesheets/bootstrap/_custom.scss new file mode 100644 index 0000000..88ccf20 --- /dev/null +++ b/assets/stylesheets/bootstrap/_custom.scss @@ -0,0 +1,4 @@ +// Bootstrap overrides +// +// Copy variables from `_variables.scss` to this file to override default values +// without modifying source files. diff --git a/assets/stylesheets/bootstrap/_dropdown.scss b/assets/stylesheets/bootstrap/_dropdown.scss index d9776d5..cf4472a 100644 --- a/assets/stylesheets/bootstrap/_dropdown.scss +++ b/assets/stylesheets/bootstrap/_dropdown.scss @@ -53,7 +53,7 @@ background-clip: padding-box; border: $dropdown-border-width solid $dropdown-border-color; @include border-radius($border-radius); - @include box-shadow(0 6px 12px rgba(0,0,0,.175)); + @include box-shadow($dropdown-box-shadow); } // Dividers (basically an `<hr>`) within the dropdown @@ -161,7 +161,7 @@ right: 0; bottom: 0; left: 0; - z-index: ($zindex-dropdown - 10); + z-index: $zindex-dropdown-backdrop; } // Right aligned dropdowns diff --git a/assets/stylesheets/bootstrap/_forms.scss b/assets/stylesheets/bootstrap/_forms.scss index 20a70b3..6de81fc 100644 --- a/assets/stylesheets/bootstrap/_forms.scss +++ b/assets/stylesheets/bootstrap/_forms.scss @@ -90,28 +90,30 @@ // set a pixel line-height that matches the given height of the input, but only // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848 // -// Note that as of 8.3, iOS doesn't support `datetime` or `week`. - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"], - input[type="time"], - input[type="datetime-local"], - input[type="month"] { - &.form-control { - line-height: $input-height; - } +// Note that as of 8.3, iOS doesn't support `week`. + +// SCSS-Lint exemption until https://github.com/brigade/scss-lint/pull/672 gets merged +// scss-lint:disable PseudoElement +_::-webkit-full-page-media, // Hack to make this CSS be Safari-only; see http://browserbu.gs/css-hacks/webkit-full-page-media/ +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + &.form-control { + line-height: $input-height; + } - &.input-sm, - .input-group-sm &.form-control { - line-height: $input-height-sm; - } + &.input-sm, + .input-group-sm &.form-control { + line-height: $input-height-sm; + } - &.input-lg, - .input-group-lg &.form-control { - line-height: $input-height-lg; - } + &.input-lg, + .input-group-lg &.form-control { + line-height: $input-height-lg; } } +// scss-lint:enable PseudoElement // Static form control text @@ -184,7 +186,6 @@ label { padding-left: 1.25rem; margin-bottom: 0; - font-weight: normal; cursor: pointer; // When there's no labels, don't position the input. @@ -216,7 +217,6 @@ display: inline-block; padding-left: 1.25rem; margin-bottom: 0; - font-weight: normal; vertical-align: middle; cursor: pointer; } diff --git a/assets/stylesheets/bootstrap/_grid.scss b/assets/stylesheets/bootstrap/_grid.scss index a71f3aa..d846f09 100644 --- a/assets/stylesheets/bootstrap/_grid.scss +++ b/assets/stylesheets/bootstrap/_grid.scss @@ -2,23 +2,24 @@ // // Set the container width, and override it for fixed navbars in media queries. -.container { - @include make-container(); - @include make-container-max-widths(); - +@if $enable-grid-classes { + .container { + @include make-container(); + @include make-container-max-widths(); + } } - // Fluid container // // Utilizes the mixin meant for fixed width containers, but without any defined // width for fluid, full width layouts. -.container-fluid { - @include make-container(); +@if $enable-grid-classes { + .container-fluid { + @include make-container(); + } } - // Row // // Rows contain and clear the floats of your columns. diff --git a/assets/stylesheets/bootstrap/_images.scss b/assets/stylesheets/bootstrap/_images.scss index 81e823c..60e8fc9 100644 --- a/assets/stylesheets/bootstrap/_images.scss +++ b/assets/stylesheets/bootstrap/_images.scss @@ -22,7 +22,7 @@ border: $thumbnail-border-width solid $thumbnail-border-color; border-radius: $thumbnail-border-radius; transition: all .2s ease-in-out; - @include box-shadow(0 1px 2px rgba(0,0,0,.075)); + @include box-shadow($thumbnail-box-shadow); // Keep them at most 100% wide @include img-fluid(inline-block); diff --git a/assets/stylesheets/bootstrap/_input-group.scss b/assets/stylesheets/bootstrap/_input-group.scss index e6681eb..eeca6ee 100644 --- a/assets/stylesheets/bootstrap/_input-group.scss +++ b/assets/stylesheets/bootstrap/_input-group.scss @@ -87,7 +87,7 @@ padding: $input-padding-y $input-padding-x; font-size: $font-size-base; font-weight: normal; - line-height: 1; + line-height: 1.5; color: $input-color; text-align: center; background-color: $input-group-addon-bg; diff --git a/assets/stylesheets/bootstrap/_media.scss b/assets/stylesheets/bootstrap/_media.scss index 4163db3..d970c94 100644 --- a/assets/stylesheets/bootstrap/_media.scss +++ b/assets/stylesheets/bootstrap/_media.scss @@ -14,7 +14,7 @@ } } @else { .media { - margin-top: 15px; + margin-top: $media-margin-top; &:first-child { margin-top: 0; @@ -23,7 +23,6 @@ .media, .media-body { overflow: hidden; - zoom: 1; } .media-body { width: 10000px; @@ -62,11 +61,11 @@ // .media-right { - padding-left: 10px; + padding-left: $media-alignment-padding-x; } .media-left { - padding-right: 10px; + padding-right: $media-alignment-padding-x; } @@ -76,7 +75,7 @@ .media-heading { margin-top: 0; - margin-bottom: 5px; + margin-bottom: $media-heading-margin-bottom; } diff --git a/assets/stylesheets/bootstrap/_modal.scss b/assets/stylesheets/bootstrap/_modal.scss index 046810f..c43d55b 100644 --- a/assets/stylesheets/bootstrap/_modal.scss +++ b/assets/stylesheets/bootstrap/_modal.scss @@ -49,8 +49,8 @@ background-color: $modal-content-bg; background-clip: padding-box; border: 1px solid $modal-content-border-color; - border-radius: $border-radius-lg; - @include box-shadow(0 3px 9px rgba(0,0,0,.5)); + @include border-radius($border-radius-lg); + @include box-shadow($modal-content-xs-box-shadow); // Remove focus outline from opened modal outline: 0; } @@ -134,7 +134,7 @@ margin: 30px auto; } .modal-content { - @include box-shadow(0 5px 15px rgba(0,0,0,.5)); + @include box-shadow($modal-content-sm-up-box-shadow); } // Modal sizes diff --git a/assets/stylesheets/bootstrap/_nav.scss b/assets/stylesheets/bootstrap/_nav.scss index f7b83c6..6bb09fd 100644 --- a/assets/stylesheets/bootstrap/_nav.scss +++ b/assets/stylesheets/bootstrap/_nav.scss @@ -23,7 +23,7 @@ @include plain-hover-focus { color: $nav-disabled-link-hover-color; cursor: $cursor-disabled; - background-color: transparent; + background-color: $nav-disabled-link-hover-bg; } } } @@ -38,7 +38,7 @@ .nav-item + .nav-item, .nav-link + .nav-link { - margin-left: 1rem; + margin-left: $nav-item-inline-spacer; } } @@ -48,23 +48,23 @@ // .nav-tabs { - border-bottom: 1px solid $nav-tabs-border-color; + border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; @include clearfix(); .nav-item { float: left; // Make the list-items overlay the bottom border - margin-bottom: -1px; + margin-bottom: -$nav-tabs-border-width; + .nav-item { - margin-left: .2rem; + margin-left: $nav-item-margin; } } .nav-link { display: block; padding: $nav-link-padding; - border: $nav-tabs-link-border-width solid transparent; + border: $nav-tabs-border-width solid transparent; @include border-radius($border-radius $border-radius 0 0); @include hover-focus { @@ -88,6 +88,13 @@ border-color: $nav-tabs-active-link-hover-border-color $nav-tabs-active-link-hover-border-color transparent; } } + + .dropdown-menu { + // Make dropdown border overlap tab border + margin-top: -$nav-tabs-border-width; + // Remove the top rounded corners here since there is a hard edge above the menu + @include border-top-radius(0); + } } @@ -102,7 +109,7 @@ float: left; + .nav-item { - margin-left: .2rem; + margin-left: $nav-item-margin; } } @@ -115,9 +122,9 @@ .nav-link.active, .nav-item.open .nav-link { @include plain-hover-focus { - color: $component-active-color; + color: $nav-pills-active-link-color; cursor: default; - background-color: $component-active-bg; + background-color: $nav-pills-active-link-bg; } } } @@ -128,7 +135,7 @@ float: none; + .nav-item { - margin-top: .2rem; + margin-top: $nav-item-margin; margin-left: 0; } } @@ -148,15 +155,3 @@ display: block; } } - - -// -// Dropdowns -// - -.nav-tabs .dropdown-menu { - // Make dropdown border overlap tab border - margin-top: -1px; - // Remove the top rounded corners here since there is a hard edge above the menu - @include border-top-radius(0); -} diff --git a/assets/stylesheets/bootstrap/_pager.scss b/assets/stylesheets/bootstrap/_pager.scss deleted file mode 100644 index 9330360..0000000 --- a/assets/stylesheets/bootstrap/_pager.scss +++ /dev/null @@ -1,57 +0,0 @@ -.pager { - padding-left: 0; - margin-top: $spacer-y; - margin-bottom: $spacer-y; - text-align: center; - list-style: none; - @include clearfix(); - - li { - display: inline; - - > a, - > span { - display: inline-block; - padding: 5px 14px; - background-color: $pager-bg; - border: $pager-border-width solid $pager-border-color; - border-radius: $pager-border-radius; - } - - > a { - @include hover-focus { - text-decoration: none; - background-color: $pager-hover-bg; - } - } - } - - .disabled { - > a { - @include plain-hover-focus { - color: $pager-disabled-color; - cursor: $cursor-disabled; - background-color: $pager-bg; - } - } - > span { - color: $pager-disabled-color; - cursor: $cursor-disabled; - background-color: $pager-bg; - } - } -} - -.pager-next { - > a, - > span { - float: right; - } -} - -.pager-prev { - > a, - > span { - float: left; - } -} diff --git a/assets/stylesheets/bootstrap/_pagination.scss b/assets/stylesheets/bootstrap/_pagination.scss index d0c3765..c0b8239 100644 --- a/assets/stylesheets/bootstrap/_pagination.scss +++ b/assets/stylesheets/bootstrap/_pagination.scss @@ -34,6 +34,7 @@ &.disabled .page-link { @include plain-hover-focus { color: $pagination-disabled-color; + pointer-events: none; cursor: $cursor-disabled; background-color: $pagination-disabled-bg; border-color: $pagination-disabled-border; diff --git a/assets/stylesheets/bootstrap/_popover.scss b/assets/stylesheets/bootstrap/_popover.scss index 39f5542..303850c 100644 --- a/assets/stylesheets/bootstrap/_popover.scss +++ b/assets/stylesheets/bootstrap/_popover.scss @@ -14,7 +14,7 @@ background-clip: padding-box; border: $popover-border-width solid $popover-border-color; @include border-radius($border-radius-lg); - @include box-shadow(0 5px 10px rgba(0,0,0,.2)); + @include box-shadow($popover-box-shadow); // Popover directions @@ -103,16 +103,17 @@ // Offset the popover to account for the popover arrow .popover-title { - padding: 8px 14px; + padding: $popover-title-padding-y $popover-title-padding-x; margin: 0; // reset heading margin font-size: $font-size-base; background-color: $popover-title-bg; border-bottom: $popover-border-width solid darken($popover-title-bg, 5%); - @include border-radius(($border-radius-lg - 1) ($border-radius-lg - 1) 0 0); + $offset-border-width: ($border-width / $font-size-root); + @include border-radius(($border-radius-lg - $offset-border-width) ($border-radius-lg - $offset-border-width) 0 0); } .popover-content { - padding: 9px 14px; + padding: $popover-content-padding-y $popover-content-padding-x; } diff --git a/assets/stylesheets/bootstrap/_progress.scss b/assets/stylesheets/bootstrap/_progress.scss index 382307b..8cac202 100644 --- a/assets/stylesheets/bootstrap/_progress.scss +++ b/assets/stylesheets/bootstrap/_progress.scss @@ -20,7 +20,7 @@ } .progress[value] { // Set overall background - background-color: #eee; + background-color: $progress-bg; // Remove Firefox and Opera border border: 0; // Reset the default appearance @@ -28,80 +28,58 @@ // Set overall border radius @include border-radius($border-radius); } + +// Filled-in portion of the bar .progress[value]::-ms-fill { - background-color: #0074d9; + background-color: $progress-bar-color; // Remove right-hand border of value bar from IE10+/Edge border: 0; } -.progress[value]::-webkit-progress-bar { - background-color: #eee; - @include border-radius($border-radius); - @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); -} -.progress[value]::-webkit-progress-value::before { - content: attr(value); +.progress[value]::-moz-progress-bar { + background-color: $progress-bar-color; + @include border-left-radius($border-radius); } .progress[value]::-webkit-progress-value { - background-color: #0074d9; - border-top-left-radius: $border-radius; - border-bottom-left-radius: $border-radius; + background-color: $progress-bar-color; + @include border-left-radius($border-radius); +} +// Tweaks for full progress bar +.progress[value="100"]::-moz-progress-bar { + @include border-right-radius($border-radius); } .progress[value="100"]::-webkit-progress-value { - border-top-right-radius: $border-radius; - border-bottom-right-radius: $border-radius; + @include border-right-radius($border-radius); } -// Firefox styles must be entirely separate or it busts Webkit styles. -// -// Commented out for now because linter. -// -// $-moz-document url-prefix() { -// .progress[value] { -// background-color: #eee; -// .border-radius($border-radius); -// .box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); -// } -// .progress[value]::-moz-progress-bar { -// background-color: #0074d9; -// border-top-left-radius: $border-radius; -// border-bottom-left-radius: $border-radius; -// } -// .progress[value="0"]::-moz-progress-bar { -// color: $gray-light; -// min-width: 2rem; -// background-color: transparent; -// background-image: none; -// } -// .progress[value="100"]::-moz-progress-bar { -// border-top-right-radius: $border-radius; -// border-bottom-right-radius: $border-radius; -// } -// } +// Unfilled portion of the bar +.progress[value]::-webkit-progress-bar { + background-color: $progress-bg; + @include border-radius($border-radius); + @include box-shadow($progress-box-shadow); +} +base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make these styles Firefox-only +.progress[value] { + background-color: $progress-bg; + @include border-radius($border-radius); + @include box-shadow($progress-box-shadow); +} // IE9 hacks to accompany custom markup. We don't need to scope this via media queries, but I feel better doing it anyway. @media screen and (min-width:0\0) { .progress { - background-color: #eee; + background-color: $progress-bg; @include border-radius($border-radius); - @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); + @include box-shadow($progress-box-shadow); } .progress-bar { display: inline-block; height: $spacer-y; text-indent: -999rem; // Simulate hiding of value as in native `<progress>` - background-color: #0074d9; - border-top-left-radius: $border-radius; - border-bottom-left-radius: $border-radius; - } - .progress[width^="0"] { - min-width: 2rem; - color: $gray-light; - background-color: transparent; - background-image: none; + background-color: $progress-bar-color; + @include border-left-radius($border-radius); } .progress[width="100%"] { - border-top-right-radius: $border-radius; - border-bottom-right-radius: $border-radius; + @include border-right-radius($border-radius); } } diff --git a/assets/stylesheets/bootstrap/_reboot.scss b/assets/stylesheets/bootstrap/_reboot.scss index a3e4175..5b0f09b 100644 --- a/assets/stylesheets/bootstrap/_reboot.scss +++ b/assets/stylesheets/bootstrap/_reboot.scss @@ -62,6 +62,13 @@ html { html { // Sets a specific default `font-size` for user with `rem` type scales. font-size: $font-size-root; + // As a side-effect of setting the @viewport above, + // IE11 & Edge make the scrollbar overlap the content and automatically hide itself when not in use. + // Unfortunately, the auto-showing of the scrollbar is sometimes too sensitive, + // thus making it hard to click on stuff near the right edge of the page. + // So we add this style to force IE11 & Edge to use a "normal", non-overlapping, non-auto-hiding scrollbar. + // See https://github.com/twbs/bootstrap/issues/18543 + -ms-overflow-style: scrollbar; // Changes the default tap highlight to be completely transparent in iOS. -webkit-tap-highlight-color: rgba(0,0,0,0); } diff --git a/assets/stylesheets/bootstrap/_tooltip.scss b/assets/stylesheets/bootstrap/_tooltip.scss index 941579e..a17aefc 100644 --- a/assets/stylesheets/bootstrap/_tooltip.scss +++ b/assets/stylesheets/bootstrap/_tooltip.scss @@ -14,7 +14,7 @@ &.tooltip-top, &.bs-tether-element-attached-bottom { padding: $tooltip-arrow-width 0; - margin-top: -3px; + margin-top: -$tooltip-margin; .tooltip-arrow { bottom: 0; @@ -27,7 +27,7 @@ &.tooltip-right, &.bs-tether-element-attached-left { padding: 0 $tooltip-arrow-width; - margin-left: 3px; + margin-left: $tooltip-margin; .tooltip-arrow { top: 50%; @@ -40,7 +40,7 @@ &.tooltip-bottom, &.bs-tether-element-attached-top { padding: $tooltip-arrow-width 0; - margin-top: 3px; + margin-top: $tooltip-margin; .tooltip-arrow { top: 0; @@ -53,7 +53,7 @@ &.tooltip-left, &.bs-tether-element-attached-right { padding: 0 $tooltip-arrow-width; - margin-left: -3px; + margin-left: -$tooltip-margin; .tooltip-arrow { top: 50%; @@ -68,7 +68,7 @@ // Wrapper for the tooltip content .tooltip-inner { max-width: $tooltip-max-width; - padding: 3px 8px; + padding: $tooltip-padding-y $tooltip-padding-x; color: $tooltip-color; text-align: center; background-color: $tooltip-bg; diff --git a/assets/stylesheets/bootstrap/_type.scss b/assets/stylesheets/bootstrap/_type.scss index f770d20..60f983a 100644 --- a/assets/stylesheets/bootstrap/_type.scss +++ b/assets/stylesheets/bootstrap/_type.scss @@ -101,13 +101,6 @@ mark, } } -// Horizontal description lists w/ grid classes -.dl-horizontal { - margin-right: -$grid-gutter-width; - margin-left: -$grid-gutter-width; - @include clearfix; -} - // // Misc diff --git a/assets/stylesheets/bootstrap/_utilities.scss b/assets/stylesheets/bootstrap/_utilities.scss index 520666e..c0df122 100644 --- a/assets/stylesheets/bootstrap/_utilities.scss +++ b/assets/stylesheets/bootstrap/_utilities.scss @@ -1,95 +1,8 @@ -// -// Floats -// - -.clearfix { - @include clearfix(); -} - -.center-block { - @include center-block(); -} - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - .pull-#{$breakpoint}-left { - @include pull-left(); - } - .pull-#{$breakpoint}-right { - @include pull-right(); - } - .pull-#{$breakpoint}-none { - float: none !important; - } - } -} - - -// -// Screenreaders -// - -.sr-only { - @include sr-only(); -} - -.sr-only-focusable { - @include sr-only-focusable(); -} - -.invisible { - visibility: hidden !important; -} - -.text-hide { - @include text-hide(); -} - - -// -// Text -// - -// Alignment - -.text-justify { text-align: justify !important; } -.text-nowrap { white-space: nowrap !important; } -.text-truncate { @include text-truncate; } - -// Responsive alignment - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - .text-#{$breakpoint}-left { text-align: left !important; } - .text-#{$breakpoint}-right { text-align: right !important; } - .text-#{$breakpoint}-center { text-align: center !important; } - } -} - -// Transformation - -.text-lowercase { text-transform: lowercase !important; } -.text-uppercase { text-transform: uppercase !important; } -.text-capitalize { text-transform: capitalize !important; } - -// Weight and italics - -.font-weight-normal { font-weight: normal; } -.font-weight-bold { font-weight: bold; } -.font-italic { font-style: italic; } - -// Contextual colors - -.text-muted { - color: $text-muted; -} - -@include text-emphasis-variant('.text-primary', $brand-primary); - -@include text-emphasis-variant('.text-success', $brand-success); - -@include text-emphasis-variant('.text-info', $brand-info); - -@include text-emphasis-variant('.text-warning', $brand-warning); - -@include text-emphasis-variant('.text-danger', $brand-danger); +@import "utilities/background"; +@import "utilities/center-block"; +@import "utilities/clearfix"; +@import "utilities/pulls"; +@import "utilities/screenreaders"; +@import "utilities/spacing"; +@import "utilities/text"; +@import "utilities/visibility"; diff --git a/assets/stylesheets/bootstrap/_variables.scss b/assets/stylesheets/bootstrap/_variables.scss index f02d4a1..a3bba57 100644 --- a/assets/stylesheets/bootstrap/_variables.scss +++ b/assets/stylesheets/bootstrap/_variables.scss @@ -57,46 +57,46 @@ $enable-grid-classes: true !default; // Control the default styling of most Bootstrap elements by modifying these // variables. Mostly focused on spacing. -$spacer: 1rem !default; -$spacer-x: $spacer !default; -$spacer-y: $spacer !default; +$spacer: 1rem !default; +$spacer-x: $spacer !default; +$spacer-y: $spacer !default; $spacers: ( 0: ( - x: 0, - y: 0 + x: 0, + y: 0 ), 1: ( - x: $spacer-x, - y: $spacer-y + x: $spacer-x, + y: $spacer-y ), 2: ( - x: ($spacer-x * 1.5), - y: ($spacer-y * 1.5) + x: ($spacer-x * 1.5), + y: ($spacer-y * 1.5) ), 3: ( - x: ($spacer-x * 3), - y: ($spacer-y * 3) + x: ($spacer-x * 3), + y: ($spacer-y * 3) ) ) !default; -$border-width: 1px !default; +$border-width: 1px !default; // Body // // Settings for the `<body>` element. -$body-bg: #fff !default; -$body-color: $gray-dark !default; +$body-bg: #fff !default; +$body-color: $gray-dark !default; // Links // // Style anchor elements. -$link-color: $brand-primary !default; -$link-decoration: none !default; -$link-hover-color: darken($link-color, 15%) !default; -$link-hover-decoration: underline !default; +$link-color: $brand-primary !default; +$link-decoration: none !default; +$link-hover-color: darken($link-color, 15%) !default; +$link-hover-decoration: underline !default; // Grid breakpoints @@ -105,15 +105,10 @@ $link-hover-decoration: underline !default; // adapting to different screen sizes, for use in media queries. $grid-breakpoints: ( - // Extra small screen / phone xs: 0, - // Small screen / phone sm: 544px, - // Medium screen / tablet md: 768px, - // Large screen / desktop lg: 992px, - // Extra large screen / wide desktop xl: 1200px ) !default; @@ -134,71 +129,72 @@ $container-max-widths: ( // // Set the number of columns and specify the width of the gutters. -$grid-columns: 12 !default; -$grid-gutter-width: 1.875rem !default; // 30px +$grid-columns: 12 !default; +$grid-gutter-width: 1.875rem !default; // 30px // Typography // // Font, line-height, and color for body text, headings, and more. -$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default; -$font-family-serif: Georgia, "Times New Roman", Times, serif !default; -$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default; -$font-family-base: $font-family-sans-serif !default; +$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default; +$font-family-serif: Georgia, "Times New Roman", Times, serif !default; +$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; +$font-family-base: $font-family-sans-serif !default; // Pixel value used to responsively scale all typography. Applied to the `<html>` element. -$font-size-root: 16px !default; +$font-size-root: 16px !default; -$font-size-base: 1rem !default; -$font-size-lg: 1.25rem !default; -$font-size-sm: .875rem !default; -$font-size-xs: .75rem !default; +$font-size-base: 1rem !default; +$font-size-lg: 1.25rem !default; +$font-size-sm: .875rem !default; +$font-size-xs: .75rem !default; -$font-size-h1: 2.5rem !default; -$font-size-h2: 2rem !default; -$font-size-h3: 1.75rem !default; -$font-size-h4: 1.5rem !default; -$font-size-h5: 1.25rem !default; -$font-size-h6: 1rem !default; +$font-size-h1: 2.5rem !default; +$font-size-h2: 2rem !default; +$font-size-h3: 1.75rem !default; +$font-size-h4: 1.5rem !default; +$font-size-h5: 1.25rem !default; +$font-size-h6: 1rem !default; -$display1-size: 6rem !default; -$display2-size: 5.5rem !default; -$display3-size: 4.5rem !default; -$display4-size: 3.5rem !default; +$display1-size: 6rem !default; +$display2-size: 5.5rem !default; +$display3-size: 4.5rem !default; +$display4-size: 3.5rem !default; -$display1-weight: 300 !default; -$display2-weight: 300 !default; -$display3-weight: 300 !default; -$display4-weight: 300 !default; +$display1-weight: 300 !default; +$display2-weight: 300 !default; +$display3-weight: 300 !default; +$display4-weight: 300 !default; -$line-height: 1.5 !default; +$line-height: 1.5 !default; -$headings-margin-bottom: ($spacer / 2) !default; -$headings-font-family: inherit !default; -$headings-font-weight: 500 !default; -$headings-line-height: 1.1 !default; -$headings-color: inherit !default; +$headings-margin-bottom: ($spacer / 2) !default; +$headings-font-family: inherit !default; +$headings-font-weight: 500 !default; +$headings-line-height: 1.1 !default; +$headings-color: inherit !default; -$lead-font-size: 1.25rem !default; -$lead-font-weight: 300 !default; +$lead-font-size: 1.25rem !default; +$lead-font-weight: 300 !default; -$text-muted: $gray-light !default; +$text-muted: $gray-light !default; -$abbr-border-color: $gray-light !default; +$abbr-border-color: $gray-light !default; -$blockquote-small-color: $gray-light !default; -$blockquote-font-size: ($font-size-base * 1.25) !default; -$blockquote-border-color: $gray-lighter !default; +$blockquote-small-color: $gray-light !default; +$blockquote-font-size: ($font-size-base * 1.25) !default; +$blockquote-border-color: $gray-lighter !default; -$hr-border-color: rgba(0,0,0,.1) !default; -$hr-border-width: $border-width !default; +$hr-border-color: rgba(0,0,0,.1) !default; +$hr-border-width: $border-width !default; -$dt-font-weight: bold !default; +$dt-font-weight: bold !default; -$nested-kbd-font-weight: bold !default; +$kbd-box-shadow: inset 0 -.1rem 0 rgba(0,0,0,.25) !default; +$nested-kbd-font-weight: bold !default; -$list-inline-padding: 5px !default; +$list-inline-padding: 5px !default; // Components @@ -242,6 +238,8 @@ $table-border-color: $gray-lighter !default; $btn-padding-x: 1rem !default; $btn-padding-y: .375rem !default; $btn-font-weight: normal !default; +$btn-box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075) !default; +$btn-active-box-shadow: inset 0 3px 5px rgba(0,0,0,.125) !default; $btn-primary-color: #fff !default; $btn-primary-bg: $brand-primary !default; @@ -275,6 +273,12 @@ $btn-padding-y-sm: .25rem !default; $btn-padding-x-lg: 1.25rem !default; $btn-padding-y-lg: .75rem !default; +$btn-block-spacing-y: 5px !default; +$btn-toolbar-margin: 5px !default; + +$split-btn-dropdown-toggle-padding-x: 8px !default; +$split-btn-lg-dropdown-toggle-padding-x: 12px !default; + // Allows for customizing button radius independently from global border radius $btn-border-radius: $border-radius !default; $btn-border-radius-lg: $border-radius-lg !default; @@ -320,6 +324,74 @@ $input-group-addon-border-color: $input-border-color !default; $cursor-disabled: not-allowed !default; +$custom-control-gutter: 1.5rem !default; +$custom-control-spacer-x: 1rem !default; +$custom-control-spacer-y: .25rem !default; + +$custom-control-indicator-size: 1rem !default; +$custom-control-indicator-bg: #ddd !default; +$custom-control-indicator-bg-size: 50% 50% !default; +$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba(0,0,0,.1) !default; + +$custom-control-disabled-cursor: $cursor-disabled !default; +$custom-control-disabled-indicator-bg: #eee !default; +$custom-control-disabled-description-color: #767676 !default; + +$custom-control-checked-indicator-color: #fff !default; +$custom-control-checked-indicator-bg: #0074d9 !default; +$custom-control-checked-indicator-box-shadow: none !default; + +$custom-control-focus-indicator-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default; + +$custom-control-active-indicator-color: #fff !default; +$custom-control-active-indicator-bg: #84c6ff !default; +$custom-control-active-indicator-box-shadow: none !default; + +$custom-checkbox-radius: $border-radius !default; +$custom-checkbox-checked-icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=" !default; +$custom-checkbox-indeterminate-bg: #0074d9 !default; +$custom-checkbox-indeterminate-icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K" !default; +$custom-checkbox-indeterminate-box-shadow: none !default; + +$custom-radio-radius: 50% !default; +$custom-radio-checked-icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==" !default; + +$custom-select-padding-x: .75rem !default; +$custom-select-padding-y: .375rem !default; +$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator +$custom-select-color: $input-color !default; +$custom-select-bg: #fff !default; +$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions +$custom-select-indicator: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC" !default; +$custom-select-border-width: $input-btn-border-width !default; +$custom-select-border-color: $input-border-color !default; +$custom-select-border-radius: $border-radius !default; + +$custom-select-focus-border-color: #51a7e8 !default; +$custom-select-focus-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(81, 167, 232, 0.5) !default; + +$custom-select-sm-padding-y: .2rem !default; +$custom-select-sm-font-size: 75% !default; + +$custom-file-height: 2.5rem !default; +$custom-file-width: 14rem !default; +$custom-file-focus-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9 !default; + +$custom-file-padding-x: .5rem !default; +$custom-file-padding-y: 1rem !default; +$custom-file-line-height: 1.5 !default; +$custom-file-color: #555 !default; +$custom-file-bg: #fff !default; +$custom-file-border-width: $border-width !default; +$custom-file-border-color: #ddd !default; +$custom-file-border-radius: $border-radius !default; +$custom-file-box-shadow: inset 0 .2rem .4rem rgba(0,0,0,.05) !default; +$custom-file-placeholder: "Choose file..." !default; +$custom-file-button-label: "Browse" !default; +$custom-file-button-color: $custom-file-color !default; +$custom-file-button-bg: #eee !default; + + // Form validation icons $form-icon-success: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==" !default; $form-icon-warning: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+" !default; @@ -334,6 +406,7 @@ $dropdown-bg: #fff !default; $dropdown-border-color: rgba(0,0,0,.15) !default; $dropdown-border-width: $border-width !default; $dropdown-divider-bg: #e5e5e5 !default; +$dropdown-box-shadow: 0 6px 12px rgba(0,0,0,.175) !default; $dropdown-link-color: $gray-dark !default; $dropdown-link-hover-color: darken($gray-dark, 5%) !default; @@ -352,6 +425,7 @@ $dropdown-header-color: $gray-light !default; // Warning: Avoid customizing these values. They're used for a bird's eye view // of components dependent on the z-axis and are designed to all work together. +$zindex-dropdown-backdrop: 990 !default; $zindex-navbar: 1000 !default; $zindex-dropdown: 1000 !default; $zindex-popover: 1060 !default; @@ -381,27 +455,26 @@ $navbar-light-disabled-color: rgba(0,0,0,.15) !default; // Navs -$nav-link-padding: .5em 1em !default; -$nav-link-hover-bg: $gray-lighter !default; - -$nav-disabled-link-color: $gray-light !default; -$nav-disabled-link-hover-color: $gray-light !default; +$nav-item-margin: .2rem !default; +$nav-item-inline-spacer: 1rem !default; +$nav-link-padding: .5em 1em !default; +$nav-link-hover-bg: $gray-lighter !default; +$nav-disabled-link-color: $gray-light !default; +$nav-disabled-link-hover-color: $gray-light !default; +$nav-disabled-link-hover-bg: transparent !default; -$nav-tabs-border-color: #ddd !default; +$nav-tabs-border-color: #ddd !default; +$nav-tabs-border-width: $border-width !default; +$nav-tabs-link-hover-border-color: $gray-lighter !default; +$nav-tabs-active-link-hover-color: $gray !default; +$nav-tabs-active-link-hover-bg: $body-bg !default; +$nav-tabs-active-link-hover-border-color: #ddd !default; +$nav-tabs-justified-link-border-color: #ddd !default; +$nav-tabs-justified-active-link-border-color: $body-bg !default; -$nav-tabs-link-border-width: $border-width !default; -$nav-tabs-link-hover-border-color: $gray-lighter !default; - -$nav-tabs-active-link-hover-bg: $body-bg !default; -$nav-tabs-active-link-hover-color: $gray !default; -$nav-tabs-active-link-hover-border-color: #ddd !default; - -$nav-tabs-justified-link-border-color: #ddd !default; -$nav-tabs-justified-active-link-border-color: $body-bg !default; - -$nav-pills-border-radius: $border-radius !default; -$nav-pills-active-link-hover-bg: $component-active-bg !default; -$nav-pills-active-link-hover-color: $component-active-color !default; +$nav-pills-border-radius: $border-radius !default; +$nav-pills-active-link-color: $component-active-color !default; +$nav-pills-active-link-bg: $component-active-bg !default; // Pagination @@ -432,21 +505,6 @@ $pagination-disabled-bg: #fff !default; $pagination-disabled-border: #ddd !default; -// Pager - -$pager-bg: $pagination-bg !default; -$pager-border-width: $border-width !default; -$pager-border-color: $pagination-border-color !default; -$pager-border-radius: 15px !default; - -$pager-hover-bg: $pagination-hover-bg !default; - -$pager-active-bg: $pagination-active-bg !default; -$pager-active-color: $pagination-active-color !default; - -$pager-disabled-color: $pagination-disabled-color !default; - - // Jumbotron $jumbotron-padding: 2rem !default; @@ -486,6 +544,8 @@ $card-bg: #fff !default; $card-link-hover-color: #fff !default; +$card-deck-margin: .625rem !default; + // Tooltips @@ -493,6 +553,9 @@ $tooltip-max-width: 200px !default; $tooltip-color: #fff !default; $tooltip-bg: #000 !default; $tooltip-opacity: .9 !default; +$tooltip-padding-y: 3px !default; +$tooltip-padding-x: 8px !default; +$tooltip-margin: 3px !default; $tooltip-arrow-width: 5px !default; $tooltip-arrow-color: $tooltip-bg !default; @@ -504,13 +567,19 @@ $popover-bg: #fff !default; $popover-max-width: 276px !default; $popover-border-width: $border-width !default; $popover-border-color: rgba(0,0,0,.2) !default; +$popover-box-shadow: 0 5px 10px rgba(0,0,0,.2) !default; $popover-title-bg: darken($popover-bg, 3%) !default; +$popover-title-padding-x: 14px !default; +$popover-title-padding-y: 8px !default; + +$popover-content-padding-x: 14px !default; +$popover-content-padding-y: 9px !default; $popover-arrow-width: 10px !default; $popover-arrow-color: $popover-bg !default; -$popover-arrow-outer-width: ($popover-arrow-width + 1) !default; +$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default; $popover-arrow-outer-color: fade-in($popover-border-color, 0.05) !default; @@ -536,8 +605,10 @@ $modal-inner-padding: 15px !default; $modal-title-padding: 15px !default; $modal-title-line-height: $line-height !default; -$modal-content-bg: #fff !default; -$modal-content-border-color: rgba(0,0,0,.2) !default; +$modal-content-bg: #fff !default; +$modal-content-border-color: rgba(0,0,0,.2) !default; +$modal-content-xs-box-shadow: 0 3px 9px rgba(0,0,0,.5) !default; +$modal-content-sm-up-box-shadow: 0 5px 15px rgba(0,0,0,.5) !default; $modal-backdrop-bg: #000 !default; $modal-backdrop-opacity: .5 !default; @@ -577,9 +648,10 @@ $alert-danger-border: $state-danger-border !default; // Progress bars -$progress-bg: #f5f5f5 !default; -$progress-bar-color: #fff !default; +$progress-bg: #eee !default; +$progress-bar-color: #0074d9 !default; $progress-border-radius: $border-radius !default; +$progress-box-shadow: inset 0 .1rem .1rem rgba(0,0,0,.1) !default; $progress-bar-bg: $brand-primary !default; $progress-bar-success-bg: $brand-success !default; @@ -617,12 +689,14 @@ $thumbnail-bg: $body-bg !default; $thumbnail-border-width: $border-width !default; $thumbnail-border-color: #ddd !default; $thumbnail-border-radius: $border-radius !default; +$thumbnail-box-shadow: 0 1px 2px rgba(0,0,0,.075) !default; // Breadcrumbs -$breadcrumb-padding-vertical: .75rem !default; -$breadcrumb-padding-horizontal: 1rem !default; +$breadcrumb-padding-y: .75rem !default; +$breadcrumb-padding-x: 1rem !default; +$breadcrumb-item-padding: .5rem !default; $breadcrumb-bg: $gray-lighter !default; $breadcrumb-divider-color: $gray-light !default; @@ -630,6 +704,13 @@ $breadcrumb-active-color: $gray-light !default; $breadcrumb-divider: "/" !default; +// Media objects + +$media-margin-top: 15px !default; +$media-heading-margin-bottom: 5px !default; +$media-alignment-padding-x: 10px !default; + + // Carousel $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default; diff --git a/assets/stylesheets/bootstrap/mixins/_background-variant.scss b/assets/stylesheets/bootstrap/mixins/_background-variant.scss index 0c9f2f0..ff21ad9 100644 --- a/assets/stylesheets/bootstrap/mixins/_background-variant.scss +++ b/assets/stylesheets/bootstrap/mixins/_background-variant.scss @@ -7,7 +7,7 @@ } a#{$parent} { @include hover-focus { - background-color: darken($color, 10%); + background-color: darken($color, 10%) !important; } } } diff --git a/assets/stylesheets/bootstrap/mixins/_buttons.scss b/assets/stylesheets/bootstrap/mixins/_buttons.scss index 61b9f9c..21240dd 100644 --- a/assets/stylesheets/bootstrap/mixins/_buttons.scss +++ b/assets/stylesheets/bootstrap/mixins/_buttons.scss @@ -10,7 +10,7 @@ color: $color; background-color: $background; border-color: $border; - @include box-shadow(inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075)); + @include box-shadow($btn-box-shadow); @include hover { color: $color; @@ -33,7 +33,7 @@ border-color: $active-border; // Remove the gradient for the pressed/active state background-image: none; - @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + @include box-shadow($btn-active-box-shadow); &:hover, &:focus, diff --git a/assets/stylesheets/bootstrap/mixins/_forms.scss b/assets/stylesheets/bootstrap/mixins/_forms.scss index eab8063..b87429c 100644 --- a/assets/stylesheets/bootstrap/mixins/_forms.scss +++ b/assets/stylesheets/bootstrap/mixins/_forms.scss @@ -68,10 +68,10 @@ // horizontal sizing, wrap controls in the predefined grid classes. `<select>` // element gets special love because it's special, and that's a fact! -@mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { +@mixin input-size($parent, $input-height, $padding-y, $padding-x, $font-size, $line-height, $border-radius) { #{$parent} { height: $input-height; - padding: $padding-vertical $padding-horizontal; + padding: $padding-y $padding-x; font-size: $font-size; line-height: $line-height; @include border-radius($border-radius); diff --git a/assets/stylesheets/bootstrap/mixins/_gradients.scss b/assets/stylesheets/bootstrap/mixins/_gradients.scss index c57eddc..ac96efe 100644 --- a/assets/stylesheets/bootstrap/mixins/_gradients.scss +++ b/assets/stylesheets/bootstrap/mixins/_gradients.scss @@ -4,7 +4,7 @@ // // Creates two color stops, start and end, by specifying a color and position for each color stop. // Color stops are not available in IE9. -@mixin gradient-horizontal($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { +@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 @@ -14,7 +14,7 @@ // // Creates two color stops, start and end, by specifying a color and position for each color stop. // Color stops are not available in IE9. -@mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { +@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) { background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 @@ -24,12 +24,12 @@ background-repeat: repeat-x; background-image: linear-gradient($deg, $start-color, $end-color); } -@mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { +@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 gets no color-stop at all for proper fallback } -@mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { +@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) { background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); background-repeat: no-repeat; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 gets no color-stop at all for proper fallback diff --git a/assets/stylesheets/bootstrap/mixins/_grid-framework.scss b/assets/stylesheets/bootstrap/mixins/_grid-framework.scss index aa5f492..16c970a 100644 --- a/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +++ b/assets/stylesheets/bootstrap/mixins/_grid-framework.scss @@ -13,13 +13,15 @@ padding-left: ($gutter / 2); padding-right: ($gutter / 2); } + $breakpoint-counter: 0; @each $breakpoint in map-keys($breakpoints) { + $breakpoint-counter: ($breakpoint-counter + 1); @for $i from 1 through $columns { .col-#{$breakpoint}-#{$i} { @extend %grid-column; } } - @include media-breakpoint-up($breakpoint) { + @include media-breakpoint-up($breakpoint, $breakpoints) { // Work around cross-media @extend (https://github.com/sass/sass/issues/1050) %grid-column-float-#{$breakpoint} { float: left; @@ -32,13 +34,21 @@ @include make-col-span($i, $columns); } } - @each $modifier in (pull, push, offset) { + @each $modifier in (pull, push) { @for $i from 0 through $columns { .col-#{$breakpoint}-#{$modifier}-#{$i} { @include make-col-modifier($modifier, $i, $columns) } } } + // `$columns - 1` because offsetting by the width of an entire row isn't possible + @for $i from 0 through ($columns - 1) { + @if $breakpoint-counter != 1 or $i != 0 { // Avoid emitting useless .col-xs-offset-0 + .col-#{$breakpoint}-offset-#{$i} { + @include make-col-modifier(offset, $i, $columns) + } + } + } } } } diff --git a/assets/stylesheets/bootstrap/mixins/_grid.scss b/assets/stylesheets/bootstrap/mixins/_grid.scss index 94b8295..230dacc 100644 --- a/assets/stylesheets/bootstrap/mixins/_grid.scss +++ b/assets/stylesheets/bootstrap/mixins/_grid.scss @@ -14,9 +14,9 @@ // For each breakpoint, define the maximum width of the container in a media query -@mixin make-container-max-widths($max-widths: $container-max-widths) { +@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { @each $breakpoint, $container-max-width in $max-widths { - @include media-breakpoint-up($breakpoint) { + @include media-breakpoint-up($breakpoint, $breakpoints) { max-width: $container-max-width; } } @@ -46,6 +46,10 @@ @mixin make-col-span($size, $columns: $grid-columns) { @if $enable-flex { flex: 0 0 percentage($size / $columns); + // Add a `max-width` to ensure content within each column does not blow out + // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari + // do not appear to require this. + max-width: percentage($size / $columns); } @else { width: percentage($size / $columns); } diff --git a/assets/stylesheets/bootstrap/mixins/_pagination.scss b/assets/stylesheets/bootstrap/mixins/_pagination.scss index eaebe89..ff36eb6 100644 --- a/assets/stylesheets/bootstrap/mixins/_pagination.scss +++ b/assets/stylesheets/bootstrap/mixins/_pagination.scss @@ -1,8 +1,8 @@ // Pagination -@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) { +@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { .page-link { - padding: $padding-vertical $padding-horizontal; + padding: $padding-y $padding-x; font-size: $font-size; line-height: $line-height; } diff --git a/assets/stylesheets/bootstrap/mixins/_text-hide.scss b/assets/stylesheets/bootstrap/mixins/_text-hide.scss index daed5fb..52a38a9 100644 --- a/assets/stylesheets/bootstrap/mixins/_text-hide.scss +++ b/assets/stylesheets/bootstrap/mixins/_text-hide.scss @@ -1,6 +1,6 @@ // CSS image replacement @mixin text-hide() { - font: "0/0" a; + font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; diff --git a/assets/stylesheets/bootstrap/_utilities-background.scss b/assets/stylesheets/bootstrap/utilities/_background.scss index 4bbf731..4bbf731 100644 --- a/assets/stylesheets/bootstrap/_utilities-background.scss +++ b/assets/stylesheets/bootstrap/utilities/_background.scss diff --git a/assets/stylesheets/bootstrap/utilities/_center-block.scss b/assets/stylesheets/bootstrap/utilities/_center-block.scss new file mode 100644 index 0000000..0c98666 --- /dev/null +++ b/assets/stylesheets/bootstrap/utilities/_center-block.scss @@ -0,0 +1,3 @@ +.center-block { + @include center-block(); +} diff --git a/assets/stylesheets/bootstrap/utilities/_clearfix.scss b/assets/stylesheets/bootstrap/utilities/_clearfix.scss new file mode 100644 index 0000000..e92522a --- /dev/null +++ b/assets/stylesheets/bootstrap/utilities/_clearfix.scss @@ -0,0 +1,3 @@ +.clearfix { + @include clearfix(); +} diff --git a/assets/stylesheets/bootstrap/utilities/_pulls.scss b/assets/stylesheets/bootstrap/utilities/_pulls.scss new file mode 100644 index 0000000..7fec56c --- /dev/null +++ b/assets/stylesheets/bootstrap/utilities/_pulls.scss @@ -0,0 +1,13 @@ +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + .pull-#{$breakpoint}-left { + @include pull-left(); + } + .pull-#{$breakpoint}-right { + @include pull-right(); + } + .pull-#{$breakpoint}-none { + float: none !important; + } + } +} diff --git a/assets/stylesheets/bootstrap/utilities/_screenreaders.scss b/assets/stylesheets/bootstrap/utilities/_screenreaders.scss new file mode 100644 index 0000000..9f26fde --- /dev/null +++ b/assets/stylesheets/bootstrap/utilities/_screenreaders.scss @@ -0,0 +1,11 @@ +// +// Screenreaders +// + +.sr-only { + @include sr-only(); +} + +.sr-only-focusable { + @include sr-only-focusable(); +} diff --git a/assets/stylesheets/bootstrap/_utilities-spacing.scss b/assets/stylesheets/bootstrap/utilities/_spacing.scss index cd543c8..cd543c8 100644 --- a/assets/stylesheets/bootstrap/_utilities-spacing.scss +++ b/assets/stylesheets/bootstrap/utilities/_spacing.scss diff --git a/assets/stylesheets/bootstrap/utilities/_text.scss b/assets/stylesheets/bootstrap/utilities/_text.scss new file mode 100644 index 0000000..f3a0c98 --- /dev/null +++ b/assets/stylesheets/bootstrap/utilities/_text.scss @@ -0,0 +1,53 @@ +// +// Text +// + +// Alignment + +.text-justify { text-align: justify !important; } +.text-nowrap { white-space: nowrap !important; } +.text-truncate { @include text-truncate; } + +// Responsive alignment + +@each $breakpoint in map-keys($grid-breakpoints) { + @include media-breakpoint-up($breakpoint) { + .text-#{$breakpoint}-left { text-align: left !important; } + .text-#{$breakpoint}-right { text-align: right !important; } + .text-#{$breakpoint}-center { text-align: center !important; } + } +} + +// Transformation + +.text-lowercase { text-transform: lowercase !important; } +.text-uppercase { text-transform: uppercase !important; } +.text-capitalize { text-transform: capitalize !important; } + +// Weight and italics + +.font-weight-normal { font-weight: normal; } +.font-weight-bold { font-weight: bold; } +.font-italic { font-style: italic; } + +// Contextual colors + +.text-muted { + color: $text-muted; +} + +@include text-emphasis-variant('.text-primary', $brand-primary); + +@include text-emphasis-variant('.text-success', $brand-success); + +@include text-emphasis-variant('.text-info', $brand-info); + +@include text-emphasis-variant('.text-warning', $brand-warning); + +@include text-emphasis-variant('.text-danger', $brand-danger); + +// Misc + +.text-hide { + @include text-hide(); +} diff --git a/assets/stylesheets/bootstrap/_utilities-responsive.scss b/assets/stylesheets/bootstrap/utilities/_visibility.scss index 0470dc5..cdb1428 100644 --- a/assets/stylesheets/bootstrap/_utilities-responsive.scss +++ b/assets/stylesheets/bootstrap/utilities/_visibility.scss @@ -1,7 +1,13 @@ // -// Responsive utilities +// Visibility utilities // +.invisible { + visibility: hidden !important; +} + +// Responsive visibility utilities + @each $bp in map-keys($grid-breakpoints) { .hidden-#{$bp}-up { @include media-breakpoint-up($bp) { |