bootstrap 4.3.1 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -0
  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 +376 -290
  7. data/assets/javascripts/bootstrap.min.js +2 -2
  8. data/assets/javascripts/bootstrap/alert.js +9 -10
  9. data/assets/javascripts/bootstrap/button.js +72 -25
  10. data/assets/javascripts/bootstrap/carousel.js +40 -27
  11. data/assets/javascripts/bootstrap/collapse.js +36 -22
  12. data/assets/javascripts/bootstrap/dropdown.js +75 -54
  13. data/assets/javascripts/bootstrap/modal.js +94 -59
  14. data/assets/javascripts/bootstrap/popover.js +36 -22
  15. data/assets/javascripts/bootstrap/scrollspy.js +35 -21
  16. data/assets/javascripts/bootstrap/tab.js +9 -10
  17. data/assets/javascripts/bootstrap/toast.js +58 -38
  18. data/assets/javascripts/bootstrap/tooltip.js +98 -76
  19. data/assets/javascripts/bootstrap/util.js +21 -4
  20. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  21. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  22. data/assets/stylesheets/_bootstrap.scss +1 -1
  23. data/assets/stylesheets/bootstrap/_badge.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -1
  25. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +4 -2
  27. data/assets/stylesheets/bootstrap/_card.scss +17 -28
  28. data/assets/stylesheets/bootstrap/_carousel.scss +6 -6
  29. data/assets/stylesheets/bootstrap/_close.scss +2 -2
  30. data/assets/stylesheets/bootstrap/_code.scss +1 -1
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +22 -8
  32. data/assets/stylesheets/bootstrap/_dropdown.scss +3 -3
  33. data/assets/stylesheets/bootstrap/_forms.scss +17 -9
  34. data/assets/stylesheets/bootstrap/_functions.scss +49 -1
  35. data/assets/stylesheets/bootstrap/_grid.scss +25 -8
  36. data/assets/stylesheets/bootstrap/_images.scss +2 -2
  37. data/assets/stylesheets/bootstrap/_input-group.scss +2 -4
  38. data/assets/stylesheets/bootstrap/_list-group.scss +31 -22
  39. data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
  40. data/assets/stylesheets/bootstrap/_modal.scss +26 -16
  41. data/assets/stylesheets/bootstrap/_nav.scss +3 -3
  42. data/assets/stylesheets/bootstrap/_navbar.scss +45 -15
  43. data/assets/stylesheets/bootstrap/_pagination.scss +2 -2
  44. data/assets/stylesheets/bootstrap/_popover.scss +8 -9
  45. data/assets/stylesheets/bootstrap/_print.scss +2 -2
  46. data/assets/stylesheets/bootstrap/_progress.scss +5 -2
  47. data/assets/stylesheets/bootstrap/_reboot.scss +14 -15
  48. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  49. data/assets/stylesheets/bootstrap/_tables.scss +3 -3
  50. data/assets/stylesheets/bootstrap/_type.scss +2 -2
  51. data/assets/stylesheets/bootstrap/_variables.scss +42 -22
  52. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +3 -2
  53. data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
  54. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +5 -2
  55. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  56. data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
  57. data/assets/stylesheets/bootstrap/mixins/_forms.scss +32 -47
  58. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +8 -3
  59. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -0
  60. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  61. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
  62. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  63. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  64. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  65. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  66. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +3 -2
  67. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
  69. data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
  70. data/assets/stylesheets/bootstrap/utilities/_text.scss +2 -2
  71. data/bootstrap.gemspec +1 -1
  72. data/lib/bootstrap/version.rb +2 -2
  73. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  74. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  75. data/test/support/dummy_rails_integration.rb +3 -1
  76. data/test/test_helper.rb +18 -13
  77. metadata +8 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap util.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap util.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
@@ -7,13 +7,13 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery'], factory) :
9
9
  (global = global || self, global.Util = factory(global.jQuery));
10
- }(this, function ($) { 'use strict';
10
+ }(this, (function ($) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
 
14
14
  /**
15
15
  * --------------------------------------------------------------------------
16
- * Bootstrap (v4.3.1): util.js
16
+ * Bootstrap (v4.4.1): util.js
17
17
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
18
18
  * --------------------------------------------------------------------------
19
19
  */
@@ -162,10 +162,27 @@
162
162
  }
163
163
 
164
164
  return Util.findShadowRoot(element.parentNode);
165
+ },
166
+ jQueryDetection: function jQueryDetection() {
167
+ if (typeof $ === 'undefined') {
168
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
169
+ }
170
+
171
+ var version = $.fn.jquery.split(' ')[0].split('.');
172
+ var minMajor = 1;
173
+ var ltMajor = 2;
174
+ var minMinor = 9;
175
+ var minPatch = 1;
176
+ var maxMajor = 4;
177
+
178
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
179
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
180
+ }
165
181
  }
