chulapa-jekyll 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +27 -0
  3. data/LICENSE +21 -0
  4. data/README.md +126 -0
  5. data/_includes/components/author.html +40 -0
  6. data/_includes/components/breadcrumbdatesocial.html +63 -0
  7. data/_includes/components/categories.html +15 -0
  8. data/_includes/components/disqus.html +24 -0
  9. data/_includes/components/headers.html +124 -0
  10. data/_includes/components/indexcards.html +48 -0
  11. data/_includes/components/navbeforeafter.html +22 -0
  12. data/_includes/components/tags.html +15 -0
  13. data/_includes/components/toc.html +112 -0
  14. data/_includes/custom/custom_bottomscripts.html +5 -0
  15. data/_includes/custom/custom_head.html +8 -0
  16. data/_includes/custom/custom_head_before_css.html +5 -0
  17. data/_includes/custom/giscus.html +1 -0
  18. data/_includes/footer.html +129 -0
  19. data/_includes/head.html +309 -0
  20. data/_includes/navbar.html +205 -0
  21. data/_includes/search/algolia.html +3 -0
  22. data/_includes/search/google.html +11 -0
  23. data/_includes/search/lunr.html +7 -0
  24. data/_includes/snippets/bootstrapdemo.html +1390 -0
  25. data/_includes/snippets/carousel.html +61 -0
  26. data/_includes/snippets/datetranslate.html +48 -0
  27. data/_includes/snippets/masonry.html +23 -0
  28. data/_includes/snippets/video.html +26 -0
  29. data/_includes/snippets/youtube.html +6 -0
  30. data/_layouts/archive.html +82 -0
  31. data/_layouts/cloudcategory.html +89 -0
  32. data/_layouts/cloudtag.html +86 -0
  33. data/_layouts/compress.html +10 -0
  34. data/_layouts/default.html +39 -0
  35. data/_layouts/indexcategory.html +36 -0
  36. data/_layouts/landingpage.html +51 -0
  37. data/_layouts/minimal.html +21 -0
  38. data/_layouts/search.html +59 -0
  39. data/_sass/bootstrap/_alert.scss +51 -0
  40. data/_sass/bootstrap/_badge.scss +54 -0
  41. data/_sass/bootstrap/_breadcrumb.scss +44 -0
  42. data/_sass/bootstrap/_button-group.scss +163 -0
  43. data/_sass/bootstrap/_buttons.scss +142 -0
  44. data/_sass/bootstrap/_card.scss +282 -0
  45. data/_sass/bootstrap/_carousel.scss +197 -0
  46. data/_sass/bootstrap/_close.scss +40 -0
  47. data/_sass/bootstrap/_code.scss +48 -0
  48. data/_sass/bootstrap/_custom-forms.scss +522 -0
  49. data/_sass/bootstrap/_dropdown.scss +192 -0
  50. data/_sass/bootstrap/_forms.scss +347 -0
  51. data/_sass/bootstrap/_functions.scss +141 -0
  52. data/_sass/bootstrap/_grid.scss +77 -0
  53. data/_sass/bootstrap/_images.scss +42 -0
  54. data/_sass/bootstrap/_input-group.scss +192 -0
  55. data/_sass/bootstrap/_jumbotron.scss +17 -0
  56. data/_sass/bootstrap/_list-group.scss +154 -0
  57. data/_sass/bootstrap/_media.scss +8 -0
  58. data/_sass/bootstrap/_mixins.scss +47 -0
  59. data/_sass/bootstrap/_modal.scss +241 -0
  60. data/_sass/bootstrap/_nav.scss +121 -0
  61. data/_sass/bootstrap/_navbar.scss +324 -0
  62. data/_sass/bootstrap/_pagination.scss +74 -0
  63. data/_sass/bootstrap/_popover.scss +170 -0
  64. data/_sass/bootstrap/_print.scss +141 -0
  65. data/_sass/bootstrap/_progress.scss +47 -0
  66. data/_sass/bootstrap/_reboot.scss +480 -0
  67. data/_sass/bootstrap/_root.scss +20 -0
  68. data/_sass/bootstrap/_spinners.scss +56 -0
  69. data/_sass/bootstrap/_tables.scss +185 -0
  70. data/_sass/bootstrap/_toasts.scss +44 -0
  71. data/_sass/bootstrap/_tooltip.scss +115 -0
  72. data/_sass/bootstrap/_transitions.scss +20 -0
  73. data/_sass/bootstrap/_type.scss +125 -0
  74. data/_sass/bootstrap/_utilities.scss +18 -0
  75. data/_sass/bootstrap/_variables.scss +1147 -0
  76. data/_sass/bootstrap/bootstrap-grid.scss +29 -0
  77. data/_sass/bootstrap/bootstrap-reboot.scss +12 -0
  78. data/_sass/bootstrap/bootstrap.scss +44 -0
  79. data/_sass/bootstrap/mixins/_alert.scss +13 -0
  80. data/_sass/bootstrap/mixins/_background-variant.scss +23 -0
  81. data/_sass/bootstrap/mixins/_badge.scss +17 -0
  82. data/_sass/bootstrap/mixins/_border-radius.scss +76 -0
  83. data/_sass/bootstrap/mixins/_box-shadow.scss +20 -0
  84. data/_sass/bootstrap/mixins/_breakpoints.scss +123 -0
  85. data/_sass/bootstrap/mixins/_buttons.scss +110 -0
  86. data/_sass/bootstrap/mixins/_caret.scss +62 -0
  87. data/_sass/bootstrap/mixins/_clearfix.scss +7 -0
  88. data/_sass/bootstrap/mixins/_deprecate.scss +10 -0
  89. data/_sass/bootstrap/mixins/_float.scss +14 -0
  90. data/_sass/bootstrap/mixins/_forms.scss +177 -0
  91. data/_sass/bootstrap/mixins/_gradients.scss +45 -0
  92. data/_sass/bootstrap/mixins/_grid-framework.scss +81 -0
  93. data/_sass/bootstrap/mixins/_grid.scss +69 -0
  94. data/_sass/bootstrap/mixins/_hover.scss +37 -0
  95. data/_sass/bootstrap/mixins/_image.scss +36 -0
  96. data/_sass/bootstrap/mixins/_list-group.scss +21 -0
  97. data/_sass/bootstrap/mixins/_lists.scss +7 -0
  98. data/_sass/bootstrap/mixins/_nav-divider.scss +11 -0
  99. data/_sass/bootstrap/mixins/_pagination.scss +22 -0
  100. data/_sass/bootstrap/mixins/_reset-text.scss +17 -0
  101. data/_sass/bootstrap/mixins/_resize.scss +6 -0
  102. data/_sass/bootstrap/mixins/_screen-reader.scss +34 -0
  103. data/_sass/bootstrap/mixins/_size.scss +7 -0
  104. data/_sass/bootstrap/mixins/_table-row.scss +39 -0
  105. data/_sass/bootstrap/mixins/_text-emphasis.scss +17 -0
  106. data/_sass/bootstrap/mixins/_text-hide.scss +11 -0
  107. data/_sass/bootstrap/mixins/_text-truncate.scss +8 -0
  108. data/_sass/bootstrap/mixins/_transition.scss +26 -0
  109. data/_sass/bootstrap/mixins/_visibility.scss +8 -0
  110. data/_sass/bootstrap/utilities/_align.scss +8 -0
  111. data/_sass/bootstrap/utilities/_background.scss +19 -0
  112. data/_sass/bootstrap/utilities/_borders.scss +75 -0
  113. data/_sass/bootstrap/utilities/_clearfix.scss +3 -0
  114. data/_sass/bootstrap/utilities/_display.scss +26 -0
  115. data/_sass/bootstrap/utilities/_embed.scss +39 -0
  116. data/_sass/bootstrap/utilities/_flex.scss +51 -0
  117. data/_sass/bootstrap/utilities/_float.scss +11 -0
  118. data/_sass/bootstrap/utilities/_interactions.scss +5 -0
  119. data/_sass/bootstrap/utilities/_overflow.scss +5 -0
  120. data/_sass/bootstrap/utilities/_position.scss +32 -0
  121. data/_sass/bootstrap/utilities/_screenreaders.scss +11 -0
  122. data/_sass/bootstrap/utilities/_shadows.scss +6 -0
  123. data/_sass/bootstrap/utilities/_sizing.scss +20 -0
  124. data/_sass/bootstrap/utilities/_spacing.scss +73 -0
  125. data/_sass/bootstrap/utilities/_stretched-link.scss +19 -0
  126. data/_sass/bootstrap/utilities/_text.scss +71 -0
  127. data/_sass/bootstrap/utilities/_visibility.scss +13 -0
  128. data/_sass/bootstrap/vendor/_rfs.scss +204 -0
  129. data/_sass/bootstrapv5-migration.scss +79 -0
  130. data/_sass/chulapa-classes.scss +844 -0
  131. data/_sass/chulapa-master.scss +11 -0
  132. data/_sass/chulapa-misc.scss +105 -0
  133. data/_sass/chulapa-mixins.scss +77 -0
  134. data/_sass/chulapa-vars.scss +48 -0
  135. data/_sass/highlight/README.md +23 -0
  136. data/_sass/highlight/UNLICENSE.txt +24 -0
  137. data/_sass/highlight/autumn.scss +58 -0
  138. data/_sass/highlight/borland.scss +46 -0
  139. data/_sass/highlight/bw.scss +34 -0
  140. data/_sass/highlight/colorful.scss +61 -0
  141. data/_sass/highlight/cran.scss +169 -0
  142. data/_sass/highlight/default.scss +61 -0
  143. data/_sass/highlight/dracula.scss +169 -0
  144. data/_sass/highlight/emacs.scss +61 -0
  145. data/_sass/highlight/friendly.scss +61 -0
  146. data/_sass/highlight/fruity.scss +70 -0
  147. data/_sass/highlight/github.scss +61 -0
  148. data/_sass/highlight/gruvbox.light.scss +84 -0
  149. data/_sass/highlight/manni.scss +61 -0
  150. data/_sass/highlight/monokai.scss +65 -0
  151. data/_sass/highlight/murphy.scss +61 -0
  152. data/_sass/highlight/native.scss +70 -0
  153. data/_sass/highlight/pastie.scss +60 -0
  154. data/_sass/highlight/perldoc.scss +58 -0
  155. data/_sass/highlight/skeletor.scss +140 -0
  156. data/_sass/highlight/tango.scss +69 -0
  157. data/_sass/highlight/thankful_eyes.scss +173 -0
  158. data/_sass/highlight/trac.scss +59 -0
  159. data/_sass/highlight/vim.scss +70 -0
  160. data/_sass/highlight/vs.scss +33 -0
  161. data/_sass/highlight/zenburn.scss +136 -0
  162. data/_sass/reset-algolia.scss +24 -0
  163. data/_sass/skins/academia.scss +26 -0
  164. data/_sass/skins/auto.scss +26 -0
  165. data/_sass/skins/chulapa.scss +52 -0
  166. data/_sass/skins/deeply.scss +89 -0
  167. data/_sass/skins/graymor.scss +26 -0
  168. data/_sass/skins/hootstrap.scss +17 -0
  169. data/_sass/skins/journal.scss +142 -0
  170. data/_sass/skins/lux.scss +377 -0
  171. data/_sass/skins/lymcha.scss +14 -0
  172. data/_sass/skins/minty.scss +165 -0
  173. data/_sass/skins/none.scss +2 -0
  174. data/_sass/skins/pear.scss +21 -0
  175. data/_sass/skins/preptor.scss +19 -0
  176. data/_sass/skins/sketchy.scss +745 -0
  177. data/_sass/skins/sunset.scss +14 -0
  178. data/_sass/skins/twitter-dim.scss +30 -0
  179. data/_sass/skins/twitter-lights-out.scss +31 -0
  180. data/_sass/skins/twitter.scss +30 -0
  181. data/_sass/skins/universal.scss +24 -0
  182. data/_sass/skins/wandoo.scss +15 -0
  183. data/assets/atom.xml +72 -0
  184. data/assets/css/custom.scss +4 -0
  185. data/assets/css/highlighter.scss +5 -0
  186. data/assets/css/main.scss +35 -0
  187. data/assets/fonts/Chulapa/Chulapa-Bold.otf +0 -0
  188. data/assets/fonts/Chulapa/Chulapa-Bold_v2.1.otf +0 -0
  189. data/assets/fonts/Chulapa/Chulapa-Bold_v2.2.otf +0 -0
  190. data/assets/fonts/Chulapa/Chulapa-Bold_v2.otf +0 -0
  191. data/assets/fonts/Chulapa/Chulapa-Bold_vmod.otf +0 -0
  192. data/assets/fonts/Chulapa/Chulapa-Light.otf +0 -0
  193. data/assets/fonts/Chulapa/Chulapa-Regular.otf +0 -0
  194. data/assets/fonts/Chulapa/LICENCIA DE USO.txt +2 -0
  195. data/assets/fonts/Ferpal/Ferpal-Regular.otf +0 -0
  196. data/assets/js/algolia/algolia-search.js +148 -0
  197. data/assets/js/ch_ytdefer/ch_ytdefer.js +81 -0
  198. data/assets/js/ch_ytdefer/ch_ytdefer.min.js +1 -0
  199. data/assets/js/clipboardrouge.js +95 -0
  200. data/assets/js/google/google-search.js +24 -0
  201. data/assets/js/lunr/lunr-search.js +122 -0
  202. data/assets/js/lunr/lunr-store.js +35 -0
  203. data/assets/rss.xml +65 -0
  204. metadata +356 -0
