linaro-jekyll-theme 1.3 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (339) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +19 -50
  4. data/_config.yml +192 -0
  5. data/_data/footer.yml +27 -107
  6. data/_data/nav.yml +72 -61
  7. data/_data/picture.yml +151 -0
  8. data/_data/universal_nav.yml +22 -0
  9. data/_includes/blog/authors_posts.html +37 -0
  10. data/_includes/blog/blog_filler_element.html +21 -0
  11. data/_includes/blog/display_latest_posts.html +119 -0
  12. data/_includes/blog/disqus_comments.html +24 -0
  13. data/_includes/blog/latest_posts.html +11 -0
  14. data/_includes/blog/pagination.html +37 -0
  15. data/_includes/blog/post_search.html +11 -0
  16. data/_includes/blog/post_series.html +28 -0
  17. data/_includes/blog/post_sidebar.html +74 -0
  18. data/_includes/blog/read_time.html +7 -0
  19. data/_includes/components/breadcrumb.html +37 -0
  20. data/_includes/components/carousel_header.html +15 -0
  21. data/_includes/components/cookie_manager.html +72 -0
  22. data/_includes/components/css.html +8 -0
  23. data/_includes/components/github_edit.html +34 -0
  24. data/_includes/components/head.html +65 -0
  25. data/_includes/components/http2.html +57 -0
  26. data/_includes/components/javascript.html +10 -0
  27. data/_includes/components/jumbotron.html +82 -0
  28. data/_includes/components/linaro_404.html +16 -0
  29. data/_includes/components/schema.html +1 -0
  30. data/_includes/components/sidebar.html +55 -0
  31. data/_includes/examples/custom_include.html +10 -0
  32. data/_includes/examples/custom_include_row.html +562 -0
  33. data/_includes/flow/blocks.html +73 -0
  34. data/_includes/flow/button.html +6 -0
  35. data/_includes/flow/buttons.html +5 -0
  36. data/_includes/flow/call-to-action-banner.html +8 -0
  37. data/_includes/flow/collapse.html +21 -0
  38. data/_includes/flow/container_row.html +11 -0
  39. data/_includes/flow/feature_block.html +41 -0
  40. data/_includes/flow/flow_inner.html +29 -0
  41. data/_includes/flow/full_width_row.html +5 -0
  42. data/_includes/flow/image.html +12 -0
  43. data/_includes/flow/members-section.html +24 -0
  44. data/_includes/flow/slider.html +25 -0
  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 +29 -0
  50. data/_includes/image.html +15 -4
  51. data/_includes/js_bundles/app.html +4 -0
  52. data/_includes/js_bundles/vendor.html +13 -0
  53. data/_includes/media.html +4 -4
  54. data/_includes/nav/brand.html +3 -0
  55. data/_includes/nav/nav.html +133 -0
  56. data/_includes/nav/universal_nav.html +36 -0
  57. data/_includes/social_media_icons.html +24 -0
  58. data/_includes/sticky-tab-bar.html +61 -0
  59. data/_includes/youtube.html +74 -6
  60. data/_layouts/author.html +61 -0
  61. data/_layouts/base.html +14 -0
  62. data/_layouts/default.html +2 -18
  63. data/_layouts/flow.html +33 -0
  64. data/_layouts/page.html +5 -0
  65. data/_layouts/post.html +56 -133
  66. data/{_layouts/about.html → _sass/app/blog.scss} +0 -0
  67. data/_sass/app/custom.scss +1 -0
  68. data/_sass/app/overrides.scss +43 -0
  69. data/_sass/app/search.scss +51 -0
  70. data/_sass/blog.scss +3 -0
  71. data/_sass/bootstrap/_alert.scss +51 -0
  72. data/_sass/bootstrap/_badge.scss +47 -0
  73. data/_sass/bootstrap/_breadcrumb.scss +41 -0
  74. data/_sass/bootstrap/_button-group.scss +172 -0
  75. data/_sass/bootstrap/_buttons.scss +75 -100
  76. data/_sass/bootstrap/_card.scss +301 -0
  77. data/_sass/bootstrap/_carousel.scss +161 -195
  78. data/_sass/bootstrap/_close.scss +15 -16
  79. data/_sass/bootstrap/_code.scss +15 -36
  80. data/_sass/bootstrap/_custom-forms.scss +433 -0
  81. data/_sass/bootstrap/_dropdown.scss +166 -0
  82. data/_sass/bootstrap/_forms.scss +213 -497
  83. data/_sass/bootstrap/_functions.scss +86 -0
  84. data/_sass/bootstrap/_grid.scss +29 -61
  85. data/_sass/bootstrap/_images.scss +42 -0
  86. data/_sass/bootstrap/_input-group.scss +173 -0
  87. data/_sass/bootstrap/_jumbotron.scss +9 -47
  88. data/_sass/bootstrap/_list-group.scss +64 -79
  89. data/_sass/bootstrap/_media.scss +3 -61
  90. data/_sass/bootstrap/_mixins.scss +19 -18
  91. data/_sass/bootstrap/_modal.scss +180 -0
  92. data/_sass/bootstrap/_nav.scss +118 -0
  93. data/_sass/bootstrap/_navbar.scss +192 -555
  94. data/_sass/bootstrap/_pagination.scss +59 -70
  95. data/_sass/bootstrap/_popover.scss +183 -0
  96. data/_sass/bootstrap/_print.scss +89 -49
  97. data/_sass/bootstrap/_progress.scss +34 -0
  98. data/_sass/bootstrap/_reboot.scss +483 -0
  99. data/_sass/bootstrap/_root.scss +19 -0
  100. data/_sass/bootstrap/_tables.scss +119 -166
  101. data/_sass/bootstrap/_tooltip.scss +93 -79
  102. data/_sass/bootstrap/_transitions.scss +22 -0
  103. data/_sass/bootstrap/_type.scss +66 -239
  104. data/_sass/bootstrap/_utilities.scss +15 -55
  105. data/_sass/bootstrap/_variables.scss +782 -727
  106. data/_sass/bootstrap/bootstrap-grid.scss +32 -0
  107. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  108. data/_sass/bootstrap/bootstrap.scss +42 -0
  109. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  110. data/_sass/bootstrap/mixins/_background-variant.scss +14 -5
  111. data/_sass/bootstrap/mixins/_badge.scss +12 -0
  112. data/_sass/bootstrap/mixins/_border-radius.scss +25 -8
  113. data/_sass/bootstrap/mixins/_box-shadow.scss +5 -0
  114. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  115. data/_sass/bootstrap/mixins/_buttons.scss +84 -40
  116. data/_sass/bootstrap/mixins/_caret.scss +66 -0
  117. data/_sass/bootstrap/mixins/_clearfix.scss +3 -18
  118. data/_sass/bootstrap/mixins/_float.scss +11 -0
  119. data/_sass/bootstrap/mixins/_forms.scss +125 -66
  120. data/_sass/bootstrap/mixins/_gradients.scss +17 -30
  121. data/_sass/bootstrap/mixins/_grid-framework.scss +52 -66
  122. data/_sass/bootstrap/mixins/_grid.scss +37 -107
  123. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  124. data/_sass/bootstrap/mixins/_image.scss +18 -15
  125. data/_sass/bootstrap/mixins/_list-group.scss +10 -21
  126. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  127. data/_sass/bootstrap/mixins/_nav-divider.scss +4 -4
  128. data/_sass/bootstrap/mixins/_pagination.scss +10 -12
  129. data/_sass/bootstrap/mixins/_reset-text.scss +7 -8
  130. data/_sass/bootstrap/mixins/_resize.scss +1 -1
  131. data/_sass/bootstrap/mixins/_screen-reader.scss +33 -0
  132. data/_sass/bootstrap/mixins/_size.scss +1 -5
  133. data/_sass/bootstrap/mixins/_table-row.scss +16 -14
  134. data/_sass/bootstrap/mixins/_text-emphasis.scss +7 -5
  135. data/_sass/bootstrap/mixins/_text-hide.scss +13 -0
  136. data/_sass/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  137. data/_sass/bootstrap/mixins/_transition.scss +13 -0
  138. data/_sass/bootstrap/mixins/_visibility.scss +7 -0
  139. data/_sass/bootstrap/utilities/_align.scss +8 -0
  140. data/_sass/bootstrap/utilities/_background.scss +19 -0
  141. data/_sass/bootstrap/utilities/_borders.scss +59 -0
  142. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  143. data/_sass/bootstrap/utilities/_display.scss +38 -0
  144. data/_sass/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +26 -9
  145. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  146. data/_sass/bootstrap/utilities/_float.scss +9 -0
  147. data/_sass/bootstrap/utilities/_position.scss +37 -0
  148. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  149. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  150. data/_sass/bootstrap/utilities/_sizing.scss +12 -0
  151. data/_sass/bootstrap/utilities/_spacing.scss +51 -0
  152. data/_sass/bootstrap/utilities/_text.scss +58 -0
  153. data/_sass/bootstrap/utilities/_visibility.scss +11 -0
  154. data/_sass/core.scss +15 -0
  155. data/_sass/core/blog.scss +242 -327
  156. data/_sass/core/bootstrap-multiselect.scss +1 -0
  157. data/_sass/core/breadcrumb.scss +16 -88
  158. data/_sass/core/carousel-header.scss +91 -0
  159. data/_sass/core/carousel-styles.scss +1 -0
  160. data/_sass/core/carousel.scss +188 -28
  161. data/_sass/core/cookies.scss +200 -0
  162. data/_sass/core/error.scss +190 -0
  163. data/_sass/core/featherlight.scss +158 -0
  164. data/_sass/core/flow.scss +94 -0
  165. data/_sass/core/fontello.scss +91 -0
  166. data/_sass/core/footer.scss +60 -132
  167. data/_sass/core/jumbotron.scss +105 -0
  168. data/_sass/core/navbar.scss +241 -0
  169. data/_sass/core/normalize.scss +358 -0
  170. data/_sass/core/syntax.scss +65 -62
  171. data/_sass/core/theme.scss +49 -440
  172. data/assets/css/main.scss +12 -18
  173. data/assets/fonts/fontello/fontello.eot +0 -0
  174. data/assets/fonts/fontello/fontello.svg +94 -0
  175. data/assets/fonts/fontello/fontello.ttf +0 -0
  176. data/assets/fonts/fontello/fontello.woff +0 -0
  177. data/assets/fonts/fontello/fontello.woff2 +0 -0
  178. data/assets/fonts/{lato-regular → lato}/LICENSE.txt +0 -0
  179. data/assets/fonts/{lato-regular → lato}/Lato-regular.eot +0 -0
  180. data/assets/fonts/{lato-regular → lato}/Lato-regular.svg +0 -0
  181. data/assets/fonts/{lato-regular → lato}/Lato-regular.ttf +0 -0
  182. data/assets/fonts/{lato-regular → lato}/Lato-regular.woff +0 -0
  183. data/assets/fonts/{lato-regular → lato}/Lato-regular.woff2 +0 -0
  184. data/assets/images/{Linaro-Logo_standard.svg → Linaro-Logo.svg} +0 -0
  185. data/assets/images/Linaro-Sprinkle.png +0 -0
  186. data/assets/images/Linaro-logo-white.png +0 -0
  187. data/assets/images/{avatar-placeholder.png → avatar-placeholder.jpg} +0 -0
  188. data/assets/images/breadcrumb-image.jpg +0 -0
  189. data/assets/images/clipboard.svg +3 -0
  190. data/{_sass/core/forms.scss → assets/js/app/custom.js} +0 -0
  191. data/assets/js/app/main.js +360 -96
  192. data/assets/js/bootstrap.js.map +1 -0
  193. data/assets/js/popper.min.js.map +1 -0
  194. data/assets/js/vendor/_popper.js +5 -0
  195. data/assets/js/vendor/bootstrap.js +6 -0
  196. data/assets/js/vendor/clipboard.min.js +7 -0
  197. data/assets/js/vendor/featherlight.js +641 -0
  198. data/assets/js/vendor/jquery.cookie.js +120 -0
  199. data/assets/js/vendor/jquery.ihavecookies.js +271 -0
  200. data/assets/js/vendor/jquery.js +10364 -0
  201. data/assets/js/vendor/lazysizes.js +698 -0
  202. data/assets/js/vendor/ls.unveilhooks.js +145 -0
  203. data/assets/js/vendor/owl.carousel.js +3907 -0
  204. data/assets/js/vendor/simple-jekyll-search.min.js +278 -0
  205. data/assets/json/posts.json +28 -0
  206. data/robots.txt +2 -2
  207. metadata +205 -260
  208. data/_data/authors.yml +0 -7
  209. data/_data/company.yml +0 -29
  210. data/_data/linaro.yml +0 -4
  211. data/_data/members_db.yaml +0 -115
  212. data/_data/news.yaml +0 -230
  213. data/_data/sub-nav-stacked.yml +0 -67
  214. data/_data/sub-nav.yml +0 -61
  215. data/_includes/_theme-includes/_blog/pagination.html +0 -39
  216. data/_includes/_theme-includes/_footer/footer.html +0 -85
  217. data/_includes/_theme-includes/_head/head.html +0 -35
  218. data/_includes/_theme-includes/_navigation/nav.html +0 -128
  219. data/_includes/_theme-includes/_navigation/stacked-nav.html +0 -20
  220. data/_includes/_theme-includes/_navigation/tabbed-nav.html +0 -35
  221. data/_includes/_theme-includes/_page-structure/breadcrumb.html +0 -101
  222. data/_includes/_theme-includes/_page-structure/home-hero-shape.html +0 -34
  223. data/_includes/_theme-includes/_page-structure/home-hero.html +0 -23
  224. data/_includes/_theme-includes/_page-structure/shape-divider.html +0 -12
  225. data/_includes/_theme-includes/_script-includes/css.html +0 -40
  226. data/_includes/_theme-includes/_script-includes/google-analytics/script.html +0 -10
  227. data/_includes/_theme-includes/_script-includes/gtm/gtm-noscript.html +0 -5
  228. data/_includes/_theme-includes/_script-includes/gtm/gtm-script.html +0 -9
  229. data/_includes/_theme-includes/_script-includes/javascript.html +0 -50
  230. data/_includes/_theme-includes/_third-party/disqus.html +0 -14
  231. data/_includes/_theme-includes/_third-party/mailchimp-homepage.html +0 -33
  232. data/_includes/_theme-includes/members.html +0 -63
  233. data/_includes/base.html +0 -14
  234. data/_includes/owl-carousel-homepage.html +0 -103
  235. data/_layouts/accessory-display-page.html +0 -88
  236. data/_layouts/blog-breadcrumbless.html +0 -49
  237. data/_layouts/blog.html +0 -56
  238. data/_layouts/contact.html +0 -10
  239. data/_layouts/default-empty.html +0 -11
  240. data/_layouts/default-no-sub-nav.html +0 -15
  241. data/_layouts/default-plain.html +0 -16
  242. data/_layouts/default-stacked-breadcrumb.html +0 -23
  243. data/_layouts/default-stacked.html +0 -22
  244. data/_layouts/empty.html +0 -10
  245. data/_layouts/fluid-no-sub-nav.html +0 -11
  246. data/_layouts/fluid.html +0 -15
  247. data/_layouts/home-shape.html +0 -18
  248. data/_layouts/home.html +0 -18
  249. data/_layouts/product-display-page.html +0 -262
  250. data/_layouts/project-display-page.html +0 -28
  251. data/_layouts/redirect.html +0 -11
  252. data/_sass/_bootstrap-compass.scss +0 -9
  253. data/_sass/_bootstrap-mincer.scss +0 -19
  254. data/_sass/_bootstrap-sprockets.scss +0 -9
  255. data/_sass/_bootstrap.scss +0 -56
  256. data/_sass/bootstrap/_alerts.scss +0 -73
  257. data/_sass/bootstrap/_badges.scss +0 -68
  258. data/_sass/bootstrap/_breadcrumbs.scss +0 -28
  259. data/_sass/bootstrap/_button-groups.scss +0 -244
  260. data/_sass/bootstrap/_component-animations.scss +0 -37
  261. data/_sass/bootstrap/_dropdowns.scss +0 -216
  262. data/_sass/bootstrap/_glyphicons.scss +0 -307
  263. data/_sass/bootstrap/_input-groups.scss +0 -171
  264. data/_sass/bootstrap/_labels.scss +0 -66
  265. data/_sass/bootstrap/_modals.scss +0 -150
  266. data/_sass/bootstrap/_navs.scss +0 -242
  267. data/_sass/bootstrap/_normalize.scss +0 -424
  268. data/_sass/bootstrap/_pager.scss +0 -54
  269. data/_sass/bootstrap/_panels.scss +0 -271
  270. data/_sass/bootstrap/_popovers.scss +0 -131
  271. data/_sass/bootstrap/_progress-bars.scss +0 -87
  272. data/_sass/bootstrap/_responsive-utilities.scss +0 -179
  273. data/_sass/bootstrap/_scaffolding.scss +0 -161
  274. data/_sass/bootstrap/_theme.scss +0 -291
  275. data/_sass/bootstrap/_thumbnails.scss +0 -38
  276. data/_sass/bootstrap/_wells.scss +0 -29
  277. data/_sass/bootstrap/mixins/_alerts.scss +0 -14
  278. data/_sass/bootstrap/mixins/_center-block.scss +0 -7
  279. data/_sass/bootstrap/mixins/_hide-text.scss +0 -21
  280. data/_sass/bootstrap/mixins/_labels.scss +0 -12
  281. data/_sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  282. data/_sass/bootstrap/mixins/_opacity.scss +0 -8
  283. data/_sass/bootstrap/mixins/_panels.scss +0 -24
  284. data/_sass/bootstrap/mixins/_progress-bar.scss +0 -10
  285. data/_sass/bootstrap/mixins/_reset-filter.scss +0 -8
  286. data/_sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
  287. data/_sass/bootstrap/mixins/_tab-focus.scss +0 -9
  288. data/_sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  289. data/_sass/core/animations.scss +0 -125
  290. data/_sass/core/cookieconsent.scss +0 -42
  291. data/_sass/core/custom.scss +0 -3
  292. data/_sass/core/fa.scss +0 -2336
  293. data/_sass/core/flipclock.scss +0 -435
  294. data/_sass/core/font-awesome.min.scss +0 -4
  295. data/_sass/core/fonts.scss +0 -7
  296. data/_sass/core/homepage.scss +0 -45
  297. data/_sass/core/lightbox.scss +0 -213
  298. data/_sass/core/nav.scss +0 -723
  299. data/_sass/core/old-search.scss +0 -239
  300. data/_sass/core/openhours.scss +0 -51
  301. data/_sass/core/products.scss +0 -221
  302. data/_sass/core/projects.scss +0 -32
  303. data/_sass/core/social-media-icons.scss +0 -71
  304. data/_sass/core/tables.scss +0 -125
  305. data/_sass/core/youtube.scss +0 -65
  306. data/_sass/custom.scss +0 -0
  307. data/assets/fonts/fontawesome-webfont.eot +0 -0
  308. data/assets/fonts/fontawesome-webfont.svg +0 -2671
  309. data/assets/fonts/fontawesome-webfont.ttf +0 -0
  310. data/assets/fonts/fontawesome-webfont.woff +0 -0
  311. data/assets/fonts/fontawesome-webfont.woff2 +0 -0
  312. data/assets/fonts/fontello.eot +0 -0
  313. data/assets/fonts/fontello.svg +0 -44
  314. data/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  315. data/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  316. data/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  317. data/assets/images/96boards-Logo.svg +0 -1
  318. data/assets/images/Linaro-Logo_light.png +0 -0
  319. data/assets/images/Linaro-Sprinkle.svg +0 -13
  320. data/assets/images/background-image.jpg +0 -0
  321. data/assets/images/banner.jpg +0 -0
  322. data/assets/images/css3.png +0 -0
  323. data/assets/images/html5.png +0 -0
  324. data/assets/images/jekyll.svg +0 -1
  325. data/assets/images/js.jpeg +0 -0
  326. data/assets/images/placeholder.png +0 -0
  327. data/assets/js/app/search.js +0 -41
  328. data/assets/js/app/sticky.js +0 -76
  329. data/assets/js/app/tables.js +0 -8
  330. data/assets/js/vendor/bootstrap.min.js +0 -7
  331. data/assets/js/vendor/cognito-forms.js +0 -150
  332. data/assets/js/vendor/cookieconsent.min.js +0 -8
  333. data/assets/js/vendor/flipclock.min.js +0 -35
  334. data/assets/js/vendor/jquery.min.js +0 -4
  335. data/assets/js/vendor/lazysizes.min.js +0 -2
  336. data/assets/js/vendor/lightbox.min.js +0 -14
  337. data/assets/js/vendor/loadCSS.js +0 -79
  338. data/assets/js/vendor/mc-validate.js +0 -14
  339. data/assets/js/vendor/owl.carousel.min.js +0 -27
