bootstrap 4.2.1 → 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +1 -1
  5. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  6. data/assets/javascripts/bootstrap.js +1054 -893
  7. data/assets/javascripts/bootstrap.min.js +4 -4
  8. data/assets/javascripts/bootstrap/alert.js +35 -57
  9. data/assets/javascripts/bootstrap/button.js +95 -69
  10. data/assets/javascripts/bootstrap/carousel.js +109 -165
  11. data/assets/javascripts/bootstrap/collapse.js +58 -114
  12. data/assets/javascripts/bootstrap/dropdown.js +138 -191
  13. data/assets/javascripts/bootstrap/modal.js +170 -176
  14. data/assets/javascripts/bootstrap/popover.js +31 -87
  15. data/assets/javascripts/bootstrap/scrollspy.js +54 -114
  16. data/assets/javascripts/bootstrap/tab.js +62 -81
  17. data/assets/javascripts/bootstrap/toast.js +80 -117
  18. data/assets/javascripts/bootstrap/tooltip.js +269 -157
  19. data/assets/javascripts/bootstrap/util.js +34 -9
  20. data/assets/stylesheets/_bootstrap-grid.scss +4 -4
  21. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  22. data/assets/stylesheets/_bootstrap.scss +4 -4
  23. data/assets/stylesheets/bootstrap/_badge.scss +3 -2
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -1
  25. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +13 -11
  27. data/assets/stylesheets/bootstrap/_card.scss +49 -73
  28. data/assets/stylesheets/bootstrap/_carousel.scss +7 -8
  29. data/assets/stylesheets/bootstrap/_close.scss +3 -7
  30. data/assets/stylesheets/bootstrap/_code.scss +6 -6
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +40 -24
  32. data/assets/stylesheets/bootstrap/_dropdown.scss +24 -23
  33. data/assets/stylesheets/bootstrap/_forms.scss +38 -25
  34. data/assets/stylesheets/bootstrap/_functions.scss +62 -7
  35. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  36. data/assets/stylesheets/bootstrap/_images.scss +3 -3
  37. data/assets/stylesheets/bootstrap/_input-group.scss +4 -5
  38. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -0
  39. data/assets/stylesheets/bootstrap/_list-group.scss +62 -29
  40. data/assets/stylesheets/bootstrap/_mixins.scss +9 -3
  41. data/assets/stylesheets/bootstrap/_modal.scss +65 -11
  42. data/assets/stylesheets/bootstrap/_nav.scss +6 -3
  43. data/assets/stylesheets/bootstrap/_navbar.scss +48 -23
  44. data/assets/stylesheets/bootstrap/_pagination.scss +3 -7
  45. data/assets/stylesheets/bootstrap/_popover.scss +54 -67
  46. data/assets/stylesheets/bootstrap/_print.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_progress.scss +19 -6
  48. data/assets/stylesheets/bootstrap/_reboot.scss +51 -33
  49. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  50. data/assets/stylesheets/bootstrap/_spinners.scss +3 -0
  51. data/assets/stylesheets/bootstrap/_tables.scss +6 -8
  52. data/assets/stylesheets/bootstrap/_toasts.scss +7 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -2
  55. data/assets/stylesheets/bootstrap/_type.scss +17 -17
  56. data/assets/stylesheets/bootstrap/_utilities.scss +2 -0
  57. data/assets/stylesheets/bootstrap/_variables.scss +168 -119
  58. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  59. data/assets/stylesheets/bootstrap/mixins/_badge.scss +7 -1
  60. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  61. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  62. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +14 -15
  63. data/assets/stylesheets/bootstrap/mixins/_caret.scss +12 -12
  64. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  65. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  66. data/assets/stylesheets/bootstrap/mixins/_forms.scss +40 -60
  67. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
  68. data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
  69. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  70. data/assets/stylesheets/bootstrap/mixins/_image.scss +3 -3
  71. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  72. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  73. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  74. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  75. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  76. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  78. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  79. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  80. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +1 -3
  81. data/assets/stylesheets/bootstrap/mixins/_transition.scss +17 -7
  82. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  83. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  84. data/assets/stylesheets/bootstrap/utilities/_borders.scss +13 -1
  85. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  86. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  87. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  88. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  89. data/assets/stylesheets/bootstrap/utilities/_text.scss +8 -3
  90. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  91. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +204 -0
  92. data/bootstrap.gemspec +1 -1
  93. data/lib/bootstrap/version.rb +2 -2
  94. data/tasks/updater/js.rb +1 -1
  95. data/tasks/updater/network.rb +2 -2
  96. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  97. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  98. data/test/gemfiles/rails_6_0.gemfile +7 -0
  99. data/test/support/dummy_rails_integration.rb +3 -1
  100. data/test/test_helper.rb +18 -13
  101. metadata +14 -5
