bootstrap-sass 3.0.3.0 → 3.1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap-sass might be problematic. Click here for more details.

Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/CHANGELOG.md +4 -0
  4. data/CONTRIBUTING.md +2 -2
  5. data/Gemfile +1 -1
  6. data/LICENSE +17 -10
  7. data/README.md +17 -17
  8. data/Rakefile +7 -2
  9. data/bootstrap-sass.gemspec +9 -9
  10. data/bower.json +22 -0
  11. data/composer.json +35 -0
  12. data/lib/bootstrap-sass.rb +1 -3
  13. data/lib/bootstrap-sass/sass_functions.rb +4 -3
  14. data/lib/bootstrap-sass/version.rb +2 -2
  15. data/tasks/converter.rb +21 -15
  16. data/tasks/converter/fonts_conversion.rb +7 -3
  17. data/tasks/converter/js_conversion.rb +20 -3
  18. data/tasks/converter/less_conversion.rb +89 -60
  19. data/tasks/converter/logger.rb +6 -14
  20. data/tasks/converter/network.rb +7 -32
  21. data/test/compilation_test.rb +1 -1
  22. data/test/dummy/app/views/pages/root.html.slim +8 -2
  23. data/test/dummy/config/application.rb +2 -2
  24. data/test/gemfiles/sass_3_2.gemfile +1 -1
  25. data/test/gemfiles/sass_head.gemfile +2 -3
  26. data/test/sprockets_rails_test.rb +21 -0
  27. data/vendor/assets/javascripts/bootstrap/affix.js +34 -23
  28. data/vendor/assets/javascripts/bootstrap/alert.js +5 -15
  29. data/vendor/assets/javascripts/bootstrap/button.js +21 -29
  30. data/vendor/assets/javascripts/bootstrap/carousel.js +16 -28
  31. data/vendor/assets/javascripts/bootstrap/collapse.js +7 -16
  32. data/vendor/assets/javascripts/bootstrap/dropdown.js +19 -26
  33. data/vendor/assets/javascripts/bootstrap/modal.js +25 -28
  34. data/vendor/assets/javascripts/bootstrap/popover.js +14 -21
  35. data/vendor/assets/javascripts/bootstrap/scrollspy.js +16 -21
  36. data/vendor/assets/javascripts/bootstrap/tab.js +7 -17
  37. data/vendor/assets/javascripts/bootstrap/tooltip.js +52 -39
  38. data/vendor/assets/javascripts/bootstrap/transition.js +11 -19
  39. data/vendor/assets/stylesheets/bootstrap/_badges.scss +4 -0
  40. data/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +4 -1
  41. data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +8 -9
  42. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +8 -8
  43. data/vendor/assets/stylesheets/bootstrap/_code.scss +10 -0
  44. data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +28 -3
  45. data/vendor/assets/stylesheets/bootstrap/_forms.scss +81 -38
  46. data/vendor/assets/stylesheets/bootstrap/_glyphicons.scss +1 -5
  47. data/vendor/assets/stylesheets/bootstrap/_grid.scss +26 -5
  48. data/vendor/assets/stylesheets/bootstrap/_input-groups.scss +39 -18
  49. data/vendor/assets/stylesheets/bootstrap/_jumbotron.scss +3 -5
  50. data/vendor/assets/stylesheets/bootstrap/_list-group.scss +25 -3
  51. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +124 -41
  52. data/vendor/assets/stylesheets/bootstrap/_modals.scss +15 -6
  53. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +21 -17
  54. data/vendor/assets/stylesheets/bootstrap/_navs.scss +1 -1
  55. data/vendor/assets/stylesheets/bootstrap/_normalize.scss +139 -122
  56. data/vendor/assets/stylesheets/bootstrap/_pager.scss +4 -4
  57. data/vendor/assets/stylesheets/bootstrap/_pagination.scss +6 -3
  58. data/vendor/assets/stylesheets/bootstrap/_panels.scss +63 -15
  59. data/vendor/assets/stylesheets/bootstrap/_print.scss +0 -4
  60. data/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss +6 -124
  61. data/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +17 -2
  62. data/vendor/assets/stylesheets/bootstrap/_tables.scss +3 -1
  63. data/vendor/assets/stylesheets/bootstrap/_theme.scss +3 -3
  64. data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +4 -4
  65. data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
  66. data/vendor/assets/stylesheets/bootstrap/_type.scss +77 -62
  67. data/vendor/assets/stylesheets/bootstrap/_variables.scss +350 -163
  68. data/vendor/assets/stylesheets/bootstrap/_wells.scss +1 -1
  69. data/vendor/assets/stylesheets/bootstrap/bootstrap.scss +38 -38
  70. metadata +22 -4
