jumbo-jekyll-theme 5.6.9.4 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +202 -21
  3. data/README.md +10 -10
  4. data/_config.yml +146 -213
  5. data/_data/footer.yml +31 -33
  6. data/_data/nav.yml +73 -17
  7. data/_data/picture.yml +136 -0
  8. data/_data/settings.yml +97 -103
  9. data/_data/tags.yml +11 -11
  10. data/_data/universal_nav.yml +22 -0
  11. data/_includes/blog/authors_posts.html +37 -0
  12. data/_includes/blog/blog_filler_element.html +21 -0
  13. data/_includes/blog/display_blog_posts.html +126 -0
  14. data/_includes/{disqus-comments.html → blog/disqus_comments.html} +0 -0
  15. data/_includes/{latest-posts.html → blog/latest_posts.html} +0 -0
  16. data/_includes/blog/pagination.html +37 -0
  17. data/_includes/{post-series.html → blog/post_series.html} +0 -0
  18. data/_includes/blog/post_sidebar.html +81 -0
  19. data/_includes/{post-tags.html → blog/post_tags.html} +0 -0
  20. data/_includes/{read_time.html → blog/read_time.html} +0 -0
  21. data/_includes/components/breadcrumb.html +40 -0
  22. data/_includes/{carousel-header.html → components/carousel_header.html} +0 -0
  23. data/_includes/components/cookie_manager.html +80 -0
  24. data/_includes/components/css.html +8 -0
  25. data/_includes/{github-edit.html → components/github_edit.html} +0 -0
  26. data/_includes/components/head.html +60 -0
  27. data/_includes/components/http2.html +57 -0
  28. data/_includes/components/javascript.html +10 -0
  29. data/_includes/components/jumbotron.html +80 -0
  30. data/_includes/{linaro-404.html → components/linaro_404.html} +16 -19
  31. data/_includes/{schema.html → components/schema.html} +43 -43
  32. data/_includes/{sidebar.html → components/sidebar.html} +0 -0
  33. data/_includes/examples/custom_include.html +10 -0
  34. data/_includes/{custom_include_row.html → examples/custom_include_row.html} +562 -562
  35. data/_includes/flow/blocks.html +44 -0
  36. data/_includes/{core → flow}/button.html +5 -5
  37. data/_includes/flow/buttons.html +5 -0
  38. data/_includes/{core → flow}/call-to-action-banner.html +0 -0
  39. data/_includes/flow/container_row.html +11 -0
  40. data/_includes/flow/feature_block.html +41 -0
  41. data/_includes/flow/flow_inner.html +25 -0
  42. data/_includes/{core → flow}/full_width_row.html +5 -5
  43. data/_includes/{core → flow}/members-section.html +24 -32
  44. data/_includes/{core → flow}/slider.html +25 -33
  45. data/_includes/flow/slider_row.html +3 -0
  46. data/_includes/flow/tabbed_content.html +21 -0
  47. data/_includes/flow/text.html +3 -0
  48. data/_includes/flow/title.html +3 -0
  49. data/_includes/footer/footer.html +73 -0
  50. data/_includes/image.html +5 -6
  51. data/_includes/js_bundles/app.html +5 -0
  52. data/_includes/js_bundles/vendor.html +13 -0
  53. data/_includes/nav/brand.html +3 -0
  54. data/_includes/nav/nav.html +133 -0
  55. data/_includes/nav/universal_nav.html +36 -0
  56. data/_includes/{social-media-icons.html → social_media_icons.html} +0 -0
  57. data/_includes/youtube.html +74 -6
  58. data/_layouts/author.html +62 -6
  59. data/_layouts/base.html +6 -8
  60. data/_layouts/default.html +3 -3
  61. data/_layouts/error.html +25 -25
  62. data/_layouts/flow.html +33 -36
  63. data/_layouts/post-index.html +17 -16
  64. data/_layouts/post.html +55 -39
  65. data/_sass/app/blog.scss +0 -22
  66. data/_sass/app/overrides.scss +121 -66
  67. data/_sass/app/search.scss +51 -51
  68. data/_sass/blog.scss +1 -1
  69. data/_sass/bootstrap/_alert.scss +51 -0
  70. data/_sass/bootstrap/_badge.scss +47 -0
  71. data/_sass/bootstrap/_breadcrumb.scss +41 -0
  72. data/_sass/bootstrap/_button-group.scss +172 -0
  73. data/_sass/bootstrap/_buttons.scss +75 -100
  74. data/_sass/bootstrap/_card.scss +301 -0
  75. data/_sass/bootstrap/_carousel.scss +161 -195
  76. data/_sass/bootstrap/_close.scss +15 -16
  77. data/_sass/bootstrap/_code.scss +15 -36
  78. data/_sass/bootstrap/_custom-forms.scss +433 -0
  79. data/_sass/bootstrap/_dropdown.scss +166 -0
  80. data/_sass/bootstrap/_forms.scss +213 -497
  81. data/_sass/bootstrap/_functions.scss +86 -0
  82. data/_sass/bootstrap/_grid.scss +29 -61
  83. data/_sass/bootstrap/_images.scss +42 -0
  84. data/_sass/bootstrap/_input-group.scss +173 -0
  85. data/_sass/bootstrap/_jumbotron.scss +9 -47
  86. data/_sass/bootstrap/_list-group.scss +64 -79
  87. data/_sass/bootstrap/_media.scss +3 -61
  88. data/_sass/bootstrap/_mixins.scss +19 -18
  89. data/_sass/bootstrap/_modal.scss +180 -0
  90. data/_sass/bootstrap/_nav.scss +118 -0
  91. data/_sass/bootstrap/_navbar.scss +192 -555
  92. data/_sass/bootstrap/_pagination.scss +59 -70
  93. data/_sass/bootstrap/_popover.scss +183 -0
  94. data/_sass/bootstrap/_print.scss +89 -49
  95. data/_sass/bootstrap/_progress.scss +34 -0
  96. data/_sass/bootstrap/_reboot.scss +483 -0
  97. data/_sass/bootstrap/_root.scss +19 -0
  98. data/_sass/bootstrap/_tables.scss +119 -166
  99. data/_sass/bootstrap/_tooltip.scss +93 -79
  100. data/_sass/bootstrap/_transitions.scss +22 -0
  101. data/_sass/bootstrap/_type.scss +66 -239
  102. data/_sass/bootstrap/_utilities.scss +15 -55
  103. data/_sass/bootstrap/_variables.scss +952 -932
  104. data/_sass/bootstrap/bootstrap-grid.scss +32 -0
  105. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  106. data/_sass/bootstrap/bootstrap.scss +42 -0
  107. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  108. data/_sass/bootstrap/mixins/_background-variant.scss +14 -5
  109. data/_sass/bootstrap/mixins/_badge.scss +12 -0
  110. data/_sass/bootstrap/mixins/_border-radius.scss +25 -8
  111. data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
  112. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  113. data/_sass/bootstrap/mixins/_buttons.scss +84 -40
  114. data/_sass/bootstrap/mixins/_caret.scss +66 -0
  115. data/_sass/bootstrap/mixins/_clearfix.scss +3 -18
  116. data/_sass/bootstrap/mixins/_float.scss +11 -0
  117. data/_sass/bootstrap/mixins/_forms.scss +125 -66
  118. data/_sass/bootstrap/mixins/_gradients.scss +17 -30
  119. data/_sass/bootstrap/mixins/_grid-framework.scss +52 -66
  120. data/_sass/bootstrap/mixins/_grid.scss +37 -107
  121. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  122. data/_sass/bootstrap/mixins/_image.scss +18 -15
  123. data/_sass/bootstrap/mixins/_list-group.scss +10 -21
  124. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  125. data/_sass/bootstrap/mixins/_nav-divider.scss +4 -4
  126. data/_sass/bootstrap/mixins/_pagination.scss +10 -12
  127. data/_sass/bootstrap/mixins/_reset-text.scss +7 -8
  128. data/_sass/bootstrap/mixins/_resize.scss +1 -1
  129. data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
  130. data/_sass/bootstrap/mixins/_size.scss +1 -5
  131. data/_sass/bootstrap/mixins/_table-row.scss +16 -14
  132. data/_sass/bootstrap/mixins/_text-emphasis.scss +7 -5
  133. data/_sass/bootstrap/mixins/_text-hide.scss +13 -0
  134. data/_sass/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  135. data/_sass/bootstrap/mixins/_transition.scss +13 -0
  136. data/_sass/bootstrap/mixins/_visibility.scss +7 -0
  137. data/_sass/bootstrap/utilities/_align.scss +8 -0
  138. data/_sass/bootstrap/utilities/_background.scss +19 -0
  139. data/_sass/bootstrap/utilities/_borders.scss +59 -0
  140. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  141. data/_sass/bootstrap/utilities/_display.scss +38 -0
  142. data/_sass/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +26 -9
  143. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  144. data/_sass/bootstrap/utilities/_float.scss +9 -0
  145. data/_sass/bootstrap/utilities/_position.scss +37 -0
  146. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  147. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  148. data/_sass/bootstrap/utilities/_sizing.scss +12 -0
  149. data/_sass/bootstrap/utilities/_spacing.scss +51 -0
  150. data/_sass/bootstrap/utilities/_text.scss +58 -0
  151. data/_sass/bootstrap/utilities/_visibility.scss +11 -0
  152. data/_sass/core.scss +15 -20
  153. data/_sass/core/blog.scss +126 -426
  154. data/_sass/core/breadcrumb.scss +16 -96
  155. data/_sass/core/carousel-header.scss +91 -91
  156. data/_sass/core/carousel.scss +7 -8
  157. data/_sass/core/cookies.scss +194 -0
  158. data/_sass/core/error.scss +190 -190
  159. data/_sass/core/flow.scss +71 -186
  160. data/_sass/core/fontello.scss +156 -0
  161. data/_sass/core/footer.scss +69 -142
  162. data/_sass/core/jumbotron.scss +90 -279
  163. data/_sass/core/navbar.scss +233 -0
  164. data/_sass/core/normalize.scss +357 -357
  165. data/_sass/core/theme.scss +40 -918
  166. data/assets/css/main-blog.scss +15 -14
  167. data/assets/css/main-error.scss +14 -13
  168. data/assets/css/main-search.scss +4 -3
  169. data/assets/css/main.scss +12 -11
  170. data/assets/fonts/fontello/fontello.eot +0 -0
  171. data/assets/fonts/fontello/fontello.svg +82 -0
  172. data/assets/fonts/fontello/fontello.ttf +0 -0
  173. data/assets/fonts/fontello/fontello.woff +0 -0
  174. data/assets/fonts/fontello/fontello.woff2 +0 -0
  175. data/assets/fonts/{lato-regular → lato}/LICENSE.txt +0 -0
  176. data/assets/fonts/{lato-regular → lato}/Lato-regular.eot +0 -0
  177. data/assets/fonts/{lato-regular → lato}/Lato-regular.svg +0 -0
  178. data/assets/fonts/{lato-regular → lato}/Lato-regular.ttf +0 -0
  179. data/assets/fonts/{lato-regular → lato}/Lato-regular.woff +0 -0
  180. data/assets/fonts/{lato-regular → lato}/Lato-regular.woff2 +0 -0
  181. data/assets/images/clipboard.svg +3 -0
  182. data/assets/js/app/main.js +298 -261
  183. data/assets/js/app/scroll-to-anchors.js +10 -9
  184. data/assets/js/app/sticky-tab-bar.js +67 -69
  185. data/assets/js/bootstrap.js.map +1 -0
  186. data/assets/js/popper.min.js.map +1 -0
  187. data/assets/js/vendor/_popper.js +5 -0
  188. data/assets/js/vendor/bootstrap.js +5 -2376
  189. data/assets/js/vendor/fess-ss.min.js +24 -24
  190. data/assets/js/vendor/jquery.cookie.js +120 -0
  191. data/assets/js/vendor/jquery.ihavecookies.js +263 -0
  192. data/assets/js/vendor/jquery.slim.js +8842 -0
  193. data/robots.txt +9 -9
  194. metadata +157 -377
  195. data/_data/example-carousel-data-source.yml +0 -36
  196. data/_data/members-section-example.yml +0 -0
  197. data/_data/universal-nav.yml +0 -7
  198. data/_includes/authors-posts.html +0 -18
  199. data/_includes/blog-filler-element.html +0 -24
  200. data/_includes/breadcrumb.html +0 -97
  201. data/_includes/core/blocks.html +0 -30
  202. data/_includes/core/buttons.html +0 -5
  203. data/_includes/core/container_row.html +0 -7
  204. data/_includes/core/feature_block.html +0 -43
  205. data/_includes/core/slider_row.html +0 -3
  206. data/_includes/core/text.html +0 -3
  207. data/_includes/core/title.html +0 -3
  208. data/_includes/core/youtube_video_embed.html +0 -11
  209. data/_includes/css.html +0 -9
  210. data/_includes/custom_include.html +0 -13
  211. data/_includes/display-blog-posts.html +0 -154
  212. data/_includes/flow_inner.html +0 -19
  213. data/_includes/footer.html +0 -68
  214. data/_includes/google-analytics.html +0 -16
  215. data/_includes/head.html +0 -19
  216. data/_includes/http2.html +0 -102
  217. data/_includes/javascript.html +0 -10
  218. data/_includes/jumbotron.html +0 -115
  219. data/_includes/linaro-svg.html +0 -1
  220. data/_includes/nav.html +0 -153
  221. data/_includes/pagination.html +0 -39
  222. data/_includes/post-sidebar.html +0 -182
  223. data/_includes/responsive-image.html +0 -6
  224. data/_includes/thumb-image.html +0 -31
  225. data/_includes/thumb.html +0 -2
  226. data/_includes/thumbnail_image.html +0 -10
  227. data/_includes/universal-nav.html +0 -30
  228. data/_layouts/jumbotron-container.html +0 -19
  229. data/_layouts/jumbotron.html +0 -12
  230. data/_layouts/redirect.html +0 -11
  231. data/_sass/_bootstrap-compass.scss +0 -9
  232. data/_sass/_bootstrap-mincer.scss +0 -19
  233. data/_sass/_bootstrap-sprockets.scss +0 -9
  234. data/_sass/_bootstrap.scss +0 -56
  235. data/_sass/app-package.scss +0 -11
  236. data/_sass/app/contact.scss +0 -3
  237. data/_sass/app/custom.scss +0 -1
  238. data/_sass/bootstrap/_alerts.scss +0 -73
  239. data/_sass/bootstrap/_badges.scss +0 -68
  240. data/_sass/bootstrap/_breadcrumbs.scss +0 -28
  241. data/_sass/bootstrap/_button-groups.scss +0 -244
  242. data/_sass/bootstrap/_component-animations.scss +0 -37
  243. data/_sass/bootstrap/_dropdowns.scss +0 -216
  244. data/_sass/bootstrap/_glyphicons.scss +0 -307
  245. data/_sass/bootstrap/_input-groups.scss +0 -171
  246. data/_sass/bootstrap/_labels.scss +0 -66
  247. data/_sass/bootstrap/_modals.scss +0 -150
  248. data/_sass/bootstrap/_navs.scss +0 -242
  249. data/_sass/bootstrap/_normalize.scss +0 -424
  250. data/_sass/bootstrap/_pager.scss +0 -54
  251. data/_sass/bootstrap/_panels.scss +0 -271
  252. data/_sass/bootstrap/_popovers.scss +0 -131
  253. data/_sass/bootstrap/_progress-bars.scss +0 -87
  254. data/_sass/bootstrap/_responsive-utilities.scss +0 -179
  255. data/_sass/bootstrap/_scaffolding.scss +0 -161
  256. data/_sass/bootstrap/_theme.scss +0 -291
  257. data/_sass/bootstrap/_thumbnails.scss +0 -38
  258. data/_sass/bootstrap/_wells.scss +0 -29
  259. data/_sass/bootstrap/mixins/_alerts.scss +0 -14
  260. data/_sass/bootstrap/mixins/_center-block.scss +0 -7
  261. data/_sass/bootstrap/mixins/_hide-text.scss +0 -21
  262. data/_sass/bootstrap/mixins/_labels.scss +0 -12
  263. data/_sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  264. data/_sass/bootstrap/mixins/_opacity.scss +0 -8
  265. data/_sass/bootstrap/mixins/_panels.scss +0 -24
  266. data/_sass/bootstrap/mixins/_progress-bar.scss +0 -10
  267. data/_sass/bootstrap/mixins/_reset-filter.scss +0 -8
  268. data/_sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
  269. data/_sass/bootstrap/mixins/_tab-focus.scss +0 -9
  270. data/_sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  271. data/_sass/core/animations.scss +0 -125
  272. data/_sass/core/cookieconsent.scss +0 -39
  273. data/_sass/core/critical.scss +0 -0
  274. data/_sass/core/custom.scss +0 -3
  275. data/_sass/core/fa.scss +0 -2336
  276. data/_sass/core/flipclock.scss +0 -434
  277. data/_sass/core/fly.scss +0 -10
  278. data/_sass/core/font-awesome.min.scss +0 -4
  279. data/_sass/core/fonts.scss +0 -3
  280. data/_sass/core/forms.scss +0 -3
  281. data/_sass/core/homepage.scss +0 -19
  282. data/_sass/core/lightbox.scss +0 -212
  283. data/_sass/core/nav.scss +0 -1015
  284. data/_sass/core/social-media-icons.scss +0 -67
  285. data/_sass/core/tables.scss +0 -175
  286. data/_sass/core/triangle-divider.scss +0 -27
  287. data/_sass/core/universal-nav.scss +0 -167
  288. data/_sass/core/youtube-lazy.scss +0 -51
  289. data/_sass/core/youtube.scss +0 -65
  290. data/_sass/home.scss +0 -2
  291. data/assets/fonts/fontawesome-webfont.eot +0 -0
  292. data/assets/fonts/fontawesome-webfont.svg +0 -2671
  293. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  294. data/assets/fonts/fontawesome-webfont.woff +0 -0
  295. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  296. data/assets/fonts/fontello.eot +0 -0
  297. data/assets/fonts/fontello.svg +0 -44
  298. data/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  299. data/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  300. data/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  301. data/assets/images/Linaro-Logo_light.png +0 -0
  302. data/assets/images/content/background-image1.jpg +0 -0
  303. data/assets/images/content/background-image2.png +0 -0
  304. data/assets/images/content/background-image3.jpg +0 -0
  305. data/assets/images/content/js-logo.png +0 -0
  306. data/assets/js/app/blog-comments.js +0 -50
  307. data/assets/js/app/facebook.js +0 -8
  308. data/assets/js/app/fly.js +0 -45
  309. data/assets/js/app/search.js +0 -29
  310. data/assets/js/app/youtube-lazy.js +0 -25
  311. data/assets/js/pacakge-search.js +0 -9
  312. data/assets/js/package-blog.js +0 -12
  313. data/assets/js/package-extended.js +0 -14
  314. data/assets/js/package-home.js +0 -14
  315. data/assets/js/package-main.js +0 -13
  316. data/assets/js/package-search.js +0 -8
  317. data/assets/js/vendor/cookieconsent.js +0 -1495