@@ -0,0 +1,301 @@
1
+ //
2
+ // Base styles
3
+ //
4
+
5
+ .card {
6
+ position: relative;
7
+ display: flex;
8
+ flex-direction: column;
9
+ min-width: 0;
10
+ word-wrap: break-word;
11
+ background-color: $card-bg;
12
+ background-clip: border-box;
13
+ border: $card-border-width solid $card-border-color;
14
+ @include border-radius($card-border-radius);
15
+
16
+ > hr {
17
+ margin-right: 0;
18
+ margin-left: 0;
19
+ }
20
+
21
+ > .list-group:first-child {
22
+ .list-group-item:first-child {
23
+ @include border-top-radius($card-border-radius);
24
+ }
25
+ }
26
+
27
+ > .list-group:last-child {
28
+ .list-group-item:last-child {
29
+ @include border-bottom-radius($card-border-radius);
30
+ }
31
+ }
32
+ }
33
+
34
+ .card-body {
35
+ // Enable `flex-grow: 1` for decks and groups so that card blocks take up
36
+ // as much space as possible, ensuring footers are aligned to the bottom.
37
+ flex: 1 1 auto;
38
+ padding: $card-spacer-x;
39
+ }
40
+
41
+ .card-title {
42
+ margin-bottom: $card-spacer-y;
43
+ }
44
+
45
+ .card-subtitle {
46
+ margin-top: -($card-spacer-y / 2);
47
+ margin-bottom: 0;
48
+ }
49
+
50
+ .card-text:last-child {
51
+ margin-bottom: 0;
52
+ }
53
+
54
+ .card-link {
55
+ @include hover {
56
+ text-decoration: none;
57
+ }
58
+
59
+ + .card-link {
60
+ margin-left: $card-spacer-x;
61
+ }
62
+ }
63
+
64
+ //
65
+ // Optional textual caps
66
+ //
67
+
68
+ .card-header {
69
+ padding: $card-spacer-y $card-spacer-x;
70
+ margin-bottom: 0; // Removes the default margin-bottom of <hN>
71
+ background-color: $card-cap-bg;
72
+ border-bottom: $card-border-width solid $card-border-color;
73
+
74
+ &:first-child {
75
+ @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
76
+ }
77
+
78
+ + .list-group {
79
+ .list-group-item:first-child {
80
+ border-top: 0;
81
+ }
82
+ }
83
+ }
84
+
85
+ .card-footer {
86
+ padding: $card-spacer-y $card-spacer-x;
87
+ background-color: $card-cap-bg;
88
+ border-top: $card-border-width solid $card-border-color;
89
+
90
+ &:last-child {
91
+ @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
92
+ }
93
+ }
94
+
95
+
96
+ //
97
+ // Header navs
98
+ //
99
+
100
+ .card-header-tabs {
101
+ margin-right: -($card-spacer-x / 2);
102
+ margin-bottom: -$card-spacer-y;
103
+ margin-left: -($card-spacer-x / 2);
104
+ border-bottom: 0;
105
+ }
106
+
107
+ .card-header-pills {
108
+ margin-right: -($card-spacer-x / 2);
109
+ margin-left: -($card-spacer-x / 2);
110
+ }
111
+
112
+ // Card image
113
+ .card-img-overlay {
114
+ position: absolute;
115
+ top: 0;
116
+ right: 0;
117
+ bottom: 0;
118
+ left: 0;
119
+ padding: $card-img-overlay-padding;
120
+ }
121
+
122
+ .card-img {
123
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
124
+ @include border-radius($card-inner-border-radius);
125
+ }
126
+
127
+ // Card image caps
128
+ .card-img-top {
129
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
130
+ @include border-top-radius($card-inner-border-radius);
131
+ }
132
+
133
+ .card-img-bottom {
134
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
135
+ @include border-bottom-radius($card-inner-border-radius);
136
+ }
137
+
138
+
139
+ // Card deck
140
+
141
+ .card-deck {
142
+ display: flex;
143
+ flex-direction: column;
144
+
145
+ .card {
146
+ margin-bottom: $card-deck-margin;
147
+ }
148
+
149
+ @include media-breakpoint-up(sm) {
150
+ flex-flow: row wrap;
151
+ margin-right: -$card-deck-margin;
152
+ margin-left: -$card-deck-margin;
153
+
154
+ .card {
155
+ display: flex;
156
+ // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
157
+ flex: 1 0 0%;
158
+ flex-direction: column;
159
+ margin-right: $card-deck-margin;
160
+ margin-bottom: 0; // Override the default
161
+ margin-left: $card-deck-margin;
162
+ }
163
+ }
164
+ }
165
+
166
+
167
+ //
168
+ // Card groups
169
+ //
170
+
171
+ .card-group {
172
+ display: flex;
173
+ flex-direction: column;
174
+
175
+ // The child selector allows nested `.card` within `.card-group`
176
+ // to display properly.
177
+ > .card {
178
+ margin-bottom: $card-group-margin;
179
+ }
180
+
181
+ @include media-breakpoint-up(sm) {
182
+ flex-flow: row wrap;
183
+ // The child selector allows nested `.card` within `.card-group`
184
+ // to display properly.
185
+ > .card {
186
+ // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
187
+ flex: 1 0 0%;
188
+ margin-bottom: 0;
189
+
190
+ + .card {
191
+ margin-left: 0;
192
+ border-left: 0;
193
+ }
194
+
195
+ // Handle rounded corners
196
+ @if $enable-rounded {
197
+ &:first-child {
198
+ @include border-right-radius(0);
199
+
200
+ .card-img-top,
201
+ .card-header {
202
+ border-top-right-radius: 0;
203
+ }
204
+ .card-img-bottom,
205
+ .card-footer {
206
+ border-bottom-right-radius: 0;
207
+ }
208
+ }
209
+
210
+ &:last-child {
211
+ @include border-left-radius(0);
212
+
213
+ .card-img-top,
214
+ .card-header {
215
+ border-top-left-radius: 0;
216
+ }
217
+ .card-img-bottom,
218
+ .card-footer {
219
+ border-bottom-left-radius: 0;
220
+ }
221
+ }
222
+
223
+ &:only-child {
224
+ @include border-radius($card-border-radius);
225
+
226
+ .card-img-top,
227
+ .card-header {
228
+ @include border-top-radius($card-border-radius);
229
+ }
230
+ .card-img-bottom,
231
+ .card-footer {
232
+ @include border-bottom-radius($card-border-radius);
233
+ }
234
+ }
235
+
236
+ &:not(:first-child):not(:last-child):not(:only-child) {
237
+ @include border-radius(0);
238
+
239
+ .card-img-top,
240
+ .card-img-bottom,
241
+ .card-header,
242
+ .card-footer {
243
+ @include border-radius(0);
244
+ }
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+
251
+
252
+ //
253
+ // Columns
254
+ //
255
+
256
+ .card-columns {
257
+ .card {
258
+ margin-bottom: $card-columns-margin;
259
+ }
260
+
261
+ @include media-breakpoint-up(sm) {
262
+ column-count: $card-columns-count;
263
+ column-gap: $card-columns-gap;
264
+ orphans: 1;
265
+ widows: 1;
266
+
267
+ .card {
268
+ display: inline-block; // Don't let them vertically span multiple columns
269
+ width: 100%; // Don't let their width change
270
+ }
271
+ }
272
+ }
273
+
274
+
275
+ //
276
+ // Accordion
277
+ //
278
+
279
+ .accordion {
280
+ .card:not(:first-of-type):not(:last-of-type) {
281
+ border-bottom: 0;
282
+ border-radius: 0;
283
+ }
284
+
285
+ .card:not(:first-of-type) {
286
+ .card-header:first-child {
287
+ border-radius: 0;
288
+ }
289
+ }
290
+
291
+ .card:first-of-type {
292
+ border-bottom: 0;
293
+ border-bottom-right-radius: 0;
294
+ border-bottom-left-radius: 0;
295
+ }
296
+
297
+ .card:last-of-type {
298
+ border-top-left-radius: 0;
299
+ border-top-right-radius: 0;
300
+ }
301
+ }
@@ -1,270 +1,236 @@
1
+ // Notes on the classes:
1
2
  //
2
- // Carousel
3
- // --------------------------------------------------
3
+ // 1. The .carousel-item-left and .carousel-item-right is used to indicate where
4
+ // the active slide is heading.
5
+ // 2. .active.carousel-item is the current slide.
6
+ // 3. .active.carousel-item-left and .active.carousel-item-right is the current
7
+ // slide in its in-transition state. Only one of these occurs at a time.
8
+ // 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
9
+ // is the upcoming slide in transition.
4
10
 
5
-
6
- // Wrapper for the slide container and indicators
7
11
  .carousel {
8
12
  position: relative;
9
13
  }
10
14
 
11
15
  .carousel-inner {
12
16
  position: relative;
17
+ width: 100%;
13
18
  overflow: hidden;
19
+ }
20
+
21
+ .carousel-item {
22
+ position: relative;
23
+ display: none;
24
+ align-items: center;
14
25
  width: 100%;
26
+ backface-visibility: hidden;
27
+ perspective: 1000px;
28
+ }
15
29
 
16
- > .item {
17
- display: none;
18
- position: relative;
19
- @include transition(.6s ease-in-out left);
30
+ .carousel-item.active,
31
+ .carousel-item-next,
32
+ .carousel-item-prev {
33
+ display: block;
34
+ @include transition($carousel-transition);
35
+ }
20
36
 
21
- // Account for jankitude on images
22
- > img,
23
- > a > img {
24
- @include img-responsive;
25
- line-height: 1;
26
- }
37
+ .carousel-item-next,
38
+ .carousel-item-prev {
39
+ position: absolute;
40
+ top: 0;
41
+ }
27
42
 
28
- // WebKit CSS3 transforms for supported devices
29
- @media all and (transform-3d), (-webkit-transform-3d) {
30
- @include transition-transform(0.6s ease-in-out);
31
- @include backface-visibility(hidden);
32
- @include perspective(1000px);
33
-
34
- &.next,
35
- &.active.right {
36
- @include translate3d(100%, 0, 0);
37
- left: 0;
38
- }
39
- &.prev,
40
- &.active.left {
41
- @include translate3d(-100%, 0, 0);
42
- left: 0;
43
- }
44
- &.next.left,
45
- &.prev.right,
46
- &.active {
47
- @include translate3d(0, 0, 0);
48
- left: 0;
49
- }
50
- }
51
- }
43
+ .carousel-item-next.carousel-item-left,
44
+ .carousel-item-prev.carousel-item-right {
45
+ transform: translateX(0);
52
46
 
53
- > .active,
54
- > .next,
55
- > .prev {
56
- display: block;
47
+ @supports (transform-style: preserve-3d) {
48
+ transform: translate3d(0, 0, 0);
57
49
  }
50
+ }
58
51
 
59
- > .active {
60
- left: 0;
61
- }
52
+ .carousel-item-next,
53
+ .active.carousel-item-right {
54
+ transform: translateX(100%);
62
55
 
63
- > .next,
64
- > .prev {
65
- position: absolute;
66
- top: 0;
67
- width: 100%;
56
+ @supports (transform-style: preserve-3d) {
57
+ transform: translate3d(100%, 0, 0);
68
58
  }
59
+ }
69
60
 
70
- > .next {
71
- left: 100%;
72
- }
73
- > .prev {
74
- left: -100%;
61
+ .carousel-item-prev,
62
+ .active.carousel-item-left {
63
+ transform: translateX(-100%);
64
+
65
+ @supports (transform-style: preserve-3d) {
66
+ transform: translate3d(-100%, 0, 0);
75
67
  }
76
- > .next.left,
77
- > .prev.right {
78
- left: 0;
68
+ }
69
+
70
+
71
+ //
72
+ // Alternate transitions
73
+ //
74
+
75
+ .carousel-fade {
76
+ .carousel-item {
77
+ opacity: 0;
78
+ transition-duration: .6s;
79
+ transition-property: opacity;
79
80
  }
80
81
 
81
- > .active.left {
82
- left: -100%;
82
+ .carousel-item.active,
83
+ .carousel-item-next.carousel-item-left,
84
+ .carousel-item-prev.carousel-item-right {
85
+ opacity: 1;
83
86
  }
84
- > .active.right {
85
- left: 100%;
87
+
88
+ .active.carousel-item-left,
89
+ .active.carousel-item-right {
90
+ opacity: 0;
86
91
  }
87
92
 
93
+ .carousel-item-next,
94
+ .carousel-item-prev,
95
+ .carousel-item.active,
96
+ .active.carousel-item-left,
97
+ .active.carousel-item-prev {
98
+ transform: translateX(0);
99
+
100
+ @supports (transform-style: preserve-3d) {
101
+ transform: translate3d(0, 0, 0);
102
+ }
103
+ }
88
104
  }
89
105
 
106
+
107
+ //
90
108
  // Left/right controls for nav
91
- // ---------------------------
109
+ //
92
110
 
93
- .carousel-control {
111
+ .carousel-control-prev,
112
+ .carousel-control-next {
94
113
  position: absolute;
95
114
  top: 0;
96
- left: 0;
97
115
  bottom: 0;
116
+ // Use flex for alignment (1-3)
117
+ display: flex; // 1. allow flex styles
118
+ align-items: center; // 2. vertically center contents
119
+ justify-content: center; // 3. horizontally center contents
98
120
  width: $carousel-control-width;
99
- @include opacity($carousel-control-opacity);
100
- font-size: $carousel-control-font-size;
101
121
  color: $carousel-control-color;
102
122
  text-align: center;
103
- text-shadow: $carousel-text-shadow;
104
- background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug
105
- // We can't have this transition here because WebKit cancels the carousel
123
+ opacity: $carousel-control-opacity;
124
+ // We can't have a transition here because WebKit cancels the carousel
106
125
  // animation if you trip this while in the middle of another animation.
107
126
 
108
- // Set gradients for backgrounds
109
- &.left {
110
- @include gradient-horizontal($start-color: rgba(0,0,0,.5), $end-color: rgba(0,0,0,.0001));
111
- }
112
- &.right {
113
- left: auto;
114
- right: 0;
115
- @include gradient-horizontal($start-color: rgba(0,0,0,.0001), $end-color: rgba(0,0,0,.5));
116
- }
117
-
118
127
  // Hover/focus state
119
- &:hover,
120
- &:focus {
121
- outline: 0;
128
+ @include hover-focus {
122
129
  color: $carousel-control-color;
123
130
  text-decoration: none;
124
- @include opacity(.9);
125
- }
126
-
127
- // Toggles
128
- .icon-prev,
129
- .icon-next,
130
- .glyphicon-chevron-left,
131
- .glyphicon-chevron-right {
132
- position: absolute;
133
- top: 50%;
134
- margin-top: -10px;
135
- z-index: 5;
136
- display: inline-block;
137
- }
138
- .icon-prev,
139
- .glyphicon-chevron-left {
140
- left: 50%;
141
- margin-left: -10px;
131
+ outline: 0;
132
+ opacity: .9;
142
133
  }
143
- .icon-next,
144
- .glyphicon-chevron-right {
145
- right: 50%;
146
- margin-right: -10px;
134
+ }
135
+ .carousel-control-prev {
136
+ left: 0;
137
+ @if $enable-gradients {
138
+ background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
147
139
  }
148
- .icon-prev,
149
- .icon-next {
150
- width: 20px;
151
- height: 20px;
152
- line-height: 1;
153
- font-family: serif;
140
+ }
141
+ .carousel-control-next {
142
+ right: 0;
143
+ @if $enable-gradients {
144
+ background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
154
145
  }
146
+ }
155
147
 
156
-
157
- .icon-prev {
158
- &:before {
159
- content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
160
- }
161
- }
162
- .icon-next {
163
- &:before {
164
- content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
165
- }
166
- }
148
+ // Icons for within
149
+ .carousel-control-prev-icon,
150
+ .carousel-control-next-icon {
151
+ display: inline-block;
152
+ width: $carousel-control-icon-width;
153
+ height: $carousel-control-icon-width;
154
+ background: transparent no-repeat center center;
155
+ background-size: 100% 100%;
156
+ }
157
+ .carousel-control-prev-icon {
158
+ background-image: $carousel-control-prev-icon-bg;
159
+ }
160
+ .carousel-control-next-icon {
161
+ background-image: $carousel-control-next-icon-bg;
167
162
  }
168
163
 
164
+
169
165
  // Optional indicator pips
170
166
  //
171
- // Add an unordered list with the following class and add a list item for each
167
+ // Add an ordered list with the following class and add a list item for each
172
168
  // slide your carousel holds.
173
169
 
174
170
  .carousel-indicators {
175
171
  position: absolute;
172
+ right: 0;
176
173
  bottom: 10px;
177
- left: 50%;
174
+ left: 0;
178
175
  z-index: 15;
179
- width: 60%;
180
- margin-left: -30%;
181
- padding-left: 0;
176
+ display: flex;
177
+ justify-content: center;
178
+ padding-left: 0; // override <ol> default
179
+ // Use the .carousel-control's width as margin so we don't overlay those
180
+ margin-right: $carousel-control-width;
181
+ margin-left: $carousel-control-width;
182
182
  list-style: none;
183
- text-align: center;
184
183
 
185
184
  li {
186
- display: inline-block;
187
- width: 10px;
188
- height: 10px;
189
- margin: 1px;
185
+ position: relative;
186
+ flex: 0 1 auto;
187
+ width: $carousel-indicator-width;
188
+ height: $carousel-indicator-height;
189
+ margin-right: $carousel-indicator-spacer;
190
+ margin-left: $carousel-indicator-spacer;
190
191
  text-indent: -999px;
191
- border: 1px solid $carousel-indicator-border-color;
192
- border-radius: 10px;
193
192
  cursor: pointer;
194
-
195
- // IE8-9 hack for event handling
196
- //
197
- // Internet Explorer 8-9 does not support clicks on elements without a set
198
- // `background-color`. We cannot use `filter` since that's not viewed as a
199
- // background color by the browser. Thus, a hack is needed.
200
- // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer
201
- //
202
- // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we
203
- // set alpha transparency for the best results possible.
204
- background-color: #000 \9; // IE8
205
- background-color: rgba(0,0,0,0); // IE9
193
+ background-color: rgba($carousel-indicator-active-bg, .5);
194
+
195
+ // Use pseudo classes to increase the hit area by 10px on top and bottom.
196
+ &::before {
197
+ position: absolute;
198
+ top: -10px;
199
+ left: 0;
200
+ display: inline-block;
201
+ width: 100%;
202
+ height: 10px;
203
+ content: "";
204
+ }
205
+ &::after {
206
+ position: absolute;
207
+ bottom: -10px;
208
+ left: 0;
209
+ display: inline-block;
210
+ width: 100%;
211
+ height: 10px;
212
+ content: "";
213
+ }
206
214
  }
215
+
207
216
  .active {
208
- margin: 0;
209
- width: 12px;
210
- height: 12px;
211
217
  background-color: $carousel-indicator-active-bg;
212
218
  }
213
219
  }
214
220
 
221
+
215
222
  // Optional captions
216
- // -----------------------------
217
- // Hidden by default for smaller viewports
223
+ //
224
+ //
225
+
218
226
  .carousel-caption {
219
227
  position: absolute;
220
- left: 15%;
221
- right: 15%;
228
+ right: ((100% - $carousel-caption-width) / 2);
222
229
  bottom: 20px;
230
+ left: ((100% - $carousel-caption-width) / 2);
223
231
  z-index: 10;
224
232
  padding-top: 20px;
225
233
  padding-bottom: 20px;
226
234
  color: $carousel-caption-color;
227
235
  text-align: center;
228
- text-shadow: $carousel-text-shadow;
229
- & .btn {
230
- text-shadow: none; // No shadow for button elements in carousel-caption
231
- }
232
- }
233
-
234
-
235
- // Scale up controls for tablets and up
236
- @media screen and (min-width: $screen-sm-min) {
237
-
238
- // Scale up the controls a smidge
239
- .carousel-control {
240
- .glyphicon-chevron-left,
241
- .glyphicon-chevron-right,
242
- .icon-prev,
243
- .icon-next {
244
- width: ($carousel-control-font-size * 1.5);
245
- height: ($carousel-control-font-size * 1.5);
246
- margin-top: ($carousel-control-font-size / -2);
247
- font-size: ($carousel-control-font-size * 1.5);
248
- }
249
- .glyphicon-chevron-left,
250
- .icon-prev {
251
- margin-left: ($carousel-control-font-size / -2);
252
- }
253
- .glyphicon-chevron-right,
254
- .icon-next {
255
- margin-right: ($carousel-control-font-size / -2);
256
- }
257
- }
258
-
259
- // Show and left align the captions
260
- .carousel-caption {
261
- left: 20%;
262
- right: 20%;
263
- padding-bottom: 30px;
264
- }
265
-
266
- // Move up the indicators
267
- .carousel-indicators {
268
- bottom: 20px;
269
- }
270
236
  }