@@ -14,7 +14,7 @@
14
14
  src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'),
15
15
  url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'),
16
16
  url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'),
17
- url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg#glyphicons-halflingsregular'), '#{$icon-font-path}#{$icon-font-name}.svg#glyphicons-halflingsregular')) format('svg');
17
+ url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg');
18
18
  }
19
19
 
20
20
  // Catchall baseclass
@@ -28,10 +28,6 @@
28
28
  line-height: 1;
29
29
  -webkit-font-smoothing: antialiased;
30
30
  -moz-osx-font-smoothing: grayscale;
31
-
32
- &:empty {
33
- width: 1em;
34
- }
35
31
  }
36
32
 
37
33
  // Individual icons
@@ -2,14 +2,18 @@
2
2
  // Grid system
3
3
  // --------------------------------------------------
4
4
 
5
- // Set the container width, and override it for fixed navbars in media queries
5
+
6
+ // Container widths
7
+ //
8
+ // Set the container width, and override it for fixed navbars in media queries.
9
+
6
10
  .container {
7
11
  @include container-fixed();
8
12
 
9
- @media (min-width: $screen-sm) {
13
+ @media (min-width: $screen-sm-min) {
10
14
  width: $container-sm;
11
15
  }
12
- @media (min-width: $screen-md) {
16
+ @media (min-width: $screen-md-min) {
13
17
  width: $container-md;
14
18
  }
15
19
  @media (min-width: $screen-lg-min) {
@@ -17,12 +21,30 @@
17
21
  }
18
22
  }
19
23
 
20
- // mobile first defaults
24
+
25
+ // Fluid container
26
+ //
27
+ // Utilizes the mixin meant for fixed width containers, but without any defined
28
+ // width for fluid, full width layouts.
29
+
30
+ .container-fluid {
31
+ @include container-fixed();
32
+ }
33
+
34
+
35
+ // Row
36
+ //
37
+ // Rows contain and clear the floats of your columns.
38
+
21
39
  .row {
22
40
  @include make-row();
23
41
  }
24
42
 
43
+
44
+ // Columns
45
+ //
25
46
  // Common styles for small and large grid columns
47
+
26
48
  @include make-grid-columns();
27
49
 
28
50
 
@@ -76,4 +98,3 @@
76
98
  @include make-grid($grid-columns, lg, push);
77
99
  @include make-grid($grid-columns, lg, offset);
78
100
  }
79
-
@@ -17,6 +17,11 @@
17
17
  }
18
18
 
19
19
  .form-control {
20
+ // IE9 fubars the placeholder attribute in text inputs and the arrows on
21
+ // select elements in input groups. To fix it, we float the input. Details:
22
+ // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855
23
+ float: left;
24
+
20
25
  width: 100%;
21
26
  margin-bottom: 0;
22
27
  }
@@ -90,8 +95,10 @@
90
95
  .input-group .form-control:first-child,
91
96
  .input-group-addon:first-child,
92
97
  .input-group-btn:first-child > .btn,
98
+ .input-group-btn:first-child > .btn-group > .btn,
93
99
  .input-group-btn:first-child > .dropdown-toggle,
94
- .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
100
+ .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
101
+ .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
95
102
  @include border-right-radius(0);
96
103
  }