@@ -1,7 +1,7 @@
1
1
  // Base class
2
2
  //
3
3
  // Kickstart any navigation component with a set of style resets. Works with
4
- // `<nav>`s or `<ul>`s.
4
+ // `<nav>`s, `<ul>`s or `<ol>`s.
5
5
 
6
6
  .nav {
7
7
  display: flex;
@@ -14,8 +14,9 @@
14
14
  .nav-link {
15
15
  display: block;
16
16
  padding: $nav-link-padding-y $nav-link-padding-x;
17
+ text-decoration: if($link-decoration == none, null, none);
17
18
 
18
- @include hover-focus {
19
+ @include hover-focus() {
19
20
  text-decoration: none;
20
21
  }
21
22
 
@@ -42,7 +43,7 @@
42
43
  border: $nav-tabs-border-width solid transparent;
43
44
  @include border-top-radius($nav-tabs-border-radius);
44
45
 
45
- @include hover-focus {
46
+ @include hover-focus() {
46
47
  border-color: $nav-tabs-link-hover-border-color;
47
48
  }
48
49
 
@@ -91,6 +92,7 @@
91
92
  //
92
93
 
93
94
  .nav-fill {
95
+ > .nav-link,
94
96
  .nav-item {
95
97
  flex: 1 1 auto;
96
98
  text-align: center;
@@ -98,6 +100,7 @@
98
100
  }
99
101
 
100
102
  .nav-justified {
103
+ > .nav-link,
101
104
  .nav-item {
102
105
  flex-basis: 0;
103
106
  flex-grow: 1;
@@ -25,13 +25,23 @@
25
25
 
26
26
  // Because flex properties aren't inherited, we need to redeclare these first
27
27
  // few properties so that content nested within behave properly.
28
- > .container,
29
- > .container-fluid {
28
+ %container-flex-properties {
30
29
  display: flex;
31
30
  flex-wrap: wrap;
32
31
  align-items: center;
33
32
  justify-content: space-between;
34
33
  }
34
+
35
+ .container,
36
+ .container-fluid {
37
+ @extend %container-flex-properties;
38
+ }
39
+
40
+ @each $breakpoint, $container-max-width in $container-max-widths {
41
+ > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
42
+ @extend %container-flex-properties;
43
+ }
44
+ }
35
45
  }
36
46
 
37
47
 
@@ -44,11 +54,11 @@
44
54
  padding-top: $navbar-brand-padding-y;
45
55
  padding-bottom: $navbar-brand-padding-y;
46
56
  margin-right: $navbar-padding-x;
47
- font-size: $navbar-brand-font-size;
57
+ @include font-size($navbar-brand-font-size);
48
58
  line-height: inherit;
49
59
  white-space: nowrap;
50
60
 
51
- @include hover-focus {
61
+ @include hover-focus() {
52
62
  text-decoration: none;
53
63
  }
54
64
  }
@@ -107,20 +117,15 @@
107
117
  // Button for toggling the navbar when in its collapsed state
108
118
  .navbar-toggler {
109
119
  padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
110
- font-size: $navbar-toggler-font-size;
120
+ @include font-size($navbar-toggler-font-size);
111
121
  line-height: 1;
112
122
  background-color: transparent; // remove default button style
113
123
  border: $border-width solid transparent; // remove default button style
114
124
  @include border-radius($navbar-toggler-border-radius);
115
125
 
116
- @include hover-focus {
126
+ @include hover-focus() {
117
127
  text-decoration: none;
118
128
  }
119
-
120
- // Opinionated: add "hand" cursor to non-disabled .navbar-toggler elements
121
- &:not(:disabled):not(.disabled) {
122
- cursor: pointer;
123
- }
124
129
  }
125
130
 
126
131
  // Keep as a separate element so folks can easily override it with another icon
@@ -144,11 +149,21 @@
144
149
 
145
150
  &#{$infix} {
146
151
  @include media-breakpoint-down($breakpoint) {
147
- > .container,
148
- > .container-fluid {
152
+ %container-navbar-expand-#{$breakpoint} {
149
153
  padding-right: 0;
150
154
  padding-left: 0;
151
155
  }
156
+
157
+ > .container,
158
+ > .container-fluid {
159
+ @extend %container-navbar-expand-#{$breakpoint};
160
+ }
161
+
162
+ @each $size, $container-max-width in $container-max-widths {
163
+ > .container#{breakpoint-infix($size, $container-max-widths)} {
164
+ @extend %container-navbar-expand-#{$breakpoint};
165
+ }
166
+ }
152
167
  }
153
168
 
154
169
  @include media-breakpoint-up($next) {
@@ -169,13 +184,23 @@
169
184
  }
170
185
 
171
186
  // For nesting containers, have to redeclare for alignment purposes
187
+ %container-nesting-#{$breakpoint} {
188
+ flex-wrap: nowrap;
189
+ }
190
+
172
191
  > .container,
173
192
  > .container-fluid {
174
- flex-wrap: nowrap;
193
+ @extend %container-nesting-#{$breakpoint};
194
+ }
195
+
196
+ @each $size, $container-max-width in $container-max-widths {
197
+ > .container#{breakpoint-infix($size, $container-max-widths)} {
198
+ @extend %container-nesting-#{$breakpoint};
199
+ }
175
200
  }
176
201
 
177
202
  .navbar-collapse {
178
- display: flex !important; // stylelint-disable-line declaration-no-important
203
+ display: flex !important; // stylelint-disable-line declaration-no-important
179
204
 
180
205
  // Changes flex-bases to auto because of an IE10 bug
181
206
  flex-basis: auto;
@@ -199,7 +224,7 @@
199
224
  .navbar-brand {
200
225
  color: $navbar-light-brand-color;
201
226
 
202
- @include hover-focus {
227
+ @include hover-focus() {
203
228
  color: $navbar-light-brand-hover-color;
204
229
  }
205
230
  }
@@ -208,7 +233,7 @@
208
233
  .nav-link {
209
234
  color: $navbar-light-color;
210
235
 
211
- @include hover-focus {
236
+ @include hover-focus() {
212
237
  color: $navbar-light-hover-color;
213
238
  }
214
239
 
@@ -231,7 +256,7 @@
231
256
  }
232
257
 
233
258
  .navbar-toggler-icon {
234
- background-image: $navbar-light-toggler-icon-bg;
259
+ background-image: escape-svg($navbar-light-toggler-icon-bg);
235
260
  }
236
261
 
237
262
  .navbar-text {
@@ -239,7 +264,7 @@
239
264
  a {
240
265
  color: $navbar-light-active-color;
241
266
 
242
- @include hover-focus {
267
+ @include hover-focus() {
243
268
  color: $navbar-light-active-color;
244
269
  }
245
270
  }
@@ -251,7 +276,7 @@
251
276
  .navbar-brand {
252
277
  color: $navbar-dark-brand-color;
253
278
 
254
- @include hover-focus {
279
+ @include hover-focus() {
255
280
  color: $navbar-dark-brand-hover-color;
256
281
  }
257
282
  }
@@ -260,7 +285,7 @@
260
285
  .nav-link {
261
286
  color: $navbar-dark-color;
262
287
 
263
- @include hover-focus {
288
+ @include hover-focus() {
264
289
  color: $navbar-dark-hover-color;
265
290
  }
266
291
 
@@ -283,7 +308,7 @@
283
308
  }
284
309
 
285
310
  .navbar-toggler-icon {
286
- background-image: $navbar-dark-toggler-icon-bg;
311
+ background-image: escape-svg($navbar-dark-toggler-icon-bg);
287
312
  }
288
313
 
289
314
  .navbar-text {
@@ -291,7 +316,7 @@
291
316
  a {
292
317
  color: $navbar-dark-active-color;
293
318
 
294
- @include hover-focus {
319
+ @include hover-focus() {
295
320
  color: $navbar-dark-active-color;
296
321
  }
297
322
  }
@@ -11,6 +11,7 @@
11
11
  margin-left: -$pagination-border-width;
12
12
  line-height: $pagination-line-height;
13
13
  color: $pagination-color;
14
+ text-decoration: if($link-decoration == none, null, none);
14
15
  background-color: $pagination-bg;
15
16
  border: $pagination-border-width solid $pagination-border-color;
16
17
 
@@ -23,15 +24,10 @@
23
24
  }
24
25
 
25
26
  &:focus {
26
- z-index: 2;
27
+ z-index: 3;
27
28
  outline: $pagination-focus-outline;
28
29
  box-shadow: $pagination-focus-box-shadow;
29
30
  }
30
-
31
- // Opinionated: add "hand" cursor to non-disabled .page-link elements
32
- &:not(:disabled):not(.disabled) {
33
- cursor: pointer;
34
- }
35
31
  }
36
32
 
37
33
  .page-item {
@@ -48,7 +44,7 @@
48
44
  }
49
45
 
50
46
  &.active .page-link {
51
- z-index: 1;
47
+ z-index: 3;
52
48
  color: $pagination-active-color;
53
49
  background-color: $pagination-active-bg;
54
50
  border-color: $pagination-active-border-color;
@@ -8,7 +8,7 @@
8
8
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
9
9
  // So reset our font and text properties to avoid inheriting weird values.
10
10
  @include reset-text();
11
- font-size: $popover-font-size;
11
+ @include font-size($popover-font-size);
12
12
  // Allow breaking very long words so they don't overflow the popover's bounds
13
13
  word-wrap: break-word;
14
14
  background-color: $popover-bg;
@@ -22,7 +22,7 @@
22
22
  display: block;
23
23
  width: $popover-arrow-width;
24
24
  height: $popover-arrow-height;
25
- margin: 0 $border-radius-lg;
25
+ margin: 0 $popover-border-radius;
26
26
 
27
27
  &::before,
28
28
  &::after {
@@ -38,72 +38,63 @@
38
38
  .bs-popover-top {
39
39
  margin-bottom: $popover-arrow-height;
40
40
 
41
- .arrow {
42
- bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
43
- }
41
+ > .arrow {
42
+ bottom: subtract(-$popover-arrow-height, $popover-border-width);
44
43
 
45
- .arrow::before,
46
- .arrow::after {
47
- border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
48
- }
49
-
50
- .arrow::before {
51
- bottom: 0;
52
- border-top-color: $popover-arrow-outer-color;
53
- }
44
+ &::before {
45
+ bottom: 0;
46
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
47
+ border-top-color: $popover-arrow-outer-color;
48
+ }
54
49
 
55
- .arrow::after {
56
- bottom: $popover-border-width;
57
- border-top-color: $popover-arrow-color;
50
+ &::after {
51
+ bottom: $popover-border-width;
52
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
53
+ border-top-color: $popover-arrow-color;
54
+ }
58
55
  }
59
56
  }
60
57
 
61
58
  .bs-popover-right {
62
59
  margin-left: $popover-arrow-height;
63
60
 
64
- .arrow {
65
- left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
61
+ > .arrow {
62
+ left: subtract(-$popover-arrow-height, $popover-border-width);
66
63
  width: $popover-arrow-height;
67
64
  height: $popover-arrow-width;
68
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
69
- }
70
-
71
- .arrow::before,
72
- .arrow::after {
73
- border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
74
- }
65
+ margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
75
66
 
76
- .arrow::before {
77
- left: 0;
78
- border-right-color: $popover-arrow-outer-color;
79
- }
67
+ &::before {
68
+ left: 0;
69
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
70
+ border-right-color: $popover-arrow-outer-color;
71
+ }
80
72
 
81
- .arrow::after {
82
- left: $popover-border-width;
83
- border-right-color: $popover-arrow-color;
73
+ &::after {
74
+ left: $popover-border-width;
75
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
76
+ border-right-color: $popover-arrow-color;
77
+ }
84
78
  }
85
79
  }
86
80
 
87
81
  .bs-popover-bottom {
88
82
  margin-top: $popover-arrow-height;
89
83
 
90
- .arrow {
91
- top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
92
- }
93
-
94
- .arrow::before,
95
- .arrow::after {
96
- border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
97
- }
84
+ > .arrow {
85
+ top: subtract(-$popover-arrow-height, $popover-border-width);
98
86
 
99
- .arrow::before {
100
- top: 0;
101
- border-bottom-color: $popover-arrow-outer-color;
102
- }
87
+ &::before {
88
+ top: 0;
89
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
90
+ border-bottom-color: $popover-arrow-outer-color;
91
+ }
103
92
 
104
- .arrow::after {
105
- top: $popover-border-width;
106
- border-bottom-color: $popover-arrow-color;
93
+ &::after {
94
+ top: $popover-border-width;
95
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
96
+ border-bottom-color: $popover-arrow-color;
97
+ }
107
98
  }
108
99
 
109
100
  // This will remove the popover-header's border just below the arrow
@@ -122,26 +113,23 @@
122
113
  .bs-popover-left {
123
114
  margin-right: $popover-arrow-height;
124
115
 
125
- .arrow {
126
- right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
116
+ > .arrow {
117
+ right: subtract(-$popover-arrow-height, $popover-border-width);
127
118
  width: $popover-arrow-height;
128
119
  height: $popover-arrow-width;
129
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
130
- }
131
-
132
- .arrow::before,
133
- .arrow::after {
134
- border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
135
- }
120
+ margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
136
121
 
137
- .arrow::before {
138
- right: 0;
139
- border-left-color: $popover-arrow-outer-color;
140
- }
122
+ &::before {
123
+ right: 0;
124
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
125
+ border-left-color: $popover-arrow-outer-color;
126
+ }
141
127
 
142
- .arrow::after {
143
- right: $popover-border-width;
144
- border-left-color: $popover-arrow-color;
128
+ &::after {
129
+ right: $popover-border-width;
130
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
131
+ border-left-color: $popover-arrow-color;
132
+ }
145
133
  }
146
134
  }
147
135
 
@@ -165,12 +153,11 @@
165
153
  .popover-header {
166
154
  padding: $popover-header-padding-y $popover-header-padding-x;
167
155
  margin-bottom: 0; // Reset the default from Reboot
168
- font-size: $font-size-base;
156
+ @include font-size($font-size-base);
169
157
  color: $popover-header-color;
170
158
  background-color: $popover-header-bg;
171
159
  border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
172
- $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
173
- @include border-top-radius($offset-border-width);
160
+ @include border-top-radius($popover-inner-border-radius);
174
161
 
175
162
  &:empty {
176
163
  display: none;
@@ -1,6 +1,6 @@
1
1
  // stylelint-disable declaration-no-important, selector-no-qualifying-type
2
2
 
3
- // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css
3
+ // Source: https://github.com/h5bp/main.css/blob/master/src/_print.css
4
4
 
5
5
  // ==========================================================================
6
6
  // Print styles.
@@ -51,13 +51,13 @@
51
51
  }
52
52
  pre,
53
53
  blockquote {
54
- border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
54
+ border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
55
55
  page-break-inside: avoid;
56
56
  }
57
57
 
58
58
  //
59
59
  // Printing Tables:
60
- // http://css-discuss.incutio.com/wiki/Printing_Tables
60
+ // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
61
61
  //
62
62
 
63
63
  thead {