@@ -0,0 +1,166 @@
1
+ // The dropdown wrapper (`<div>`)
2
+ .dropup,
3
+ .dropright,
4
+ .dropdown,
5
+ .dropleft {
6
+ position: relative;
7
+ }
8
+
9
+ .dropdown-toggle {
10
+ // Generate the caret automatically
11
+ @include caret;
12
+ }
13
+
14
+ // The dropdown menu
15
+ .dropdown-menu {
16
+ position: absolute;
17
+ top: 100%;
18
+ left: 0;
19
+ z-index: $zindex-dropdown;
20
+ display: none; // none by default, but block on "open" of the menu
21
+ float: left;
22
+ min-width: $dropdown-min-width;
23
+ padding: $dropdown-padding-y 0;
24
+ margin: $dropdown-spacer 0 0; // override default ul
25
+ font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
+ color: $body-color;
27
+ text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
+ list-style: none;
29
+ background-color: $dropdown-bg;
30
+ background-clip: padding-box;
31
+ border: $dropdown-border-width solid $dropdown-border-color;
32
+ @include border-radius($dropdown-border-radius);
33
+ @include box-shadow($dropdown-box-shadow);
34
+ }
35
+
36
+ .dropdown-menu-right {
37
+ right: 0;
38
+ left: auto;
39
+ }
40
+
41
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
42
+ // Just add .dropup after the standard .dropdown class and you're set.
43
+ .dropup {
44
+ .dropdown-menu {
45
+ top: auto;
46
+ bottom: 100%;
47
+ margin-top: 0;
48
+ margin-bottom: $dropdown-spacer;
49
+ }
50
+
51
+ .dropdown-toggle {
52
+ @include caret(up);
53
+ }
54
+ }
55
+
56
+ .dropright {
57
+ .dropdown-menu {
58
+ top: 0;
59
+ right: auto;
60
+ left: 100%;
61
+ margin-top: 0;
62
+ margin-left: $dropdown-spacer;
63
+ }
64
+
65
+ .dropdown-toggle {
66
+ @include caret(right);
67
+ &::after {
68
+ vertical-align: 0;
69
+ }
70
+ }
71
+ }
72
+
73
+ .dropleft {
74
+ .dropdown-menu {
75
+ top: 0;
76
+ right: 100%;
77
+ left: auto;
78
+ margin-top: 0;
79
+ margin-right: $dropdown-spacer;
80
+ }
81
+
82
+ .dropdown-toggle {
83
+ @include caret(left);
84
+ &::before {
85
+ vertical-align: 0;
86
+ }
87
+ }
88
+ }
89
+
90
+ // When enabled Popper.js, reset basic dropdown position
91
+ // stylelint-disable no-duplicate-selectors
92
+ .dropdown-menu {
93
+ &[x-placement^="top"],
94
+ &[x-placement^="right"],
95
+ &[x-placement^="bottom"],
96
+ &[x-placement^="left"] {
97
+ right: auto;
98
+ bottom: auto;
99
+ }
100
+ }
101
+ // stylelint-enable no-duplicate-selectors
102
+
103
+ // Dividers (basically an `<hr>`) within the dropdown
104
+ .dropdown-divider {
105
+ @include nav-divider($dropdown-divider-bg);
106
+ }
107
+
108
+ // Links, buttons, and more within the dropdown menu
109
+ //
110
+ // `<button>`-specific styles are denoted with `// For <button>s`
111
+ .dropdown-item {
112
+ display: block;
113
+ width: 100%; // For `<button>`s
114
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
115
+ clear: both;
116
+ font-weight: $font-weight-normal;
117
+ color: $dropdown-link-color;
118
+ text-align: inherit; // For `<button>`s
119
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
120
+ background-color: transparent; // For `<button>`s
121
+ border: 0; // For `<button>`s
122
+
123
+ @include hover-focus {
124
+ color: $dropdown-link-hover-color;
125
+ text-decoration: none;
126
+ @include gradient-bg($dropdown-link-hover-bg);
127
+ }
128
+
129
+ &.active,
130
+ &:active {
131
+ color: $dropdown-link-active-color;
132
+ text-decoration: none;
133
+ @include gradient-bg($dropdown-link-active-bg);
134
+ }
135
+
136
+ &.disabled,
137
+ &:disabled {
138
+ color: $dropdown-link-disabled-color;
139
+ background-color: transparent;
140
+ // Remove CSS gradients if they're enabled
141
+ @if $enable-gradients {
142
+ background-image: none;
143
+ }
144
+ }
145
+ }
146
+
147
+ .dropdown-menu.show {
148
+ display: block;
149
+ }
150
+
151
+ // Dropdown section headers
152
+ .dropdown-header {
153
+ display: block;
154
+ padding: $dropdown-padding-y $dropdown-item-padding-x;
155
+ margin-bottom: 0; // for use with heading elements
156
+ font-size: $font-size-sm;
157
+ color: $dropdown-header-color;
158
+ white-space: nowrap; // as with > li > a
159
+ }
160
+
161
+ // Dropdown text
162
+ .dropdown-item-text {
163
+ display: block;
164
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
165
+ color: $dropdown-link-color;
166
+ }
@@ -1,141 +1,47 @@
1
- //
2
- // Forms
3
- // --------------------------------------------------
4
-
5
-
6
- // Normalize non-controls
7
- //
8
- // Restyle and baseline non-control form elements.
9
-
10
- fieldset {
11
- padding: 0;
12
- margin: 0;
13
- border: 0;
14
- // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
15
- // so we reset that to ensure it behaves more like a standard block element.
16
- // See https://github.com/twbs/bootstrap/issues/12359.
17
- min-width: 0;
18
- }
19
-
20
- legend {
21
- display: block;
22
- width: 100%;
23
- padding: 0;
24
- margin-bottom: $line-height-computed;
25
- font-size: ($font-size-base * 1.5);
26
- line-height: inherit;
27
- color: $legend-color;
28
- border: 0;
29
- border-bottom: 1px solid $legend-border-color;
30
- }
31
-
32
- label {
33
- display: inline-block;
34
- max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
35
- margin-bottom: 5px;
36
- font-weight: bold;
37
- }
38
-
39
-
40
- // Normalize form controls
41
- //
42
- // While most of our form styles require extra classes, some basic normalization
43
- // is required to ensure optimum display with or without those classes to better
44
- // address browser inconsistencies.
45
-
46
- // Override content-box in Normalize (* isn't specific enough)
47
- input[type="search"] {
48
- @include box-sizing(border-box);
49
- }
50
-
51
- // Position radios and checkboxes better
52
- input[type="radio"],
53
- input[type="checkbox"] {
54
- margin: 4px 0 0;
55
- margin-top: 1px \9; // IE8-9
56
- line-height: normal;
57
- }
58
-
59
- input[type="file"] {
60
- display: block;
61
- }
62
-
63
- // Make range inputs behave like textual form controls
64
- input[type="range"] {
65
- display: block;
66
- width: 100%;
67
- }
68
-
69
- // Make multiple select elements height not fixed
70
- select[multiple],
71
- select[size] {
72
- height: auto;
73
- }
74
-
75
- // Focus for file, radio, and checkbox
76
- input[type="file"]:focus,
77
- input[type="radio"]:focus,
78
- input[type="checkbox"]:focus {
79
- @include tab-focus;
80
- }
81
-
82
- // Adjust output element
83
- output {
84
- display: block;
85
- padding-top: ($padding-base-vertical + 1);
86
- font-size: $font-size-base;
87
- line-height: $line-height-base;
88
- color: $input-color;
89
- }
90
-
1
+ // stylelint-disable selector-no-qualifying-type
91
2
 