97
104
  .input-group-addon:first-child {
@@ -100,8 +107,10 @@
100
107
  .input-group .form-control:last-child,
101
108
  .input-group-addon:last-child,
102
109
  .input-group-btn:last-child > .btn,
110
+ .input-group-btn:last-child > .btn-group > .btn,
103
111
  .input-group-btn:last-child > .dropdown-toggle,
104
- .input-group-btn:first-child > .btn:not(:first-child) {
112
+ .input-group-btn:first-child > .btn:not(:first-child),
113
+ .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
105
114
  @include border-left-radius(0);
106
115
  }
107
116
  .input-group-addon:last-child {
@@ -112,25 +121,37 @@
112
121
  // -------------------------
113
122
  .input-group-btn {
114
123
  position: relative;
124
+ // Jankily prevent input button groups from wrapping with `white-space` and
125
+ // `font-size` in combination with `inline-block` on buttons.
126
+ font-size: 0;
115
127
  white-space: nowrap;
116
128
 
117
- // Negative margin to only have a 1px border between the two
118
- &:first-child > .btn {
119
- margin-right: -1px;
129
+ // Negative margin for spacing, position for bringing hovered/focused/actived
130
+ // element above the siblings.
131
+ > .btn {
132
+ position: relative;
133
+ + .btn {
134
+ margin-left: -1px;
135
+ }
136
+ // Bring the "active" button to the front
137
+ &:hover,
138
+ &:focus,
139
+ &:active {
140
+ z-index: 2;
141
+ }
120
142
  }
121
- &:last-child > .btn {
122
- margin-left: -1px;
123
- }
124
- }
125
- .input-group-btn > .btn {
126
- position: relative;
127
- // Jankily prevent input button groups from wrapping
128
- + .btn {
129
- margin-left: -4px;
143
+
144
+ // Negative margin to only have a 1px border between the two
145
+ &:first-child {
146
+ > .btn,
147
+ > .btn-group {
148
+ margin-right: -1px;
149
+ }
130
150
  }
131
- // Bring the "active" button to the front
132
- &:hover,
133
- &:active {
134
- z-index: 2;
151
+ &:last-child {
152
+ > .btn,
153
+ > .btn-group {
154
+ margin-left: -1px;
155
+ }
135
156
  }
136
157
  }
@@ -6,19 +6,17 @@
6
6
  .jumbotron {
7
7
  padding: $jumbotron-padding;
8
8
  margin-bottom: $jumbotron-padding;
9
- font-size: $jumbotron-font-size;
10
- font-weight: 200;
11
- line-height: ($line-height-base * 1.5);
12
9
  color: $jumbotron-color;
13
10
  background-color: $jumbotron-bg;
14
11
 
15
12
  h1,
16
13
  .h1 {
17
- line-height: 1;
18
14
  color: $jumbotron-heading-color;
19
15
  }
20
16
  p {
21
- line-height: 1.4;
17
+ margin-bottom: ($jumbotron-padding / 2);
18
+ font-size: $jumbotron-font-size;
19
+ font-weight: 200;
22
20
  }
23
21
 
24
22
  .container & {
@@ -2,17 +2,21 @@
2
2
  // List groups
3
3
  // --------------------------------------------------
4
4
 
5
+
5
6
  // Base class
6
7
  //
7
8
  // Easily usable on <ul>, <ol>, or <div>.
9
+
8
10
  .list-group {
9
11
  // No need to set list-style: none; since .list-group-item is block level
10
12
  margin-bottom: 20px;
11
13
  padding-left: 0; // reset padding because ul and ol
12
14
  }
13
15
 
16
+
14
17
  // Individual list items
15
- // -------------------------
18
+ //
19
+ // Use on `li`s or `div`s within the `.list-group` parent.
16
20
 
17
21
  .list-group-item {
18
22
  position: relative;
@@ -41,7 +45,12 @@
41
45
  }
42
46
  }
43
47
 
48
+
44
49
  // Linked list items
50
+ //
51
+ // Use anchor elements instead of `li`s or `div`s to create linked list items.
52
+ // Includes an extra `.active` modifier class for showing selected items.
53
+
45
54
  a.list-group-item {
46
55
  color: $list-group-link-color;
47
56
 
@@ -70,13 +79,26 @@ a.list-group-item {
70
79
  color: inherit;
71
80
  }
72
81
  .list-group-item-text {
73
- color: lighten($list-group-active-bg, 40%);
82
+ color: $list-group-active-text-color;
74
83
  }
75
84
  }
76
85
  }
77
86
 
87
+
88
+ // Contextual variants
89
+ //
90
+ // Add modifier classes to change text and background color on individual items.
91
+ // Organizationally, this must come after the `:hover` states.
92
+
93
+ @include list-group-item-variant(success, $state-success-bg, $state-success-text);
94
+ @include list-group-item-variant(info, $state-info-bg, $state-info-text);
95
+ @include list-group-item-variant(warning, $state-warning-bg, $state-warning-text);
96
+ @include list-group-item-variant(danger, $state-danger-bg, $state-danger-text);
97
+
98
+
78
99
  // Custom content options
79
- // -------------------------
100
+ //
101
+ // Extra classes for creating well-formatted content within `.list-group-item`s.
80
102
 
81
103
  .list-group-item-heading {
82
104
  margin-top: 0;
@@ -115,6 +115,10 @@
115
115
  }
116
116
 
117
117
  // Drop shadows
118
+ //
119
+ // Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's
120
+ // supported browsers that have box shadow capabilities now support the
121
+ // standard `box-shadow` property.
118
122
  @mixin box-shadow($shadow...) {
119
123
  -webkit-box-shadow: $shadow; // iOS <4.3 & Android <4.1
120
124
  box-shadow: $shadow;
@@ -147,17 +151,17 @@
147
151
  // Transformations
148
152
  @mixin rotate($degrees) {
149
153
  -webkit-transform: rotate($degrees);
150
- -ms-transform: rotate($degrees); // IE9+
154
+ -ms-transform: rotate($degrees); // IE9 only
151
155
  transform: rotate($degrees);
152
156
  }
153
- @mixin scale($ratio) {
154
- -webkit-transform: scale($ratio);
155
- -ms-transform: scale($ratio); // IE9+
156
- transform: scale($ratio);
157
+ @mixin scale($ratio, $ratio-y...) {
158
+ -webkit-transform: scale($ratio, $ratio-y);
159
+ -ms-transform: scale($ratio, $ratio-y); // IE9 only
160
+ transform: scale($ratio, $ratio-y);
157
161
  }
158
162
  @mixin translate($x, $y) {
159
163
  -webkit-transform: translate($x, $y);
160
- -ms-transform: translate($x, $y); // IE9+
164
+ -ms-transform: translate($x, $y); // IE9 only
161
165
  transform: translate($x, $y);
162
166
  }
163
167
  @mixin skew($x, $y) {
@@ -172,12 +176,12 @@
172
176
 
173
177
  @mixin rotateX($degrees) {
174
178
  -webkit-transform: rotateX($degrees);
175
- -ms-transform: rotateX($degrees); // IE9+
179
+ -ms-transform: rotateX($degrees); // IE9 only
176
180
  transform: rotateX($degrees);
177
181
  }
178
182
  @mixin rotateY($degrees) {
179
183
  -webkit-transform: rotateY($degrees);
180
- -ms-transform: rotateY($degrees); // IE9+
184
+ -ms-transform: rotateY($degrees); // IE9 only
181
185
  transform: rotateY($degrees);
182
186
  }
183
187
  @mixin perspective($perspective) {
@@ -193,6 +197,7 @@
193
197
  @mixin transform-origin($origin) {
194
198
  -webkit-transform-origin: $origin;
195
199
  -moz-transform-origin: $origin;
200
+ -ms-transform-origin: $origin; // IE9 only
196
201
  transform-origin: $origin;
197
202
  }
198
203
 
@@ -201,6 +206,30 @@
201
206
  -webkit-animation: $animation;
202
207
  animation: $animation;
203
208
  }
209
+ @mixin animation-name($name) {
210
+ -webkit-animation-name: $name;
211
+ animation-name: $name;
212
+ }
213
+ @mixin animation-duration($duration) {
214
+ -webkit-animation-duration: $duration;
215
+ animation-duration: $duration;
216
+ }
217
+ @mixin animation-timing-function($timing-function) {
218
+ -webkit-animation-timing-function: $timing-function;
219
+ animation-timing-function: $timing-function;
220
+ }
221
+ @mixin animation-delay($delay) {
222
+ -webkit-animation-delay: $delay;
223
+ animation-delay: $delay;
224
+ }
225
+ @mixin animation-iteration-count($iteration-count) {
226
+ -webkit-animation-iteration-count: $iteration-count;
227
+ animation-iteration-count: $iteration-count;
228
+ }
229
+ @mixin animation-direction($direction) {
230
+ -webkit-animation-direction: $direction;
231
+ animation-direction: $direction;
232
+ }
204
233
 
205
234
  // Backface visibility
206
235
  // Prevent browsers from flickering when using CSS 3D transforms.
@@ -413,29 +442,59 @@
413
442
  @mixin table-row-variant($state, $background) {
414
443
  // Exact selectors below required to override `.table-striped` and prevent
415
444
  // inheritance to nested tables.
416
- .table {
417
- > thead,
418
- > tbody,
419
- > tfoot {
420
- > tr > .#{$state},
421
- > .#{$state} > td,
422
- > .#{$state} > th {
423
- background-color: $background;
424
- }
445
+ .table > thead > tr,
446
+ .table > tbody > tr,
447
+ .table > tfoot > tr {
448
+ > td.#{$state},
449
+ > th.#{$state},
450
+ &.#{$state} > td,
451
+ &.#{$state} > th {
452
+ background-color: $background;
425
453
  }
426
454
  }
427
455
 
428
456
  // Hover states for `.table-hover`
429
457
  // Note: this is not available for cells or rows within `thead` or `tfoot`.
430
- .table-hover > tbody {
431
- > tr > .#{$state}:hover,
432
- > .#{$state}:hover > td,
433
- > .#{$state}:hover > th {
458
+ .table-hover > tbody > tr {
459
+ > td.#{$state}:hover,
460
+ > th.#{$state}:hover,
461
+ &.#{$state}:hover > td,
462
+ &.#{$state}:hover > th {
434
463
  background-color: darken($background, 5%);
435
464
  }
436
465
  }
437
466
  }
438
467
 
468
+ // List Groups
469
+ // -------------------------
470
+ @mixin list-group-item-variant($state, $background, $color) {
471
+ .list-group-item-#{$state} {
472
+ color: $color;
473
+ background-color: $background;
474
+
475
+ // [converter] extracted a& to a.list-group-item-#{$state}
476
+ }
477
+
478
+ a.list-group-item-#{$state} {
479
+ color: $color;
480
+
481
+ .list-group-item-heading { color: inherit; }
482
+
483
+ &:hover,
484
+ &:focus {
485
+ color: $color;
486
+ background-color: darken($background, 5%);
487
+ }
488
+ &.active,
489
+ &.active:hover,
490
+ &.active:focus {
491
+ color: #fff;
492
+ background-color: $color;
493
+ border-color: $color;
494
+ }
495
+ }
496
+ }
497
+
439
498
  // Button variants
440
499
  // -------------------------
441
500
  // Easily pump out default styles, as well as :hover, :focus, :active,
@@ -480,7 +539,7 @@
480
539
 
481
540
  .badge {
482
541
  color: $background;
483
- background-color: #fff;
542
+ background-color: $color;
484
543
  }
485
544
  }
486
545
 
@@ -529,6 +588,24 @@
529
588
  }
530
589
  }
531
590
 
591
+ // Contextual backgrounds
592
+ // -------------------------
593
+ @mixin bg-variant($color) {
594
+ background-color: $color;
595
+ a:hover {
596
+ background-color: darken($color, 10%);
597
+ }
598
+ }
599
+
600
+ // Typography
601
+ // -------------------------
602
+ @mixin text-emphasis-variant($color) {
603
+ color: $color;
604
+ a:hover {
605
+ color: darken($color, 10%);
606
+ }
607
+ }
608
+
532
609
  // Navbar vertical align
533
610
  // -------------------------
534
611
  // Vertically center elements in the navbar.
@@ -592,30 +669,39 @@
592
669
  position: relative;
593
670
  float: left;
594
671
  width: percentage(($columns / $grid-columns));
595
- // Prevent columns from collapsing when empty
596
672
  min-height: 1px;
597
- // Inner gutter via padding
598
673
  padding-left: ($gutter / 2);
599
674
  padding-right: ($gutter / 2);
600
675
  }
676
+ @mixin make-xs-column-offset($columns) {
677
+ @media (min-width: $screen-xs-min) {
678
+ margin-left: percentage(($columns / $grid-columns));
679
+ }
680
+ }
681
+ @mixin make-xs-column-push($columns) {
682
+ @media (min-width: $screen-xs-min) {
683
+ left: percentage(($columns / $grid-columns));
684
+ }
685
+ }
686
+ @mixin make-xs-column-pull($columns) {
687
+ @media (min-width: $screen-xs-min) {
688
+ right: percentage(($columns / $grid-columns));
689
+ }
690
+ }
691
+
601
692
 
602
693
  // Generate the small columns
603
694
  @mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
604
695
  position: relative;
605
- // Prevent columns from collapsing when empty
606
696
  min-height: 1px;
607
- // Inner gutter via padding
608
697
  padding-left: ($gutter / 2);
609
698
  padding-right: ($gutter / 2);
610
699
 
611
- // Calculate width based on number of columns available
612
700
  @media (min-width: $screen-sm-min) {
613
701
  float: left;
614
702
  width: percentage(($columns / $grid-columns));
615
703
  }
616
704
  }
617
-
618
- // Generate the small column offsets
619
705
  @mixin make-sm-column-offset($columns) {
620
706
  @media (min-width: $screen-sm-min) {
621
707
  margin-left: percentage(($columns / $grid-columns));
@@ -632,30 +718,26 @@
632
718
  }
633
719
  }
634
720
 
721
+
635
722
  // Generate the medium columns
636
723
  @mixin make-md-column($columns, $gutter: $grid-gutter-width) {
637
724
  position: relative;
638
- // Prevent columns from collapsing when empty
639
725
  min-height: 1px;
640
- // Inner gutter via padding
641
726
  padding-left: ($gutter / 2);
642
727
  padding-right: ($gutter / 2);
643
728
 
644
- // Calculate width based on number of columns available
645
729
  @media (min-width: $screen-md-min) {
646
730
  float: left;
647
731
  width: percentage(($columns / $grid-columns));
648
732
  }
649
733
  }
650
-
651
- // Generate the medium column offsets
652
734
  @mixin make-md-column-offset($columns) {
653
735
  @media (min-width: $screen-md-min) {
654
736
  margin-left: percentage(($columns / $grid-columns));
655
737
  }
656
738
  }
657
739
  @mixin make-md-column-push($columns) {
658
- @media (min-width: $screen-md) {
740
+ @media (min-width: $screen-md-min) {
659
741
  left: percentage(($columns / $grid-columns));
660
742
  }
661
743
  }
@@ -665,23 +747,19 @@
665
747
  }
666
748
  }
