jekyll-theme-cs50 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/_includes/aside.html +24 -0
  4. data/_includes/footer.md +0 -0
  5. data/_includes/header.md +0 -0
  6. data/_includes/main.html +5 -0
  7. data/_includes/nav.md +0 -0
  8. data/_layouts/page.html +136 -0
  9. data/_sass/jekyll-theme-cs50.scss +314 -0
  10. data/_sass/node_modules/bootstrap/LICENSE +22 -0
  11. data/_sass/node_modules/bootstrap/scss/_alert.scss +51 -0
  12. data/_sass/node_modules/bootstrap/scss/_badge.scss +53 -0
  13. data/_sass/node_modules/bootstrap/scss/_breadcrumb.scss +41 -0
  14. data/_sass/node_modules/bootstrap/scss/_button-group.scss +163 -0
  15. data/_sass/node_modules/bootstrap/scss/_buttons.scss +140 -0
  16. data/_sass/node_modules/bootstrap/scss/_card.scss +310 -0
  17. data/_sass/node_modules/bootstrap/scss/_carousel.scss +198 -0
  18. data/_sass/node_modules/bootstrap/scss/_close.scss +44 -0
  19. data/_sass/node_modules/bootstrap/scss/_code.scss +48 -0
  20. data/_sass/node_modules/bootstrap/scss/_custom-forms.scss +507 -0
  21. data/_sass/node_modules/bootstrap/scss/_dropdown.scss +191 -0
  22. data/_sass/node_modules/bootstrap/scss/_forms.scss +334 -0
  23. data/_sass/node_modules/bootstrap/scss/_functions.scss +86 -0
  24. data/_sass/node_modules/bootstrap/scss/_grid.scss +52 -0
  25. data/_sass/node_modules/bootstrap/scss/_images.scss +42 -0
  26. data/_sass/node_modules/bootstrap/scss/_input-group.scss +193 -0
  27. data/_sass/node_modules/bootstrap/scss/_jumbotron.scss +16 -0
  28. data/_sass/node_modules/bootstrap/scss/_list-group.scss +121 -0
  29. data/_sass/node_modules/bootstrap/scss/_media.scss +8 -0
  30. data/_sass/node_modules/bootstrap/scss/_mixins.scss +41 -0
  31. data/_sass/node_modules/bootstrap/scss/_modal.scss +186 -0
  32. data/_sass/node_modules/bootstrap/scss/_nav.scss +120 -0
  33. data/_sass/node_modules/bootstrap/scss/_navbar.scss +299 -0
  34. data/_sass/node_modules/bootstrap/scss/_pagination.scss +78 -0
  35. data/_sass/node_modules/bootstrap/scss/_popover.scss +183 -0
  36. data/_sass/node_modules/bootstrap/scss/_print.scss +141 -0
  37. data/_sass/node_modules/bootstrap/scss/_progress.scss +34 -0
  38. data/_sass/node_modules/bootstrap/scss/_reboot.scss +462 -0
  39. data/_sass/node_modules/bootstrap/scss/_root.scss +19 -0
  40. data/_sass/node_modules/bootstrap/scss/_spinners.scss +53 -0
  41. data/_sass/node_modules/bootstrap/scss/_tables.scss +187 -0
  42. data/_sass/node_modules/bootstrap/scss/_toasts.scss +43 -0
  43. data/_sass/node_modules/bootstrap/scss/_tooltip.scss +115 -0
  44. data/_sass/node_modules/bootstrap/scss/_transitions.scss +22 -0
  45. data/_sass/node_modules/bootstrap/scss/_type.scss +125 -0
  46. data/_sass/node_modules/bootstrap/scss/_utilities.scss +16 -0
  47. data/_sass/node_modules/bootstrap/scss/_variables.scss +1091 -0
  48. data/_sass/node_modules/bootstrap/scss/bootstrap-grid.scss +29 -0
  49. data/_sass/node_modules/bootstrap/scss/bootstrap-reboot.scss +12 -0
  50. data/_sass/node_modules/bootstrap/scss/bootstrap.scss +44 -0
  51. data/_sass/node_modules/bootstrap/scss/mixins/_alert.scss +13 -0
  52. data/_sass/node_modules/bootstrap/scss/mixins/_background-variant.scss +21 -0
  53. data/_sass/node_modules/bootstrap/scss/mixins/_badge.scss +11 -0
  54. data/_sass/node_modules/bootstrap/scss/mixins/_border-radius.scss +35 -0
  55. data/_sass/node_modules/bootstrap/scss/mixins/_box-shadow.scss +5 -0
  56. data/_sass/node_modules/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  57. data/_sass/node_modules/bootstrap/scss/mixins/_buttons.scss +111 -0
  58. data/_sass/node_modules/bootstrap/scss/mixins/_caret.scss +62 -0
  59. data/_sass/node_modules/bootstrap/scss/mixins/_clearfix.scss +7 -0
  60. data/_sass/node_modules/bootstrap/scss/mixins/_float.scss +11 -0
  61. data/_sass/node_modules/bootstrap/scss/mixins/_forms.scss +198 -0
  62. data/_sass/node_modules/bootstrap/scss/mixins/_gradients.scss +45 -0
  63. data/_sass/node_modules/bootstrap/scss/mixins/_grid-framework.scss +66 -0
  64. data/_sass/node_modules/bootstrap/scss/mixins/_grid.scss +51 -0
  65. data/_sass/node_modules/bootstrap/scss/mixins/_hover.scss +37 -0
  66. data/_sass/node_modules/bootstrap/scss/mixins/_image.scss +36 -0
  67. data/_sass/node_modules/bootstrap/scss/mixins/_list-group.scss +21 -0
  68. data/_sass/node_modules/bootstrap/scss/mixins/_lists.scss +7 -0
  69. data/_sass/node_modules/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  70. data/_sass/node_modules/bootstrap/scss/mixins/_pagination.scss +22 -0
  71. data/_sass/node_modules/bootstrap/scss/mixins/_reset-text.scss +17 -0
  72. data/_sass/node_modules/bootstrap/scss/mixins/_resize.scss +6 -0
  73. data/_sass/node_modules/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  74. data/_sass/node_modules/bootstrap/scss/mixins/_size.scss +6 -0
  75. data/_sass/node_modules/bootstrap/scss/mixins/_table-row.scss +39 -0
  76. data/_sass/node_modules/bootstrap/scss/mixins/_text-emphasis.scss +14 -0
  77. data/_sass/node_modules/bootstrap/scss/mixins/_text-hide.scss +13 -0
  78. data/_sass/node_modules/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  79. data/_sass/node_modules/bootstrap/scss/mixins/_transition.scss +16 -0
  80. data/_sass/node_modules/bootstrap/scss/mixins/_visibility.scss +7 -0
  81. data/_sass/node_modules/bootstrap/scss/utilities/_align.scss +8 -0
  82. data/_sass/node_modules/bootstrap/scss/utilities/_background.scss +19 -0
  83. data/_sass/node_modules/bootstrap/scss/utilities/_borders.scss +63 -0
  84. data/_sass/node_modules/bootstrap/scss/utilities/_clearfix.scss +3 -0
  85. data/_sass/node_modules/bootstrap/scss/utilities/_display.scss +38 -0
  86. data/_sass/node_modules/bootstrap/scss/utilities/_embed.scss +39 -0
  87. data/_sass/node_modules/bootstrap/scss/utilities/_flex.scss +51 -0
  88. data/_sass/node_modules/bootstrap/scss/utilities/_float.scss +9 -0
  89. data/_sass/node_modules/bootstrap/scss/utilities/_overflow.scss +5 -0
  90. data/_sass/node_modules/bootstrap/scss/utilities/_position.scss +32 -0
  91. data/_sass/node_modules/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  92. data/_sass/node_modules/bootstrap/scss/utilities/_shadows.scss +6 -0
  93. data/_sass/node_modules/bootstrap/scss/utilities/_sizing.scss +20 -0
  94. data/_sass/node_modules/bootstrap/scss/utilities/_spacing.scss +73 -0
  95. data/_sass/node_modules/bootstrap/scss/utilities/_text.scss +67 -0
  96. data/_sass/node_modules/bootstrap/scss/utilities/_visibility.scss +11 -0
  97. data/_sass/node_modules/primer-markdown/build/build.scss +1 -0
  98. data/_sass/package.json +12 -0
  99. data/assets/css/style.scss +4 -0
  100. metadata +266 -0