166
182
  };
183
+ Util.jQueryDetection();
167
184
  setTransitionEndSupport();
168
185
 
169
186
  return Util;
170
187
 
171
- }));
188
+ })));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Grid v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 The Bootstrap Authors
4
4
  * Copyright 2011-2019 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 The Bootstrap Authors
4
4
  * Copyright 2011-2019 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 The Bootstrap Authors
4
4
  * Copyright 2011-2019 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
@@ -16,7 +16,7 @@
16
16
  @include transition($badge-transition);
17
17
 
18
18
  @at-root a#{&} {
19
- @include hover-focus {
19
+ @include hover-focus() {
20
20
  text-decoration: none;
21
21
  }
22
22
  }
@@ -3,6 +3,7 @@
3
3
  flex-wrap: wrap;
4
4
  padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5
5
  margin-bottom: $breadcrumb-margin-bottom;
6
+ @include font-size($breadcrumb-font-size);
6
7
  list-style: none;
7
8
  background-color: $breadcrumb-bg;
8
9
  @include border-radius($breadcrumb-border-radius);
@@ -17,7 +18,7 @@
17
18
  display: inline-block; // Suppress underlining of the separator in modern browsers
18
19
  padding-right: $breadcrumb-item-padding;
19
20
  color: $breadcrumb-divider-color;
20
- content: $breadcrumb-divider;
21
+ content: escape-svg($breadcrumb-divider);
21
22
  }
22
23
  }
23
24
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  // Bring the hover, focused, and "active" buttons to the front to overlay
15
15
  // the borders properly