@@ -0,0 +1,347 @@
1
+ // stylelint-disable selector-no-qualifying-type
2
+
3
+ //
4
+ // Textual form controls
5
+ //
6
+
7
+ .form-control {
8
+ display: block;
9
+ width: 100%;
10
+ height: $input-height;
11
+ padding: $input-padding-y $input-padding-x;
12
+ font-family: $input-font-family;
13
+ @include font-size($input-font-size);
14
+ font-weight: $input-font-weight;
15
+ line-height: $input-line-height;
16
+ color: $input-color;
17
+ background-color: $input-bg;
18
+ background-clip: padding-box;
19
+ border: $input-border-width solid $input-border-color;
20
+
21
+ // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
22
+ @include border-radius($input-border-radius, 0);
23
+
24
+ @include box-shadow($input-box-shadow);
25
+ @include transition($input-transition);
26
+
27
+ // Unstyle the caret on `<select>`s in IE10+.
28
+ &::-ms-expand {
29
+ background-color: transparent;
30
+ border: 0;
31
+ }
32
+
33
+ // Remove select outline from select box in FF
34
+ &:-moz-focusring {
35
+ color: transparent;
36
+ text-shadow: 0 0 0 $input-color;
37
+ }
38
+
39
+ // Customize the `:focus` state to imitate native WebKit styles.
40
+ @include form-control-focus($ignore-warning: true);
41
+
42
+ // Placeholder
43
+ &::placeholder {
44
+ color: $input-placeholder-color;
45
+ // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
46
+ opacity: 1;
47
+ }
48
+
49
+ // Disabled and read-only inputs
50
+ //
51
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
52
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
53
+ // don't honor that edge case; we style them as disabled anyway.
54
+ &:disabled,
55
+ &[readonly] {
56
+ background-color: $input-disabled-bg;
57
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
58
+ opacity: 1;
59
+ }
60
+ }
61
+
62
+ input[type="date"],
63
+ input[type="time"],
64
+ input[type="datetime-local"],
65
+ input[type="month"] {
66
+ &.form-control {
67
+ appearance: none; // Fix appearance for date inputs in Safari
68
+ }
69
+ }
70
+
71
+ select.form-control {
72
+ &:focus::-ms-value {
73
+ // Suppress the nested default white text on blue background highlight given to
74
+ // the selected option text when the (still closed) <select> receives focus
75
+ // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
76
+ // match the appearance of the native widget.
77
+ // See https://github.com/twbs/bootstrap/issues/19398.
78
+ color: $input-color;
79
+ background-color: $input-bg;
80
+ }
81
+ }
82
+
83
+ // Make file inputs better match text inputs by forcing them to new lines.
84
+ .form-control-file,
85
+ .form-control-range {
86
+ display: block;
87
+ width: 100%;
88
+ }
89
+
90
+
91
+ //
92
+ // Labels
93
+ //
94
+
95
+ // For use with horizontal and inline forms, when you need the label (or legend)
96
+ // text to align with the form controls.
97
+ .col-form-label {
98
+ padding-top: add($input-padding-y, $input-border-width);
99
+ padding-bottom: add($input-padding-y, $input-border-width);
100
+ margin-bottom: 0; // Override the `<label>/<legend>` default
101
+ @include font-size(inherit); // Override the `<legend>` default
102
+ line-height: $input-line-height;
103
+ }
104
+
105
+ .col-form-label-lg {
106
+ padding-top: add($input-padding-y-lg, $input-border-width);
107
+ padding-bottom: add($input-padding-y-lg, $input-border-width);
108
+ @include font-size($input-font-size-lg);
109
+ line-height: $input-line-height-lg;
110
+ }
111
+
112
+ .col-form-label-sm {
113
+ padding-top: add($input-padding-y-sm, $input-border-width);
114
+ padding-bottom: add($input-padding-y-sm, $input-border-width);
115
+ @include font-size($input-font-size-sm);
116
+ line-height: $input-line-height-sm;
117
+ }
118
+
119
+
120
+ // Readonly controls as plain text
121
+ //
122
+ // Apply class to a readonly input to make it appear like regular plain
123
+ // text (without any border, background color, focus indicator)
124
+
125
+ .form-control-plaintext {
126
+ display: block;
127
+ width: 100%;
128
+ padding: $input-padding-y 0;
129
+ margin-bottom: 0; // match inputs if this class comes on inputs with default margins
130
+ @include font-size($input-font-size);
131
+ line-height: $input-line-height;
132
+ color: $input-plaintext-color;
133
+ background-color: transparent;
134
+ border: solid transparent;
135
+ border-width: $input-border-width 0;
136
+
137
+ &.form-control-sm,
138
+ &.form-control-lg {
139
+ padding-right: 0;
140
+ padding-left: 0;
141
+ }
142
+ }
143
+
144
+
145
+ // Form control sizing
146
+ //
147
+ // Build on `.form-control` with modifier classes to decrease or increase the
148
+ // height and font-size of form controls.
149
+ //
150
+ // Repeated in `_input_group.scss` to avoid Sass extend issues.
151
+
152
+ .form-control-sm {
153
+ height: $input-height-sm;
154
+ padding: $input-padding-y-sm $input-padding-x-sm;
155
+ @include font-size($input-font-size-sm);
156
+ line-height: $input-line-height-sm;
157
+ @include border-radius($input-border-radius-sm);
158
+ }
159
+
160
+ .form-control-lg {
161
+ height: $input-height-lg;
162
+ padding: $input-padding-y-lg $input-padding-x-lg;
163
+ @include font-size($input-font-size-lg);
164
+ line-height: $input-line-height-lg;
165
+ @include border-radius($input-border-radius-lg);
166
+ }
167
+
168
+ // stylelint-disable-next-line no-duplicate-selectors
169
+ select.form-control {
170
+ &[size],
171
+ &[multiple] {
172
+ height: auto;
173
+ }
174
+ }
175
+
176
+ textarea.form-control {
177
+ height: auto;
178
+ }
179
+
180
+ // Form groups
181
+ //
182
+ // Designed to help with the organization and spacing of vertical forms. For
183
+ // horizontal forms, use the predefined grid classes.
184
+
185
+ .form-group {
186
+ margin-bottom: $form-group-margin-bottom;
187
+ }
188
+
189
+ .form-text {
190
+ display: block;
191
+ margin-top: $form-text-margin-top;
192
+ }
193
+
194
+
195
+ // Form grid
196
+ //
197
+ // Special replacement for our grid system's `.row` for tighter form layouts.
198
+
199
+ .form-row {
200
+ display: flex;
201
+ flex-wrap: wrap;
202
+ margin-right: -$form-grid-gutter-width / 2;
203
+ margin-left: -$form-grid-gutter-width / 2;
204
+
205
+ > .col,
206
+ > [class*="col-"] {
207
+ padding-right: $form-grid-gutter-width / 2;
208
+ padding-left: $form-grid-gutter-width / 2;
209
+ }
210
+ }
211
+
212
+
213
+ // Checkboxes and radios
214
+ //
215
+ // Indent the labels to position radios/checkboxes as hanging controls.
216
+
217
+ .form-check {
218
+ position: relative;
219
+ display: block;
220
+ padding-left: $form-check-input-gutter;
221
+ }
222
+
223
+ .form-check-input {
224
+ position: absolute;
225
+ margin-top: $form-check-input-margin-y;
226
+ margin-left: -$form-check-input-gutter;
227
+
228
+ // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247
229
+ &[disabled] ~ .form-check-label,
230
+ &:disabled ~ .form-check-label {
231
+ color: $text-muted;
232
+ }
233
+ }
234
+
235
+ .form-check-label {
236
+ margin-bottom: 0; // Override default `<label>` bottom margin
237
+ }
238
+
239
+ .form-check-inline {
240
+ display: inline-flex;
241
+ align-items: center;
242
+ padding-left: 0; // Override base .form-check
243
+ margin-right: $form-check-inline-margin-x;
244
+
245
+ // Undo .form-check-input defaults and add some `margin-right`.
246
+ .form-check-input {
247
+ position: static;
248
+ margin-top: 0;
249
+ margin-right: $form-check-inline-input-margin-x;
250
+ margin-left: 0;
251
+ }
252
+ }
253
+
254
+
255
+ // Form validation
256
+ //
257
+ // Provide feedback to users when form field values are valid or invalid. Works
258
+ // primarily for client-side validation via scoped `:invalid` and `:valid`
259
+ // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
260
+ // server side validation.
261
+
262
+ @each $state, $data in $form-validation-states {
263
+ @include form-validation-state($state, map-get($data, color), map-get($data, icon));
264
+ }
265
+
266
+ // Inline forms
267
+ //
268
+ // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
269
+ // forms begin stacked on extra small (mobile) devices and then go inline when
270
+ // viewports reach <768px.
271
+ //
272
+ // Requires wrapping inputs and labels with `.form-group` for proper display of
273
+ // default HTML form controls and our custom form controls (e.g., input groups).
274
+
275
+ .form-inline {
276
+ display: flex;
277
+ flex-flow: row wrap;
278
+ align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
279
+
280
+ // Because we use flex, the initial sizing of checkboxes is collapsed and
281
+ // doesn't occupy the full-width (which is what we want for xs grid tier),
282
+ // so we force that here.
283
+ .form-check {
284
+ width: 100%;
285
+ }
286
+
287
+ // Kick in the inline
288
+ @include media-breakpoint-up(sm) {
289
+ label {
290
+ display: flex;
291
+ align-items: center;
292
+ justify-content: center;
293
+ margin-bottom: 0;
294
+ }
295
+
296
+ // Inline-block all the things for "inline"
297
+ .form-group {
298
+ display: flex;
299
+ flex: 0 0 auto;
300
+ flex-flow: row wrap;
301
+ align-items: center;
302
+ margin-bottom: 0;
303
+ }
304
+
305
+ // Allow folks to *not* use `.form-group`
306
+ .form-control {
307
+ display: inline-block;
308
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
309
+ vertical-align: middle;
310
+ }
311
+
312
+ // Make static controls behave like regular ones
313
+ .form-control-plaintext {
314
+ display: inline-block;
315
+ }
316
+
317
+ .input-group,
318
+ .custom-select {
319
+ width: auto;
320
+ }
321
+
322
+ // Remove default margin on radios/checkboxes that were used for stacking, and
323
+ // then undo the floating of radios and checkboxes to match.
324
+ .form-check {
325
+ display: flex;
326
+ align-items: center;
327
+ justify-content: center;
328
+ width: auto;
329
+ padding-left: 0;
330
+ }
331
+ .form-check-input {
332
+ position: relative;
333
+ flex-shrink: 0;
334
+ margin-top: 0;
335
+ margin-right: $form-check-input-margin-x;
336
+ margin-left: 0;
337
+ }
338
+
339
+ .custom-control {
340
+ align-items: center;
341
+ justify-content: center;
342
+ }
343
+ .custom-control-label {
344
+ margin-bottom: 0;
345
+ }
346
+ }
347
+ }
@@ -0,0 +1,141 @@
1
+ // Bootstrap functions
2
+ //
3
+ // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4
+
5
+ // Ascending
6
+ // Used to evaluate Sass maps like our grid breakpoints.
7
+ @mixin _assert-ascending($map, $map-name) {
8
+ $prev-key: null;
9
+ $prev-num: null;
10
+ @each $key, $num in $map {
11
+ @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
12
+ // Do nothing
13
+ } @else if not comparable($prev-num, $num) {
14
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
15
+ } @else if $prev-num >= $num {
16
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17
+ }
18
+ $prev-key: $key;
19
+ $prev-num: $num;
20
+ }
21
+ }
22
+
23
+ // Starts at zero
24
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
+ @if length($map) > 0 {
27
+ $values: map-values($map);
28
+ $first-value: nth($values, 1);
29
+ @if $first-value != 0 {
30
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
31
+ }
32
+ }
33
+ }
34
+
35
+ // Replace `$search` with `$replace` in `$string`
36
+ // Used on our SVG icon backgrounds for custom forms.
37
+ //
38
+ // @author Hugo Giraudel
39
+ // @param {String} $string - Initial string
40
+ // @param {String} $search - Substring to replace
41
+ // @param {String} $replace ('') - New value
42
+ // @return {String} - Updated string
43
+ @function str-replace($string, $search, $replace: "") {
44
+ $index: str-index($string, $search);
45
+
46
+ @if $index {
47
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
48
+ }
49
+
50
+ @return $string;
51
+ }
52
+
53
+ // See https://codepen.io/kevinweber/pen/dXWoRw
54
+ @function escape-svg($string) {
55
+ @if str-index($string, "data:image/svg+xml") {
56
+ @each $char, $encoded in $escaped-characters {
57
+ // Do not escape the url brackets
58
+ @if str-index($string, "url(") == 1 {
59
+ $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
60
+ } @else {
61
+ $string: str-replace($string, $char, $encoded);
62
+ }
63
+ }
64
+ }
65
+
66
+ @return $string;
67
+ }
68
+
69
+ // Color contrast
70
+ @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
71
+ $r: red($color);
72
+ $g: green($color);
73
+ $b: blue($color);
74
+
75
+ $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
76
+
77
+ @if ($yiq >= $yiq-contrasted-threshold) {
78
+ @return $dark;
79
+ } @else {
80
+ @return $light;
81
+ }
82
+ }
83
+
84
+ // Retrieve color Sass maps
85
+ @function color($key: "blue") {
86
+ @return map-get($colors, $key);
87
+ }
88
+
89
+ @function theme-color($key: "primary") {
90
+ @return map-get($theme-colors, $key);
91
+ }
92
+
93
+ @function gray($key: "100") {
94
+ @return map-get($grays, $key);
95
+ }
96
+
97
+ // Request a theme color level
98
+ @function theme-color-level($color-name: "primary", $level: 0) {
99
+ $color: theme-color($color-name);
100
+ $color-base: if($level > 0, $black, $white);
101
+ $level: abs($level);
102
+
103
+ @return mix($color-base, $color, $level * $theme-color-interval);
104
+ }
105
+
106
+ // Return valid calc
107
+ @function add($value1, $value2, $return-calc: true) {
108
+ @if $value1 == null {
109
+ @return $value2;
110
+ }
111
+
112
+ @if $value2 == null {
113
+ @return $value1;
114
+ }
115
+
116
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
117
+ @return $value1 + $value2;
118
+ }
119
+
120
+ @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
121
+ }
122
+
123
+ @function subtract($value1, $value2, $return-calc: true) {
124
+ @if $value1 == null and $value2 == null {
125
+ @return null;
126
+ }
127
+
128
+ @if $value1 == null {
129
+ @return -$value2;
130
+ }
131
+
132
+ @if $value2 == null {
133
+ @return $value1;
134
+ }
135
+
136
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
137
+ @return $value1 - $value2;
138
+ }
139
+
140
+ @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
141
+ }
@@ -0,0 +1,77 @@
1
+ // Container widths
2
+ //
3
+ // Set the container width, and override it for fixed navbars in media queries.
4
+
5
+ @if $enable-grid-classes {
6
+ // Single container class with breakpoint max-widths
7
+ .container {
8
+ @include make-container();
9
+ @include make-container-max-widths();
10
+ }
11
+
12
+ // 100% wide container at all breakpoints
13
+ .container-fluid {
14
+ @include make-container();
15
+ }
16
+
17
+ // Responsive containers that are 100% wide until a breakpoint
18
+ @each $breakpoint, $container-max-width in $container-max-widths {
19
+ .container-#{$breakpoint} {
20
+ @extend .container-fluid;
21
+ }
22
+
23
+ @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
24
+ %responsive-container-#{$breakpoint} {
25
+ max-width: $container-max-width;
26
+ }
27
+
28
+ // Extend each breakpoint which is smaller or equal to the current breakpoint
29
+ $extend-breakpoint: true;
30
+
31
+ @each $name, $width in $grid-breakpoints {
32
+ @if ($extend-breakpoint) {
33
+ .container#{breakpoint-infix($name, $grid-breakpoints)} {
34
+ @extend %responsive-container-#{$breakpoint};
35
+ }
36
+
37
+ // Once the current breakpoint is reached, stop extending
38
+ @if ($breakpoint == $name) {
39
+ $extend-breakpoint: false;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+
48
+ // Row
49
+ //
50
+ // Rows contain your columns.
51
+
52
+ @if $enable-grid-classes {
53
+ .row {
54
+ @include make-row();
55
+ }
56
+
57
+ // Remove the negative margin from default .row, then the horizontal padding
58
+ // from all immediate children columns (to prevent runaway style inheritance).
59
+ .no-gutters {
60
+ margin-right: 0;
61
+ margin-left: 0;
62
+
63
+ > .col,
64
+ > [class*="col-"] {
65
+ padding-right: 0;
66
+ padding-left: 0;
67
+ }
68
+ }
69
+ }
70
+
71
+ // Columns
72
+ //
73
+ // Common styles for small and large grid columns
74
+
75
+ @if $enable-grid-classes {
76
+ @include make-grid-columns();
77
+ }
@@ -0,0 +1,42 @@
1
+ // Responsive images (ensure images don't scale beyond their parents)
2
+ //
3
+ // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
4
+ // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5
+ // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6
+ // which weren't expecting the images within themselves to be involuntarily resized.
7
+ // See also https://github.com/twbs/bootstrap/issues/18178
8
+ .img-fluid {
9
+ @include img-fluid();
10
+ }
11
+
12
+
13
+ // Image thumbnails
14
+ .img-thumbnail {
15
+ padding: $thumbnail-padding;
16
+ background-color: $thumbnail-bg;
17
+ border: $thumbnail-border-width solid $thumbnail-border-color;
18
+ @include border-radius($thumbnail-border-radius);
19
+ @include box-shadow($thumbnail-box-shadow);
20
+
21
+ // Keep them at most 100% wide
22
+ @include img-fluid();
23
+ }
24
+
25
+ //
26
+ // Figures
27
+ //
28
+
29
+ .figure {
30
+ // Ensures the caption's text aligns with the image.
31
+ display: inline-block;
32
+ }
33
+
34
+ .figure-img {
35
+ margin-bottom: $spacer / 2;
36
+ line-height: 1;
37
+ }
38
+
39
+ .figure-caption {
40
+ @include font-size($figure-caption-font-size);
41
+ color: $figure-caption-color;
42
+ }