667
749
 
750
+
668
751
  // Generate the large columns
669
752
  @mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
670
753
  position: relative;
671
- // Prevent columns from collapsing when empty
672
754
  min-height: 1px;
673
- // Inner gutter via padding
674
755
  padding-left: ($gutter / 2);
675
756
  padding-right: ($gutter / 2);
676
757
 
677
- // Calculate width based on number of columns available
678
758
  @media (min-width: $screen-lg-min) {
679
759
  float: left;
680
760
  width: percentage(($columns / $grid-columns));
681
761
  }
682
762
  }
683
-
684
- // Generate the large column offsets
685
763
  @mixin make-lg-column-offset($columns) {
686
764
  @media (min-width: $screen-lg-min) {
687
765
  margin-left: percentage(($columns / $grid-columns));
@@ -800,6 +878,10 @@
800
878
  border-color: $border-color;
801
879
  background-color: $background-color;
802
880
  }
881
+ // Optional feedback icon
882
+ .form-control-feedback {
883
+ color: $text-color;
884
+ }
803
885
  }
804
886
 
805
887
  // Form control focus state
@@ -842,7 +924,8 @@
842
924
  line-height: $input-height;
843
925
  }
844
926
 
845
- textarea#{$parent} {
927
+ textarea#{$parent},
928
+ select[multiple]#{$parent} {
846
929
  height: auto;
847
930
  }
848
931
  }