16
- @include hover {
16
+ @include hover() {
17
17
  z-index: 1;
18
18
  }
19
19
  &:focus,
@@ -10,14 +10,16 @@
10
10
  font-weight: $btn-font-weight;
11
11
  color: $body-color;
12
12
  text-align: center;
13
+ white-space: $btn-white-space;
13
14
  vertical-align: middle;
15
+ cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
14
16
  user-select: none;
15
17
  background-color: transparent;
16
18
  border: $btn-border-width solid transparent;
17
19
  @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
18
20
  @include transition($btn-transition);
19
21
 
20
- @include hover {
22
+ @include hover() {
21
23
  color: $body-color;
22
24
  text-decoration: none;
23
25
  }
@@ -79,7 +81,7 @@ fieldset:disabled a.btn {
79
81
  color: $link-color;
80
82
  text-decoration: $link-decoration;
81
83
 
82
- @include hover {
84
+ @include hover() {
83
85
  color: $link-hover-color;
84
86
  text-decoration: $link-hover-decoration;
85
87
  }
@@ -7,6 +7,7 @@
7
7
  display: flex;
8
8
  flex-direction: column;
9
9
  min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
10
+ height: $card-height;
10
11
  word-wrap: break-word;
11
12
  background-color: $card-bg;
12
13
  background-clip: border-box;
@@ -35,6 +36,9 @@
35
36
  // Enable `flex-grow: 1` for decks and groups so that card blocks take up
36
37
  // as much space as possible, ensuring footers are aligned to the bottom.
37
38
  flex: 1 1 auto;
39
+ // Workaround for the image size bug in IE
40
+ // See: https://github.com/twbs/bootstrap/pull/28855
41
+ min-height: 1px;
38
42
  padding: $card-spacer-x;
39
43
  color: $card-color;
40
44
  }
@@ -53,7 +57,7 @@
53
57
  }
54
58
 
55
59
  .card-link {
56
- @include hover {
60
+ @include hover() {
57
61
  text-decoration: none;
58
62
  }
59
63
 
@@ -121,19 +125,20 @@
121
125
  padding: $card-img-overlay-padding;
122
126
  }
123
127
 
124
- .card-img {
128
+ .card-img,
129
+ .card-img-top,
130
+ .card-img-bottom {
131
+ flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396
125
132
  width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
126
- @include border-radius($card-inner-border-radius);
127
133
  }
128
134
 
129
- // Card image caps
135
+ .card-img,
130
136
  .card-img-top {
131
- width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
132
137
  @include border-top-radius($card-inner-border-radius);
133
138
  }
134
139
 
140
+ .card-img,
135
141
  .card-img-bottom {
136
- width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
137
142
  @include border-bottom-radius($card-inner-border-radius);
138
143
  }
139
144
 
@@ -141,23 +146,19 @@
141
146
  // Card deck
142
147
 
143
148
  .card-deck {
144
- display: flex;
145
- flex-direction: column;
146
-
147
149
  .card {
148
150
  margin-bottom: $card-deck-margin;
149
151
  }
150
152
 
151
153
  @include media-breakpoint-up(sm) {
154
+ display: flex;
152
155
  flex-flow: row wrap;
153
156
  margin-right: -$card-deck-margin;
154
157
  margin-left: -$card-deck-margin;
155
158
 
156
159
  .card {
157
- display: flex;
158
160
  // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
159
161
  flex: 1 0 0%;
160
- flex-direction: column;
161
162
  margin-right: $card-deck-margin;
162
163
  margin-bottom: 0; // Override the default
163
164
  margin-left: $card-deck-margin;
@@ -171,9 +172,6 @@
171
172
  //
172
173
 
173
174
  .card-group {
174
- display: flex;
175
- flex-direction: column;
176
-
177
175
  // The child selector allows nested `.card` within `.card-group`
178
176
  // to display properly.
179
177
  > .card {
@@ -181,6 +179,7 @@
181
179
  }
182
180
 
183
181
  @include media-breakpoint-up(sm) {
182
+ display: flex;
184
183
  flex-flow: row wrap;
185
184
  // The child selector allows nested `.card` within `.card-group`
186
185
  // to display properly.
@@ -262,27 +261,17 @@
262
261
  > .card {
263
262
  overflow: hidden;
264
263
 
265
- &:not(:first-of-type) {
266
- .card-header:first-child {
267
- @include border-radius(0);
268
- }
269
-
270
- &:not(:last-of-type) {
271
- border-bottom: 0;
272
- @include border-radius(0);
273
- }
274
- }
275
-
276
- &:first-of-type {
264
+ &:not(:last-of-type) {
277
265
  border-bottom: 0;
278
266
  @include border-bottom-radius(0);
279
267
  }
280
268
 
281
- &:last-of-type {
269
+ &:not(:first-of-type) {
282
270
  @include border-top-radius(0);
283
271
  }
284
272
 
285
- .card-header {
273
+ > .card-header {
274
+ @include border-radius(0);
286
275
  margin-bottom: -$card-border-width;
287
276
  }
288
277
  }
@@ -75,7 +75,7 @@
75
75
  .active.carousel-item-right {
76
76
  z-index: 0;
77
77
  opacity: 0;
78
- @include transition(0s $carousel-transition-duration opacity);
78
+ @include transition(opacity 0s $carousel-transition-duration);
79
79
  }
80
80
  }
81
81
 
@@ -101,7 +101,7 @@
101
101
  @include transition($carousel-control-transition);
102
102
 
103
103
  // Hover/focus state
104
- @include hover-focus {
104
+ @include hover-focus() {
105
105
  color: $carousel-control-color;
106
106
  text-decoration: none;
107
107
  outline: 0;
@@ -111,13 +111,13 @@
111
111
  .carousel-control-prev {
112
112
  left: 0;
113
113
  @if $enable-gradients {
114
- background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
114
+ background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
115
115
  }
116
116
  }
117
117
  .carousel-control-next {
118
118
  right: 0;
119
119
  @if $enable-gradients {
120
- background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
120
+ background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
121
121
  }
122
122
  }
123
123
 
@@ -130,10 +130,10 @@
130
130
  background: no-repeat 50% / 100% 100%;
131
131
  }
132
132
  .carousel-control-prev-icon {
133
- background-image: $carousel-control-prev-icon-bg;
133
+ background-image: escape-svg($carousel-control-prev-icon-bg);
134
134
  }
135
135
  .carousel-control-next-icon {
136
- background-image: $carousel-control-next-icon-bg;
136
+ background-image: escape-svg($carousel-control-next-icon-bg);
137
137
  }
138
138
 
139
139
 
@@ -8,13 +8,13 @@
8
8
  opacity: .5;
9
9
 
10
10
  // Override <a>'s hover style
11
- @include hover {
11
+ @include hover() {
12
12
  color: $close-color;
13
13
  text-decoration: none;
14
14
  }
15
15
 
16
16
  &:not(:disabled):not(.disabled) {
17
- @include hover-focus {
17
+ @include hover-focus() {
18
18
  opacity: .75;
19
19
  }
20
20
  }
@@ -2,7 +2,7 @@
2
2
  code {
3
3
  @include font-size($code-font-size);
4
4
  color: $code-color;
5
- word-break: break-word;
5
+ word-wrap: break-word;
6
6
 
7
7
  // Streamline the style when inside anchors to avoid broken underline and more
8
8
  a > & {
@@ -21,7 +21,10 @@
21
21
 
22
22
  .custom-control-input {
23
23
  position: absolute;
24
+ left: 0;
24
25
  z-index: -1; // Put the input behind the label so it doesn't overlay text
26
+ width: $custom-control-indicator-size;
27
+ height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;
25
28
  opacity: 0;
26
29
 
27
30
  &:checked ~ .custom-control-label::before {
@@ -51,6 +54,8 @@
51
54
  @include box-shadow($custom-control-indicator-active-box-shadow);
52
55
  }
53
56
 
57
+ // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247
58
+ &[disabled],
54
59
  &:disabled {
55
60
  ~ .custom-control-label {
56
61
  color: $custom-control-label-disabled-color;
@@ -69,7 +74,9 @@
69
74
  .custom-control-label {
70
75
  position: relative;
71
76
  margin-bottom: 0;
77
+ color: $custom-control-label-color;
72
78
  vertical-align: top;
79
+ cursor: $custom-control-cursor;
73
80
 
74
81
  // Background-color and (when enabled) gradient
75
82
  &::before {
@@ -111,7 +118,7 @@
111
118
 
112
119
  .custom-control-input:checked ~ .custom-control-label {
113
120
  &::after {
114
- background-image: $custom-checkbox-indicator-icon-checked;
121
+ background-image: escape-svg($custom-checkbox-indicator-icon-checked);
115
122
  }
116
123
  }
117
124
 
@@ -122,7 +129,7 @@
122
129
  @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
123
130
  }
124
131
  &::after {
125
- background-image: $custom-checkbox-indicator-icon-indeterminate;
132
+ background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);
126
133
  }
127
134
  }
128
135
 
@@ -148,7 +155,7 @@
148
155
 
149
156
  .custom-control-input:checked ~ .custom-control-label {
150
157
  &::after {
151
- background-image: $custom-radio-indicator-icon-checked;
158
+ background-image: escape-svg($custom-radio-indicator-icon-checked);
152
159
  }
153
160
  }
154
161
 
@@ -177,8 +184,8 @@
177
184
  }
178
185
 
179
186
  &::after {
180
- top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});
181
- left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});
187
+ top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);
188
+ left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);
182
189
  width: $custom-switch-indicator-size;
183
190
  height: $custom-switch-indicator-size;
184
191
  background-color: $custom-control-indicator-border-color;
@@ -220,8 +227,7 @@
220
227
  line-height: $custom-select-line-height;
221
228
  color: $custom-select-color;
222
229
  vertical-align: middle;
223
- background: $custom-select-background;
224
- background-color: $custom-select-bg;
230
+ background: $custom-select-bg $custom-select-background;
225
231
  border: $custom-select-border-width solid $custom-select-border-color;
226
232
  @include border-radius($custom-select-border-radius, 0);
227
233
  @include box-shadow($custom-select-box-shadow);
@@ -263,6 +269,12 @@
263
269
  &::-ms-expand {
264
270
  display: none;
265
271
  }
272
+
273
+ // Remove outline from select box in FF
274
+ &:-moz-focusring {
275
+ color: transparent;
276
+ text-shadow: 0 0 0 $custom-select-color;
277
+ }
266
278
  }
267
279
 
268
280
  .custom-select-sm {
@@ -307,6 +319,8 @@
307
319
  box-shadow: $custom-file-focus-box-shadow;
308
320
  }
309
321
 
322
+ // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247
323
+ &[disabled] ~ .custom-file-label,
310
324
  &:disabled ~ .custom-file-label {
311
325
  background-color: $custom-file-disabled-bg;
312
326
  }
@@ -365,7 +379,7 @@
365
379
 
366
380
  .custom-range {
367
381
  width: 100%;
368
- height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2});
382
+ height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);
369
383
  padding: 0; // Need to reset padding
370
384
  background-color: transparent;
371
385
  appearance: none;
@@ -10,7 +10,7 @@
10
10
  white-space: nowrap;
11
11
 
12
12
  // Generate the caret automatically
13
- @include caret;
13
+ @include caret();
14
14
  }
15
15
 
16
16
  // The dropdown menu
@@ -114,7 +114,7 @@
114
114
 
115
115
  // Dividers (basically an `<hr>`) within the dropdown
116
116
  .dropdown-divider {
117
- @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);
117
+ @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);
118
118
  }
119
119
 
120
120
  // Links, buttons, and more within the dropdown menu
@@ -144,7 +144,7 @@
144
144
  }
145
145
  }
146
146
 
147
- @include hover-focus {
147
+ @include hover-focus() {
148
148
  color: $dropdown-link-hover-color;
149
149
  text-decoration: none;
150
150
  @include gradient-bg($dropdown-link-hover-bg);