92
- // Common form controls
93
3
  //
94
- // Shared size and type resets for form controls. Apply `.form-control` to any
95
- // of the following form controls:
4
+ // Textual form controls
96
5
  //
97
- // select
98
- // textarea
99
- // input[type="text"]
100
- // input[type="password"]
101
- // input[type="datetime"]
102
- // input[type="datetime-local"]
103
- // input[type="date"]
104
- // input[type="month"]
105
- // input[type="time"]
106
- // input[type="week"]
107
- // input[type="number"]
108
- // input[type="email"]
109
- // input[type="url"]
110
- // input[type="search"]
111
- // input[type="tel"]
112
- // input[type="color"]
113
6
 
114
7
  .form-control {
115
8
  display: block;
116
9
  width: 100%;
117
- height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
118
- padding: $padding-base-vertical $padding-base-horizontal;
10
+ height: $input-height;
11
+ padding: $input-padding-y $input-padding-x;
119
12
  font-size: $font-size-base;
120
- line-height: $line-height-base;
13
+ line-height: $input-line-height;
121
14
  color: $input-color;
122
15
  background-color: $input-bg;
123
- background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
124
- border: 1px solid $input-border;
125
- border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
126
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
127
- @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
128
-
129
- // Customize the `:focus` state to imitate native WebKit styles.
130
- @include form-control-focus;
16
+ background-clip: padding-box;
17
+ border: $input-border-width solid $input-border-color;
18
+
19
+ // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
20
+ @if $enable-rounded {
21
+ // Manually use the if/else instead of the mixin to account for iOS override
22
+ border-radius: $input-border-radius;
23
+ } @else {
24
+ // Otherwise undo the iOS default
25
+ border-radius: 0;
26
+ }
131
27
 
132
- // Placeholder
133
- @include placeholder;
28
+ @include box-shadow($input-box-shadow);
29
+ @include transition($input-transition);
134
30
 
135
31
  // Unstyle the caret on `<select>`s in IE10+.
136
32
  &::-ms-expand {
137
- border: 0;
138
33
  background-color: transparent;
34
+ border: 0;
35
+ }
36
+
37
+ // Customize the `:focus` state to imitate native WebKit styles.
38
+ @include form-control-focus();
39
+
40
+ // Placeholder
41
+ &::placeholder {
42
+ color: $input-placeholder-color;
43
+ // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
44
+ opacity: 1;
139
45
  }
140
46
 
141
47
  // Disabled and read-only inputs
@@ -143,320 +49,206 @@ output {
143
49
  // HTML5 says that controls under a fieldset > legend:first-child won't be
144
50
  // disabled if the fieldset is disabled. Due to implementation difficulty, we
145
51
  // don't honor that edge case; we style them as disabled anyway.
146
- &[disabled],
147
- &[readonly],
148
- fieldset[disabled] & {
149
- background-color: $input-bg-disabled;
150
- opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
52
+ &:disabled,
53
+ &[readonly] {
54
+ background-color: $input-disabled-bg;
55
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
56
+ opacity: 1;
151
57
  }
58
+ }
152
59
 
153
- &[disabled],
154
- fieldset[disabled] & {
155
- cursor: $cursor-disabled;
60
+ select.form-control {
61
+ &:focus::-ms-value {
62
+ // Suppress the nested default white text on blue background highlight given to
63
+ // the selected option text when the (still closed) <select> receives focus
64
+ // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
65
+ // match the appearance of the native widget.
66
+ // See https://github.com/twbs/bootstrap/issues/19398.
67
+ color: $input-color;
68
+ background-color: $input-bg;
156
69
  }
157
-
158
- // [converter] extracted textarea& to textarea.form-control
159
70
  }
160
71
 
161
- // Reset height for `textarea`s
162
- textarea.form-control {
163
- height: auto;
72
+ // Make file inputs better match text inputs by forcing them to new lines.
73
+ .form-control-file,
74
+ .form-control-range {
75
+ display: block;
76
+ width: 100%;
164
77
  }
165
78
 
166
79
 
167
- // Search inputs in iOS
168
80
  //
169
- // This overrides the extra rounded corners on search inputs in iOS so that our
170
- // `.form-control` class can properly style them. Note that this cannot simply
171
- // be added to `.form-control` as it's not specific enough. For details, see
172
- // https://github.com/twbs/bootstrap/issues/11586.
81
+ // Labels
82
+ //
173
83
 
174
- input[type="search"] {
175
- -webkit-appearance: none;
84
+ // For use with horizontal and inline forms, when you need the label (or legend)
85
+ // text to align with the form controls.
86
+ .col-form-label {
87
+ padding-top: calc(#{$input-padding-y} + #{$input-border-width});
88
+ padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
89
+ margin-bottom: 0; // Override the `<label>/<legend>` default
90
+ font-size: inherit; // Override the `<legend>` default
91
+ line-height: $input-line-height;
176
92
  }
177
93
 
94
+ .col-form-label-lg {
95
+ padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
96
+ padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
97
+ font-size: $font-size-lg;
98
+ line-height: $input-line-height-lg;
99
+ }
178
100
 
179
- // Special styles for iOS temporal inputs
180
- //
181
- // In Mobile Safari, setting `display: block` on temporal inputs causes the
182
- // text within the input to become vertically misaligned. As a workaround, we
183
- // set a pixel line-height that matches the given height of the input, but only
184
- // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
185
- //
186
- // Note that as of 9.3, iOS doesn't support `week`.
187
-
188
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
189
- input[type="date"],
190
- input[type="time"],
191
- input[type="datetime-local"],
192
- input[type="month"] {
193
- &.form-control {
194
- line-height: $input-height-base;
195
- }
196
-
197
- &.input-sm,
198
- .input-group-sm & {
199
- line-height: $input-height-small;
200
- }
201
-
202
- &.input-lg,
203
- .input-group-lg & {
204
- line-height: $input-height-large;
205
- }
206
- }
101
+ .col-form-label-sm {
102
+ padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
103
+ padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
104
+ font-size: $font-size-sm;
105
+ line-height: $input-line-height-sm;
207
106
  }
208
107
 
209
108
 
210
- // Form groups
109
+ // Readonly controls as plain text
211
110
  //
212
- // Designed to help with the organization and spacing of vertical forms. For
213
- // horizontal forms, use the predefined grid classes.
111
+ // Apply class to a readonly input to make it appear like regular plain
112
+ // text (without any border, background color, focus indicator)
214
113
 
215
- .form-group {
216
- margin-bottom: $form-group-margin-bottom;
114
+ .form-control-plaintext {
115
+ display: block;
116
+ width: 100%;
117
+ padding-top: $input-padding-y;
118
+ padding-bottom: $input-padding-y;
119
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
120
+ line-height: $input-line-height;
121
+ color: $input-plaintext-color;
122
+ background-color: transparent;
123
+ border: solid transparent;
124
+ border-width: $input-border-width 0;
125
+
126
+ &.form-control-sm,
127
+ &.form-control-lg {
128
+ padding-right: 0;
129
+ padding-left: 0;
130
+ }
217
131
  }
218
132
 
219
133
 
220
- // Checkboxes and radios
134
+ // Form control sizing
221
135
  //
222
- // Indent the labels to position radios/checkboxes as hanging controls.
136
+ // Build on `.form-control` with modifier classes to decrease or increase the
137
+ // height and font-size of form controls.
138
+ //
139
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
223
140
 
224
- .radio,
225
- .checkbox {
226
- position: relative;
227
- display: block;
228
- margin-top: 10px;
229
- margin-bottom: 10px;
230
-
231
- label {
232
- min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
233
- padding-left: 20px;
234
- margin-bottom: 0;
235
- font-weight: normal;
236
- cursor: pointer;
237
- }
238
- }
239
- .radio input[type="radio"],
240
- .radio-inline input[type="radio"],
241
- .checkbox input[type="checkbox"],
242
- .checkbox-inline input[type="checkbox"] {
243
- position: absolute;
244
- margin-left: -20px;
245
- margin-top: 4px \9;
141
+ .form-control-sm {
142
+ height: $input-height-sm;
143
+ padding: $input-padding-y-sm $input-padding-x-sm;
144
+ font-size: $font-size-sm;
145
+ line-height: $input-line-height-sm;
146
+ @include border-radius($input-border-radius-sm);
246
147
  }
247
148
 
248
- .radio + .radio,
249
- .checkbox + .checkbox {
250
- margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
149
+ .form-control-lg {
150
+ height: $input-height-lg;
151
+ padding: $input-padding-y-lg $input-padding-x-lg;
152
+ font-size: $font-size-lg;
153
+ line-height: $input-line-height-lg;
154
+ @include border-radius($input-border-radius-lg);
251
155
  }
252
156
 
253
- // Radios and checkboxes on same line
254
- .radio-inline,
255
- .checkbox-inline {
256
- position: relative;
257
- display: inline-block;
258
- padding-left: 20px;
259
- margin-bottom: 0;
260
- vertical-align: middle;
261
- font-weight: normal;
262
- cursor: pointer;
157
+ // stylelint-disable no-duplicate-selectors
158
+ select.form-control {
159
+ &[size],
160
+ &[multiple] {
161
+ height: auto;
162
+ }
263
163
  }
264
- .radio-inline + .radio-inline,
265
- .checkbox-inline + .checkbox-inline {
266
- margin-top: 0;
267
- margin-left: 10px; // space out consecutive inline controls
164
+
165
+ textarea.form-control {
166
+ height: auto;
268
167
  }
168
+ // stylelint-enable no-duplicate-selectors
269
169
 
270
- // Apply same disabled cursor tweak as for inputs
271
- // Some special care is needed because <label>s don't inherit their parent's `cursor`.
170
+ // Form groups
272
171
  //
273
- // Note: Neither radios nor checkboxes can be readonly.
274
- input[type="radio"],
275
- input[type="checkbox"] {
276
- &[disabled],
277
- &.disabled,
278
- fieldset[disabled] & {
279
- cursor: $cursor-disabled;
280
- }
281
- }
282
- // These classes are used directly on <label>s
283
- .radio-inline,
284
- .checkbox-inline {
285
- &.disabled,
286
- fieldset[disabled] & {
287
- cursor: $cursor-disabled;
288
- }
289
- }
290
- // These classes are used on elements with <label> descendants
291
- .radio,
292
- .checkbox {
293
- &.disabled,
294
- fieldset[disabled] & {
295
- label {
296
- cursor: $cursor-disabled;
297
- }
298
- }
299
- }
172
+ // Designed to help with the organization and spacing of vertical forms. For
173
+ // horizontal forms, use the predefined grid classes.
300
174
 
175
+ .form-group {
176
+ margin-bottom: $form-group-margin-bottom;
177
+ }
301
178
 
302
- // Static form control text
303
- //
304
- // Apply class to a `p` element to make any string of text align with labels in
305
- // a horizontal form layout.
306
-
307
- .form-control-static {
308
- // Size it appropriately next to real form controls
309
- padding-top: ($padding-base-vertical + 1);
310
- padding-bottom: ($padding-base-vertical + 1);
311
- // Remove default margin from `p`
312
- margin-bottom: 0;
313
- min-height: ($line-height-computed + $font-size-base);
314
-
315
- &.input-lg,
316
- &.input-sm {
317
- padding-left: 0;
318
- padding-right: 0;
319
- }
179
+ .form-text {
180
+ display: block;
181
+ margin-top: $form-text-margin-top;
320
182
  }
321
183
 
322
184
 
323
- // Form control sizing
324
- //
325
- // Build on `.form-control` with modifier classes to decrease or increase the
326
- // height and font-size of form controls.
185
+ // Form grid
327
186
  //
328
- // The `.form-group-* form-control` variations are sadly duplicated to avoid the
329
- // issue documented in https://github.com/twbs/bootstrap/issues/15074.
330
-
331
- @include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
332
- .form-group-sm {
333
- .form-control {
334
- height: $input-height-small;
335
- padding: $padding-small-vertical $padding-small-horizontal;
336
- font-size: $font-size-small;
337
- line-height: $line-height-small;
338
- border-radius: $input-border-radius-small;
339
- }
340
- select.form-control {
341
- height: $input-height-small;
342
- line-height: $input-height-small;
343
- }
344
- textarea.form-control,
345
- select[multiple].form-control {
346
- height: auto;
347
- }
348
- .form-control-static {
349
- height: $input-height-small;
350
- min-height: ($line-height-computed + $font-size-small);
351
- padding: ($padding-small-vertical + 1) $padding-small-horizontal;
352
- font-size: $font-size-small;
353
- line-height: $line-height-small;
354
- }
355
- }
356
-
357
- @include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
358
- .form-group-lg {
359
- .form-control {
360
- height: $input-height-large;
361
- padding: $padding-large-vertical $padding-large-horizontal;
362
- font-size: $font-size-large;
363
- line-height: $line-height-large;
364
- border-radius: $input-border-radius-large;
365
- }
366
- select.form-control {
367
- height: $input-height-large;
368
- line-height: $input-height-large;
369
- }
370
- textarea.form-control,
371
- select[multiple].form-control {
372
- height: auto;
373
- }
374
- .form-control-static {
375
- height: $input-height-large;
376
- min-height: ($line-height-computed + $font-size-large);
377
- padding: ($padding-large-vertical + 1) $padding-large-horizontal;
378
- font-size: $font-size-large;
379
- line-height: $line-height-large;
187
+ // Special replacement for our grid system's `.row` for tighter form layouts.
188
+
189
+ .form-row {
190
+ display: flex;
191
+ flex-wrap: wrap;
192
+ margin-right: -5px;
193
+ margin-left: -5px;
194
+
195
+ > .col,
196
+ > [class*="col-"] {
197
+ padding-right: 5px;
198
+ padding-left: 5px;
380
199
  }
381
200
  }
382
201
 
383
202
 
384
- // Form control feedback states
203
+ // Checkboxes and radios
385
204
  //
386
- // Apply contextual and semantic states to individual form controls.
205
+ // Indent the labels to position radios/checkboxes as hanging controls.
387
206
 
388
- .has-feedback {
389
- // Enable absolute positioning
207
+ .form-check {
390
208
  position: relative;
391
-
392
- // Ensure icons don't overlap text
393
- .form-control {
394
- padding-right: ($input-height-base * 1.25);
395
- }
396
- }
397
- // Feedback icon (requires .glyphicon classes)
398
- .form-control-feedback {
399
- position: absolute;
400
- top: 0;
401
- right: 0;
402
- z-index: 2; // Ensure icon is above input groups
403
209
  display: block;
404
- width: $input-height-base;
405
- height: $input-height-base;
406
- line-height: $input-height-base;
407
- text-align: center;
408
- pointer-events: none;
409
- }
410
- .input-lg + .form-control-feedback,
411
- .input-group-lg + .form-control-feedback,
412
- .form-group-lg .form-control + .form-control-feedback {
413
- width: $input-height-large;
414
- height: $input-height-large;
415
- line-height: $input-height-large;
416
- }
417
- .input-sm + .form-control-feedback,
418
- .input-group-sm + .form-control-feedback,
419
- .form-group-sm .form-control + .form-control-feedback {
420
- width: $input-height-small;
421
- height: $input-height-small;
422
- line-height: $input-height-small;
210
+ padding-left: $form-check-input-gutter;
423
211
  }
424
212
 
425
- // Feedback states
426
- .has-success {
427
- @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);
428
- }
429
- .has-warning {
430
- @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);
213
+ .form-check-input {
214
+ position: absolute;
215
+ margin-top: $form-check-input-margin-y;
216
+ margin-left: -$form-check-input-gutter;
217
+
218
+ &:disabled ~ .form-check-label {
219
+ color: $text-muted;
220
+ }
431
221
  }
432
- .has-error {
433
- @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
222
+
223
+ .form-check-label {
224
+ margin-bottom: 0; // Override default `<label>` bottom margin
434
225
  }
435
226
 
436
- // Reposition feedback icon if input has visible label above
437
- .has-feedback label {
227
+ .form-check-inline {
228
+ display: inline-flex;
229
+ align-items: center;
230
+ padding-left: 0; // Override base .form-check
231
+ margin-right: $form-check-inline-margin-x;
438
232
 
439
- & ~ .form-control-feedback {
440
- top: ($line-height-computed + 5); // Height of the `label` and its margin
441
- }
442
- &.sr-only ~ .form-control-feedback {
443
- top: 0;
233
+ // Undo .form-check-input defaults and add some `margin-right`.
234
+ .form-check-input {
235
+ position: static;
236
+ margin-top: 0;
237
+ margin-right: $form-check-inline-input-margin-x;
238
+ margin-left: 0;
444
239
  }
445
240
  }
446
241
 
447
242
 
448
- // Help text
243
+ // Form validation
449
244
  //
450
- // Apply to any element you wish to create light text for placement immediately
451
- // below a form control. Use for general help, formatting, or instructional text.
452
-
453
- .help-block {
454
- display: block; // account for any element using help-block
455
- margin-top: 5px;
456
- margin-bottom: 10px;
457
- color: lighten($text-color, 25%); // lighten the text some for contrast
458
- }
245
+ // Provide feedback to users when form field values are valid or invalid. Works
246
+ // primarily for client-side validation via scoped `:invalid` and `:valid`
247
+ // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
248
+ // server side validation.
459
249
 
250
+ @include form-validation-state("valid", $form-feedback-valid-color);
251
+ @include form-validation-state("invalid", $form-feedback-invalid-color);
460
252
 
461
253
  // Inline forms
462
254
  //
@@ -466,22 +258,38 @@ input[type="checkbox"] {
466
258
  //
467
259
  // Requires wrapping inputs and labels with `.form-group` for proper display of
468
260
  // default HTML form controls and our custom form controls (e.g., input groups).
469
- //
470
- // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
471
261
 
472
- // [converter] extracted from `.form-inline` for libsass compatibility
473
- @mixin form-inline {
262
+ .form-inline {
263
+ display: flex;
264
+ flex-flow: row wrap;
265
+ align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
266
+
267
+ // Because we use flex, the initial sizing of checkboxes is collapsed and
268
+ // doesn't occupy the full-width (which is what we want for xs grid tier),
269
+ // so we force that here.
270
+ .form-check {
271
+ width: 100%;
272
+ }
474
273
 
475
274
  // Kick in the inline
476
- @media (min-width: $screen-sm-min) {
275
+ @include media-breakpoint-up(sm) {
276
+ label {
277
+ display: flex;
278
+ align-items: center;
279
+ justify-content: center;
280
+ margin-bottom: 0;
281
+ }
282
+
477
283
  // Inline-block all the things for "inline"
478
284
  .form-group {
479
- display: inline-block;
285
+ display: flex;
286
+ flex: 0 0 auto;
287
+ flex-flow: row wrap;
288
+ align-items: center;
480
289
  margin-bottom: 0;
481
- vertical-align: middle;
482
290
  }
483
291
 
484
- // In navbar-form, allow folks to *not* use `.form-group`
292
+ // Allow folks to *not* use `.form-group`
485
293
  .form-control {
486
294
  display: inline-block;
487
295
  width: auto; // Prevent labels from stacking above inputs in `.form-group`
@@ -489,129 +297,37 @@ input[type="checkbox"] {
489
297
  }
490
298
 
491
299
  // Make static controls behave like regular ones
492
- .form-control-static {
300
+ .form-control-plaintext {
493
301
  display: inline-block;
494
302
  }
495
303
 
496
- .input-group {
497
- display: inline-table;
498
- vertical-align: middle;
499
-
500
- .input-group-addon,
501
- .input-group-btn,
502
- .form-control {
503
- width: auto;
504
- }
505
- }
506
-
507
- // Input groups need that 100% width though
508
- .input-group > .form-control {
509
- width: 100%;
510
- }
511
-
512
- .control-label {
513
- margin-bottom: 0;
514
- vertical-align: middle;
304
+ .input-group,
305
+ .custom-select {
306
+ width: auto;
515
307
  }
516
308
 
517
309
  // Remove default margin on radios/checkboxes that were used for stacking, and
518
310
  // then undo the floating of radios and checkboxes to match.
519
- .radio,
520
- .checkbox {
521
- display: inline-block;
522
- margin-top: 0;
523
- margin-bottom: 0;
524
- vertical-align: middle;
525
-
526
- label {
527
- padding-left: 0;
528
- }
311
+ .form-check {
312
+ display: flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ width: auto;
316
+ padding-left: 0;
529
317
  }
530
- .radio input[type="radio"],
531
- .checkbox input[type="checkbox"] {
318
+ .form-check-input {
532
319
  position: relative;
320
+ margin-top: 0;
321
+ margin-right: $form-check-input-margin-x;
533
322
  margin-left: 0;
534
323
  }
535
324
 
536
- // Re-override the feedback icon.
537
- .has-feedback .form-control-feedback {
538
- top: 0;
325
+ .custom-control {
326
+ align-items: center;
327
+ justify-content: center;
539
328
  }
540
- }
541
- }
542
- // [converter] extracted as `@mixin form-inline` for libsass compatibility
543
- .form-inline {
544
- @include form-inline;
545
- }
546
-
547
-
548
-
549
- // Horizontal forms
550
- //
551
- // Horizontal forms are built on grid classes and allow you to create forms with
552
- // labels on the left and inputs on the right.
553
-
554
- .form-horizontal {
555
-
556
- // Consistent vertical alignment of radios and checkboxes
557
- //
558
- // Labels also get some reset styles, but that is scoped to a media query below.
559
- .radio,
560
- .checkbox,
561
- .radio-inline,
562
- .checkbox-inline {
563
- margin-top: 0;
564
- margin-bottom: 0;
565
- padding-top: ($padding-base-vertical + 1); // Default padding plus a border
566
- }
567
- // Account for padding we're adding to ensure the alignment and of help text
568
- // and other content below items
569
- .radio,
570
- .checkbox {
571
- min-height: ($line-height-computed + ($padding-base-vertical + 1));
572
- }
573
-
574
- // Make form groups behave like rows
575
- .form-group {
576
- @include make-row;
577
- }
578
-
579
- // Reset spacing and right align labels, but scope to media queries so that
580
- // labels on narrow viewports stack the same as a default form example.
581
- @media (min-width: $screen-sm-min) {
582
- .control-label {
583
- text-align: right;
329
+ .custom-control-label {
584
330
  margin-bottom: 0;
585
- padding-top: ($padding-base-vertical + 1); // Default padding plus a border
586
- }
587
- }
588
-
589
- // Validation states
590
- //
591
- // Reposition the icon because it's now within a grid column and columns have
592
- // `position: relative;` on them. Also accounts for the grid gutter padding.
593
- .has-feedback .form-control-feedback {
594
- right: floor(($grid-gutter-width / 2));
595
- }
596
-
597
- // Form group sizes
598
- //
599
- // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
600
- // inputs and labels within a `.form-group`.
601
- .form-group-lg {
602
- @media (min-width: $screen-sm-min) {
603
- .control-label {
604
- padding-top: ($padding-large-vertical + 1);
605
- font-size: $font-size-large;
606
- }
607
- }
608
- }
609
- .form-group-sm {
610
- @media (min-width: $screen-sm-min) {
611
- .control-label {
612
- padding-top: ($padding-small-vertical + 1);
613
- font-size: $font-size-small;
614
- }
615
331
  }
616
332
  }
617
333
  }