@@ -0,0 +1,507 @@
1
+ // Embedded icons from Open Iconic.
2
+ // Released under MIT and copyright 2014 Waybury.
3
+ // https://useiconic.com/open
4
+
5
+
6
+ // Checkboxes and radios
7
+ //
8
+ // Base class takes care of all the key behavioral aspects.
9
+
10
+ .custom-control {
11
+ position: relative;
12
+ display: block;
13
+ min-height: $font-size-base * $line-height-base;
14
+ padding-left: $custom-control-gutter + $custom-control-indicator-size;
15
+ }
16
+
17
+ .custom-control-inline {
18
+ display: inline-flex;
19
+ margin-right: $custom-control-spacer-x;
20
+ }
21
+
22
+ .custom-control-input {
23
+ position: absolute;
24
+ z-index: -1; // Put the input behind the label so it doesn't overlay text
25
+ opacity: 0;
26
+
27
+ &:checked ~ .custom-control-label::before {
28
+ color: $custom-control-indicator-checked-color;
29
+ border-color: $custom-control-indicator-checked-border-color;
30
+ @include gradient-bg($custom-control-indicator-checked-bg);
31
+ @include box-shadow($custom-control-indicator-checked-box-shadow);
32
+ }
33
+
34
+ &:focus ~ .custom-control-label::before {
35
+ // the mixin is not used here to make sure there is feedback
36
+ @if $enable-shadows {
37
+ box-shadow: $input-box-shadow, $input-focus-box-shadow;
38
+ } @else {
39
+ box-shadow: $custom-control-indicator-focus-box-shadow;
40
+ }
41
+ }
42
+
43
+ &:focus:not(:checked) ~ .custom-control-label::before {
44
+ border-color: $custom-control-indicator-focus-border-color;
45
+ }
46
+
47
+ &:not(:disabled):active ~ .custom-control-label::before {
48
+ color: $custom-control-indicator-active-color;
49
+ background-color: $custom-control-indicator-active-bg;
50
+ border-color: $custom-control-indicator-active-border-color;
51
+ @include box-shadow($custom-control-indicator-active-box-shadow);
52
+ }
53
+
54
+ &:disabled {
55
+ ~ .custom-control-label {
56
+ color: $custom-control-label-disabled-color;
57
+
58
+ &::before {
59
+ background-color: $custom-control-indicator-disabled-bg;
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ // Custom control indicators
66
+ //
67
+ // Build the custom controls out of pseudo-elements.
68
+
69
+ .custom-control-label {
70
+ position: relative;
71
+ margin-bottom: 0;
72
+ vertical-align: top;
73
+
74
+ // Background-color and (when enabled) gradient
75
+ &::before {
76
+ position: absolute;
77
+ top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
78
+ left: -($custom-control-gutter + $custom-control-indicator-size);
79
+ display: block;
80
+ width: $custom-control-indicator-size;
81
+ height: $custom-control-indicator-size;
82
+ pointer-events: none;
83
+ content: "";
84
+ background-color: $custom-control-indicator-bg;
85
+ border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;
86
+ @include box-shadow($custom-control-indicator-box-shadow);
87
+ }
88
+
89
+ // Foreground (icon)
90
+ &::after {
91
+ position: absolute;
92
+ top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
93
+ left: -($custom-control-gutter + $custom-control-indicator-size);
94
+ display: block;
95
+ width: $custom-control-indicator-size;
96
+ height: $custom-control-indicator-size;
97
+ content: "";
98
+ background-repeat: no-repeat;
99
+ background-position: center center;
100
+ background-size: $custom-control-indicator-bg-size;
101
+ }
102
+ }
103
+
104
+
105
+ // Checkboxes
106
+ //
107
+ // Tweak just a few things for checkboxes.
108
+
109
+ .custom-checkbox {
110
+ .custom-control-label::before {
111
+ @include border-radius($custom-checkbox-indicator-border-radius);
112
+ }
113
+
114
+ .custom-control-input:checked ~ .custom-control-label {
115
+ &::after {
116
+ background-image: $custom-checkbox-indicator-icon-checked;
117
+ }
118
+ }
119
+
120
+ .custom-control-input:indeterminate ~ .custom-control-label {
121
+ &::before {
122
+ border-color: $custom-checkbox-indicator-indeterminate-border-color;
123
+ @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
124
+ @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
125
+ }
126
+ &::after {
127
+ background-image: $custom-checkbox-indicator-icon-indeterminate;
128
+ }
129
+ }
130
+
131
+ .custom-control-input:disabled {
132
+ &:checked ~ .custom-control-label::before {
133
+ background-color: $custom-control-indicator-checked-disabled-bg;
134
+ }
135
+ &:indeterminate ~ .custom-control-label::before {
136
+ background-color: $custom-control-indicator-checked-disabled-bg;
137
+ }
138
+ }
139
+ }
140
+
141
+ // Radios
142
+ //
143
+ // Tweak just a few things for radios.
144
+
145
+ .custom-radio {
146
+ .custom-control-label::before {
147
+ border-radius: $custom-radio-indicator-border-radius;
148
+ }
149
+
150
+ .custom-control-input:checked ~ .custom-control-label {
151
+ &::after {
152
+ background-image: $custom-radio-indicator-icon-checked;
153
+ }
154
+ }
155
+
156
+ .custom-control-input:disabled {
157
+ &:checked ~ .custom-control-label::before {
158
+ background-color: $custom-control-indicator-checked-disabled-bg;
159
+ }
160
+ }
161
+ }
162
+
163
+
164
+ // switches
165
+ //
166
+ // Tweak a few things for switches
167
+
168
+ .custom-switch {
169
+ padding-left: $custom-switch-width + $custom-control-gutter;
170
+
171
+ .custom-control-label {
172
+ &::before {
173
+ left: -($custom-switch-width + $custom-control-gutter);
174
+ width: $custom-switch-width;
175
+ pointer-events: all;
176
+ border-radius: $custom-switch-indicator-border-radius;
177
+ }
178
+
179
+ &::after {
180
+ top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});
181
+ left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});
182
+ width: $custom-switch-indicator-size;
183
+ height: $custom-switch-indicator-size;
184
+ background-color: $custom-control-indicator-border-color;
185
+ border-radius: $custom-switch-indicator-border-radius;
186
+ @include transition(transform .15s ease-in-out, $custom-forms-transition);
187
+ }
188
+ }
189
+
190
+ .custom-control-input:checked ~ .custom-control-label {
191
+ &::after {
192
+ background-color: $custom-control-indicator-bg;
193
+ transform: translateX($custom-switch-width - $custom-control-indicator-size);
194
+ }
195
+ }
196
+
197
+ .custom-control-input:disabled {
198
+ &:checked ~ .custom-control-label::before {
199
+ background-color: $custom-control-indicator-checked-disabled-bg;
200
+ }
201
+ }
202
+ }
203
+
204
+
205
+ // Select
206
+ //
207
+ // Replaces the browser default select with a custom one, mostly pulled from
208
+ // https://primer.github.io/.
209
+ //
210
+
211
+ .custom-select {
212
+ display: inline-block;
213
+ width: 100%;
214
+ height: $custom-select-height;
215
+ padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
216
+ font-weight: $custom-select-font-weight;
217
+ line-height: $custom-select-line-height;
218
+ color: $custom-select-color;
219
+ vertical-align: middle;
220
+ background: $custom-select-background;
221
+ background-color: $custom-select-bg;
222
+ border: $custom-select-border-width solid $custom-select-border-color;
223
+ @if $enable-rounded {
224
+ border-radius: $custom-select-border-radius;
225
+ } @else {
226
+ border-radius: 0;
227
+ }
228
+ @include box-shadow($custom-select-box-shadow);
229
+ appearance: none;
230
+
231
+ &:focus {
232
+ border-color: $custom-select-focus-border-color;
233
+ outline: 0;
234
+ @if $enable-shadows {
235
+ box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow;
236
+ } @else {
237
+ box-shadow: $custom-select-focus-box-shadow;
238
+ }
239
+
240
+ &::-ms-value {
241
+ // For visual consistency with other platforms/browsers,
242
+ // suppress the default white text on blue background highlight given to
243
+ // the selected option text when the (still closed) <select> receives focus
244
+ // in IE and (under certain conditions) Edge.
245
+ // See https://github.com/twbs/bootstrap/issues/19398.
246
+ color: $input-color;
247
+ background-color: $input-bg;
248
+ }
249
+ }
250
+
251
+ &[multiple],
252
+ &[size]:not([size="1"]) {
253
+ height: auto;
254
+ padding-right: $custom-select-padding-x;
255
+ background-image: none;
256
+ }
257
+
258
+ &:disabled {
259
+ color: $custom-select-disabled-color;
260
+ background-color: $custom-select-disabled-bg;
261
+ }
262
+
263
+ // Hides the default caret in IE11
264
+ &::-ms-expand {
265
+ opacity: 0;
266
+ }
267
+ }
268
+
269
+ .custom-select-sm {
270
+ height: $custom-select-height-sm;
271
+ padding-top: $custom-select-padding-y-sm;
272
+ padding-bottom: $custom-select-padding-y-sm;
273
+ padding-left: $custom-select-padding-x-sm;
274
+ font-size: $custom-select-font-size-sm;
275
+ }
276
+
277
+ .custom-select-lg {
278
+ height: $custom-select-height-lg;
279
+ padding-top: $custom-select-padding-y-lg;
280
+ padding-bottom: $custom-select-padding-y-lg;
281
+ padding-left: $custom-select-padding-x-lg;
282
+ font-size: $custom-select-font-size-lg;
283
+ }
284
+
285
+
286
+ // File
287
+ //
288
+ // Custom file input.
289
+
290
+ .custom-file {
291
+ position: relative;
292
+ display: inline-block;
293
+ width: 100%;
294
+ height: $custom-file-height;
295
+ margin-bottom: 0;
296
+ }
297
+
298
+ .custom-file-input {
299
+ position: relative;
300
+ z-index: 2;
301
+ width: 100%;
302
+ height: $custom-file-height;
303
+ margin: 0;
304
+ opacity: 0;
305
+
306
+ &:focus ~ .custom-file-label {
307
+ border-color: $custom-file-focus-border-color;
308
+ box-shadow: $custom-file-focus-box-shadow;
309
+ }
310
+
311
+ &:disabled ~ .custom-file-label {
312
+ background-color: $custom-file-disabled-bg;
313
+ }
314
+
315
+ @each $lang, $value in $custom-file-text {
316
+ &:lang(#{$lang}) ~ .custom-file-label::after {
317
+ content: $value;
318
+ }
319
+ }
320
+
321
+ ~ .custom-file-label[data-browse]::after {
322
+ content: attr(data-browse);
323
+ }
324
+ }
325
+
326
+ .custom-file-label {
327
+ position: absolute;
328
+ top: 0;
329
+ right: 0;
330
+ left: 0;
331
+ z-index: 1;
332
+ height: $custom-file-height;
333
+ padding: $custom-file-padding-y $custom-file-padding-x;
334
+ font-weight: $custom-file-font-weight;
335
+ line-height: $custom-file-line-height;
336
+ color: $custom-file-color;
337
+ background-color: $custom-file-bg;
338
+ border: $custom-file-border-width solid $custom-file-border-color;
339
+ @include border-radius($custom-file-border-radius);
340
+ @include box-shadow($custom-file-box-shadow);
341
+
342
+ &::after {
343
+ position: absolute;
344
+ top: 0;
345
+ right: 0;
346
+ bottom: 0;
347
+ z-index: 3;
348
+ display: block;
349
+ height: $custom-file-height-inner;
350
+ padding: $custom-file-padding-y $custom-file-padding-x;
351
+ line-height: $custom-file-line-height;
352
+ color: $custom-file-button-color;
353
+ content: "Browse";
354
+ @include gradient-bg($custom-file-button-bg);
355
+ border-left: inherit;
356
+ @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
357
+ }
358
+ }
359
+
360
+ // Range
361
+ //
362
+ // Style range inputs the same across browsers. Vendor-specific rules for pseudo
363
+ // elements cannot be mixed. As such, there are no shared styles for focus or
364
+ // active states on prefixed selectors.
365
+
366
+ .custom-range {
367
+ width: 100%;
368
+ height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2});
369
+ padding: 0; // Need to reset padding
370
+ background-color: transparent;
371
+ appearance: none;
372
+
373
+ &:focus {
374
+ outline: none;
375
+
376
+ // Pseudo-elements must be split across multiple rulesets to have an effect.
377
+ // No box-shadow() mixin for focus accessibility.
378
+ &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
379
+ &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
380
+ &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
381
+ }
382
+
383
+ &::-moz-focus-outer {
384
+ border: 0;
385
+ }
386
+
387
+ &::-webkit-slider-thumb {
388
+ width: $custom-range-thumb-width;
389
+ height: $custom-range-thumb-height;
390
+ margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific
391
+ @include gradient-bg($custom-range-thumb-bg);
392
+ border: $custom-range-thumb-border;
393
+ @include border-radius($custom-range-thumb-border-radius);
394
+ @include box-shadow($custom-range-thumb-box-shadow);
395
+ @include transition($custom-forms-transition);
396
+ appearance: none;
397
+
398
+ &:active {
399
+ @include gradient-bg($custom-range-thumb-active-bg);
400
+ }
401
+ }
402
+
403
+ &::-webkit-slider-runnable-track {
404
+ width: $custom-range-track-width;
405
+ height: $custom-range-track-height;
406
+ color: transparent; // Why?
407
+ cursor: $custom-range-track-cursor;
408
+ background-color: $custom-range-track-bg;
409
+ border-color: transparent;
410
+ @include border-radius($custom-range-track-border-radius);
411
+ @include box-shadow($custom-range-track-box-shadow);
412
+ }
413
+
414
+ &::-moz-range-thumb {
415
+ width: $custom-range-thumb-width;
416
+ height: $custom-range-thumb-height;
417
+ @include gradient-bg($custom-range-thumb-bg);
418
+ border: $custom-range-thumb-border;
419
+ @include border-radius($custom-range-thumb-border-radius);
420
+ @include box-shadow($custom-range-thumb-box-shadow);
421
+ @include transition($custom-forms-transition);
422
+ appearance: none;
423
+
424
+ &:active {
425
+ @include gradient-bg($custom-range-thumb-active-bg);
426
+ }
427
+ }
428
+
429
+ &::-moz-range-track {
430
+ width: $custom-range-track-width;
431
+ height: $custom-range-track-height;
432
+ color: transparent;
433
+ cursor: $custom-range-track-cursor;
434
+ background-color: $custom-range-track-bg;
435
+ border-color: transparent; // Firefox specific?
436
+ @include border-radius($custom-range-track-border-radius);
437
+ @include box-shadow($custom-range-track-box-shadow);
438
+ }
439
+
440
+ &::-ms-thumb {
441
+ width: $custom-range-thumb-width;
442
+ height: $custom-range-thumb-height;
443
+ margin-top: 0; // Edge specific
444
+ margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
445
+ margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.
446
+ @include gradient-bg($custom-range-thumb-bg);
447
+ border: $custom-range-thumb-border;
448
+ @include border-radius($custom-range-thumb-border-radius);
449
+ @include box-shadow($custom-range-thumb-box-shadow);
450
+ @include transition($custom-forms-transition);
451
+ appearance: none;
452
+
453
+ &:active {
454
+ @include gradient-bg($custom-range-thumb-active-bg);
455
+ }
456
+ }
457
+
458
+ &::-ms-track {
459
+ width: $custom-range-track-width;
460
+ height: $custom-range-track-height;
461
+ color: transparent;
462
+ cursor: $custom-range-track-cursor;
463
+ background-color: transparent;
464
+ border-color: transparent;
465
+ border-width: $custom-range-thumb-height / 2;
466
+ @include box-shadow($custom-range-track-box-shadow);
467
+ }
468
+
469
+ &::-ms-fill-lower {
470
+ background-color: $custom-range-track-bg;
471
+ @include border-radius($custom-range-track-border-radius);
472
+ }
473
+
474
+ &::-ms-fill-upper {
475
+ margin-right: 15px; // arbitrary?
476
+ background-color: $custom-range-track-bg;
477
+ @include border-radius($custom-range-track-border-radius);
478
+ }
479
+
480
+ &:disabled {
481
+ &::-webkit-slider-thumb {
482
+ background-color: $custom-range-thumb-disabled-bg;
483
+ }
484
+
485
+ &::-webkit-slider-runnable-track {
486
+ cursor: default;
487
+ }
488
+
489
+ &::-moz-range-thumb {
490
+ background-color: $custom-range-thumb-disabled-bg;
491
+ }
492
+
493
+ &::-moz-range-track {
494
+ cursor: default;
495
+ }
496
+
497
+ &::-ms-thumb {
498
+ background-color: $custom-range-thumb-disabled-bg;
499
+ }
500
+ }
501
+ }
502
+
503
+ .custom-control-label::before,
504
+ .custom-file-label,
505
+ .custom-select {
506
+ @include transition($custom-forms-transition);
507
+ }
@@ -0,0 +1,191 @@
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
+ @each $breakpoint in map-keys($grid-breakpoints) {
37
+ @include media-breakpoint-up($breakpoint) {
38
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
39
+
40
+ .dropdown-menu#{$infix}-right {
41
+ right: 0;
42
+ left: auto;
43
+ }
44
+ }
45
+ }
46
+
47
+ @each $breakpoint in map-keys($grid-breakpoints) {
48
+ @include media-breakpoint-up($breakpoint) {
49
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
50
+
51
+ .dropdown-menu#{$infix}-left {
52
+ right: auto;
53
+ left: 0;
54
+ }
55
+ }
56
+ }
57
+
58
+ // Allow for dropdowns to go bottom up (aka, dropup-menu)
59
+ // Just add .dropup after the standard .dropdown class and you're set.
60
+ .dropup {
61
+ .dropdown-menu {
62
+ top: auto;
63
+ bottom: 100%;
64
+ margin-top: 0;
65
+ margin-bottom: $dropdown-spacer;
66
+ }
67
+
68
+ .dropdown-toggle {
69
+ @include caret(up);
70
+ }
71
+ }
72
+
73
+ .dropright {
74
+ .dropdown-menu {
75
+ top: 0;
76
+ right: auto;
77
+ left: 100%;
78
+ margin-top: 0;
79
+ margin-left: $dropdown-spacer;
80
+ }
81
+
82
+ .dropdown-toggle {
83
+ @include caret(right);
84
+ &::after {
85
+ vertical-align: 0;
86
+ }
87
+ }
88
+ }
89
+
90
+ .dropleft {
91
+ .dropdown-menu {
92
+ top: 0;
93
+ right: 100%;
94
+ left: auto;
95
+ margin-top: 0;
96
+ margin-right: $dropdown-spacer;
97
+ }
98
+
99
+ .dropdown-toggle {
100
+ @include caret(left);
101
+ &::before {
102
+ vertical-align: 0;
103
+ }
104
+ }
105
+ }
106
+
107
+ // When enabled Popper.js, reset basic dropdown position
108
+ // stylelint-disable-next-line no-duplicate-selectors
109
+ .dropdown-menu {
110
+ &[x-placement^="top"],
111
+ &[x-placement^="right"],
112
+ &[x-placement^="bottom"],
113
+ &[x-placement^="left"] {
114
+ right: auto;
115
+ bottom: auto;
116
+ }
117
+ }
118
+
119
+ // Dividers (basically an `<hr>`) within the dropdown
120
+ .dropdown-divider {
121
+ @include nav-divider($dropdown-divider-bg);
122
+ }
123
+
124
+ // Links, buttons, and more within the dropdown menu
125
+ //
126
+ // `<button>`-specific styles are denoted with `// For <button>s`
127
+ .dropdown-item {
128
+ display: block;
129
+ width: 100%; // For `<button>`s
130
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
131
+ clear: both;
132
+ font-weight: $font-weight-normal;
133
+ color: $dropdown-link-color;
134
+ text-align: inherit; // For `<button>`s
135
+ white-space: nowrap; // prevent links from randomly breaking onto new lines
136
+ background-color: transparent; // For `<button>`s
137
+ border: 0; // For `<button>`s
138
+
139
+ &:first-child {
140
+ @include border-top-radius($dropdown-inner-border-radius);
141
+ }
142
+
143
+ &:last-child {
144
+ @include border-bottom-radius($dropdown-inner-border-radius);
145
+ }
146
+
147
+ @include hover-focus {
148
+ color: $dropdown-link-hover-color;
149
+ text-decoration: none;
150
+ @include gradient-bg($dropdown-link-hover-bg);
151
+ }
152
+
153
+ &.active,
154
+ &:active {
155
+ color: $dropdown-link-active-color;
156
+ text-decoration: none;
157
+ @include gradient-bg($dropdown-link-active-bg);
158
+ }
159
+
160
+ &.disabled,
161
+ &:disabled {
162
+ color: $dropdown-link-disabled-color;
163
+ pointer-events: none;
164
+ background-color: transparent;
165
+ // Remove CSS gradients if they're enabled
166
+ @if $enable-gradients {
167
+ background-image: none;
168
+ }
169
+ }
170
+ }
171
+
172
+ .dropdown-menu.show {
173
+ display: block;
174
+ }
175
+
176
+ // Dropdown section headers
177
+ .dropdown-header {
178
+ display: block;
179
+ padding: $dropdown-padding-y $dropdown-item-padding-x;
180
+ margin-bottom: 0; // for use with heading elements
181
+ font-size: $font-size-sm;
182
+ color: $dropdown-header-color;
183
+ white-space: nowrap; // as with > li > a
184
+ }
185
+
186
+ // Dropdown text
187
+ .dropdown-item-text {
188
+ display: block;
189
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
190
+ color: $dropdown-link-color;
191
+ }